• Nenhum resultado encontrado

Detecção e classificação de múltiplos componentes em linha de montagem automotiva usando deep learning

N/A
N/A
Protected

Academic year: 2021

Share "Detecção e classificação de múltiplos componentes em linha de montagem automotiva usando deep learning"

Copied!
62
0
0

Texto

(1)

MURIEL MAZZETTO

DETECC

¸ ˜

AO E CLASSIFICAC

¸ ˜

AO DE M ´

ULTIPLOS

COMPONENTES EM LINHA DE MONTAGEM

AUTOMOTIVA USANDO DEEP LEARNING

DISSERTAC

¸ ˜

AO

PATO BRANCO

(2)

DETECC

¸ ˜

AO E CLASSIFICAC

¸ ˜

AO DE M ´

ULTIPLOS

COMPONENTES EM LINHA DE MONTAGEM

AUTOMOTIVA USANDO DEEP LEARNING

Disserta¸c˜ao apresentada ao Programa de P´ os-gradua¸c˜ao em Engenharia El´etrica da Univer-sidade Tecnol´ogica Federal do Paran´a Cˆampus Pato Branco, como requisito parcial para ob-ten¸c˜ao do t´ıtulo de Mestre em Engenharia El´etrica.

Orientador: Prof. Dr. Marcelo Teixeira

Co-orientador: Prof. Dr. Dalcimar Casanova

PATO BRANCO

(3)

Ficha Catalográfica elaborada por Suélem Belmudes Cardoso CRB9/1630 Biblioteca da UTFPR Campus Pato Branco

Detecção e classificação de múltiplos componentes em linha de montagem automotiva usando deep learning / Muriel Mazzetto. -- 2019.

62 f. : il. ; 30 cm

Orientador: Prof. Dr. Marcelo Teixeira Coorientador: Prof. Dr. Dalcimar Casanova

Dissertação (Mestrado) - Universidade Tecnológica Federal do Paraná. Programa de Pós-Graduação em Engenharia Elétrica. Pato Branco, PR, 2019.

Inclui bibliografia.

1. Visão por computador. 2. Processamento de imagens. 3. Aprendizado do computador. 4. Redes neurais (Computação). I. Teixeira, Marcelo, orient.II. Casanova, Dalcimar, coorient. III. Universidade Tecnológica Federal do Paraná. Programa de Pós-Graduação em Engenharia Elétrica. IV. Título.

(4)

TERMO DE APROVAÇÃO Título da Dissertação n.° 074

Detecção e Classificação de Múltiplos Componentes em Linha de Montagem Automotiva Usando Deep Learning

por

Muriel Mazzetto

Dissertação apresentada às doze horas e trinta minutos do dia vinte e um de novembro de dois mil e dezenove, como requisito parcial para obtenção do título de MESTRE EM ENGENHARIA ELÉTRICA, do Programa de Pós-Graduação em Engenharia Elétrica – Universidade Tecnológica Federal do Paraná, Câmpus Pato Branco. O candidato foi arguido pela Banca Examinadora composta pelos professores abaixo assinados. Após deliberação, a Banca Examinadora considerou o trabalho APROVADO.

Banca examinadora:

Prof. Dr. Dalcimar Casanova

(Coorientador) UTFPR/PB

Prof. Dr. Yuri Kaszubowski Lopes

UTFPR/DV

Prof. Dr. André Luiz Brun

Unioeste/CVL

Homologado por:

Prof. Dr. Gustavo Weber Denardin

Coordenador do Programa de Pós-Graduação em Engenharia Elétrica - PPGEE/UTFPR

______________________________

Prof. Dr. Pablo Gautério Cavalcanti

(5)

MAZZETTO, Muriel. DETECC¸ ˜AO E CLASSIFICAC¸ ˜AO DE M ´ULTIPLOS COMPO-NENTES EM LINHA DE MONTAGEM AUTOMOTIVA USANDO DEEP LEARNING . 62 f. Disserta¸c˜ao – Programa de P´os-gradua¸c˜ao em Engenharia El´etrica, Universidade Tecnol´ogica Federal do Paran´a. Pato Branco, 2019.

O processo de produ¸c˜ao industrial capaz de produzir simultaneamente m´ultiplos tipos de produtos sobre a mesma linha de fabrica¸c˜ao define um modelo industrial denominado de manufatura flex´ıvel. Um exemplo de manufatura flex´ıvel ´e o da ind´ustria automotiva, que fabrica diferentes modelos de ve´ıculos sobre a mesma planta, cada um composto por um conjunto pr´oprio de componentes. Nesse tipo de ambiente, ´e comum que os conjuntos de pe¸cas sejam inicialmente separados por operadores humanos para, posteriormente, serem manipulados por robˆos. Como essa evolu¸c˜ao depende da percep¸c˜ao humana, passa a ser um procedimento suscet´ıvel a erros de conformidade, situa¸c˜ao em que elementos de manu-fatura podem n˜ao pertencer ao mesmo modelo do produto fabricado. Tal tarefa passou, recentemente, a ser complementada por percep¸c˜ao artificial advinda de sistemas de vis˜ao computacional (SVCs), que s˜ao compostos por cˆamera e um computador embarcado, para aquisi¸c˜ao, processamento e classifica¸c˜ao de imagens. Esses sistemas podem ser utilizados para verificar poss´ıveis defeitos e atestar sobre a conformidade ou n˜ao de componentes nas linhas de produ¸c˜ao. Apesar da relevˆancia pr´atica, a eficiˆencia de um SVC convencional depende do controle da ilumina¸c˜ao, enclausuramento e parada da linha para a fixa¸c˜ao das pe¸cas, o que encarece a solu¸c˜ao e reverte grande parte dos seus benef´ıcios. Al´em disso, os m´etodos tradicionais de vis˜ao possuem etapas de parametriza¸c˜ao manuais dependen-tes de um especialista. Recentemente, na literatura tem se abordado m´etodos baseados em deep learning (DL) para contornar esses problemas. Essa abordagem busca imitar a capacidade humana de aprendizado e reconhecimento de padr˜oes, atrav´es da abstra¸c˜ao de caracter´ısticas de um conjunto de imagens. Essa propriedade tende a agregar robustez aos SVCs e reduzir a necessidade de controle do ambiente e da percep¸c˜ao humana para defini¸c˜ao de parˆametros. Este trabalho prop˜oe uma alternativa baseada em deep learning, de aprendizado supervisionado, para a detec¸c˜ao e classifica¸c˜ao de m´ultiplos componentes em linhas de montagem automotiva flex´ıvel supervisionado, para detec¸c˜ao de objetos. Quando supervisionados, esses algoritmos requerem um conjunto de imagens como base de treino. Al´em das imagens, devem ser identificadas a regi˜ao e a classe de cada objeto. Essa identifica¸c˜ao consiste apenas em definir uma regi˜ao que delimite o objeto alvo e sua respectiva classe. A solu¸c˜ao n˜ao requer interven¸c˜oes no ambiente operacional, tampouco a parada da linha de produ¸c˜ao para coleta e an´alise de imagens, agregando eficiˆencia e efic´acia ao processo produtivo sem depender excessivamente de percep¸c˜ao humana. A abordagem ´e ilustrada por meio de dois estudos de caso conduzidos sobre uma planta real de montagem de ve´ıculos.

Palavras-chave: Detec¸c˜ao e Classifica¸c˜ao de M´ultiplos Objetos, Deep Learning, Vis˜ao Computacional, Inspe¸c˜ao Visual.

(6)

Programa de P´os-gradua¸c˜ao em Engenharia El´etrica, Universidade Tecnol´ogica Federal do Paran´a. Pato Branco, 2019.

The industrial production process capable of simultaneously producing multiple types of products on the same manufacturing line defines an industrial model called flexible manu-facturing. An example of flexible manufacturing is observed in the automotive industry, which manufactures different car models on the same plant, each composed of its own set of components. In this type of environment, it is common for part sets to be initially separated by human operators and subsequently manipulated by robots. As this process depends on human perception, it is susceptible to errors of conformity, a situation in which elements of manufacture may not belong to the same model of the manufactured product. This task has recently been complemented by artificial perception from computer vision systems (CSVs), camera-based systems and an embedded computer for image acquisition, processing and classification. These systems can be used to check for defects and to attest to the conformity of the components. Despite the practical relevance, the efficiency of a conventional CSV depends on the control of lighting, closure and stop of the line for the fixation of the parts, which makes the solution expensive and reverses most of its benefits. In addition, traditional methods have manual parameter assignment steps dependent on a specialist. Recently, the literature has addressed methods based on deep learning (DL) to overcome these problems. This approach seeks to imitate the human capacity for lear-ning and pattern recognition, through the abstraction of characteristics of a set of images. This feature adds robustness to SVC, reducing the need for environmental control and human perception for parameter definition. This paper proposes a supervised learning deep text alternative for detecting multiple components in supervised flexible automotive assembly lines for object detection and classification. When supervised, these algorithms require a set of images as a training base. In addition to the images, the region and class of each object must be identified. This identification consists only of defining a region that delimits the target object and its respective class. Still, the solution does not require interventions in the operating environment, neither the stop of the production line for image collection and analysis. The approach is illustrated by two case studies conducted on an actual vehicle assembly plant.

Keywords: Multiple Object Detection and Classification, Deep Learning, Computer Vision, Visual Inspection.

(7)

FIGURA 1 Imagem capturada por sistema de vis˜ao convencional . . . 12 –

FIGURA 2 Exemplos de pr´e-processamento de imagens . . . 16 –

FIGURA 3 Exemplo de gradiente da intensidade de brilho . . . 16 –

FIGURA 4 Exemplo de foto compara¸c˜ao do SVC da Cognex . . . 17 –

FIGURA 5 Exemplo de compara¸c˜ao de contornos do SVC da Keyence . . . 17 –

FIGURA 6 SVC multiespectral Keyence . . . 18 –

FIGURA 7 Neurˆonio Perceptron . . . 21 –

FIGURA 8 Fun¸c˜oes de ativa¸c˜ao . . . 22 –

FIGURA 9 Exemplo de uma RNA . . . 22 –

FIGURA 10 Exemplo de convolu¸c˜ao com cross-correlation . . . 27 –

FIGURA 11 Exemplo de pooling . . . 28 –

FIGURA 12 Exemplo da arquitetura de uma CNN . . . 28 –

FIGURA 13 Modelos de DL para detec¸c˜ao de objetos . . . 29 –

FIGURA 14 Exemplo de execu¸c˜ao do YOLO . . . 30 –

FIGURA 15 Compara¸c˜ao entre ML e DL . . . 32 –

FIGURA 16 Exemplo de anchor boxes . . . 37 –

FIGURA 17 Exemplos de IoU . . . 38 –

FIGURA 18 Arquitetura do SSD 300 . . . 39 –

FIGURA 19 Filtros de extra¸c˜ao da rede MobileNet . . . 40 –

FIGURA 20 Tipos de kit de disco e pin¸ca de freio . . . 43 –

FIGURA 21 Convergˆencia do aprendizado para detec¸c˜ao do disco e pin¸ca de freio 44 –

FIGURA 22 M´etricas para disco e pin¸ca de freio . . . 45 –

FIGURA 23 Amostras de imagens n˜ao classificadas . . . 46 –

FIGURA 24 Exemplo da detec¸c˜ao de disco e pin¸ca em v´ıdeo . . . 47 –

FIGURA 25 Amostra de imagens das bases de treino e teste do sensor . . . 49 –

FIGURA 26 Convergˆencia do aprendizado para o modelo de detec¸c˜ao de sensor 49 –

FIGURA 27 M´etricas para o sensor de detona¸c˜ao . . . 50 –

(8)

TABELA 3 Avalia¸c˜ao da detec¸c˜ao de discos e pin¸cas em v´ıdeos . . . 48 –

(9)

AGV Automatic Guided Vehicle

API Application Programming Interface BG Brightness Gradient

BP Back Propagation CG Color Gradient

CNN Convolutional Neural Network DL Deep Learning

FN False Negative FP False Positive

GMDH Group Method of Data Handling IA Inteligˆencia Artificial

IoU Intersection Over Union ML Machine Learning

NMS Non Maximum Supression ReLU Rectified Linear Unit RNA Rede Neural Artificial

RMSprop Root Mean Square Propogation RPN Region Proposal Networks SSD Single Shot Detection

SVC Sistema de Vis˜ao Computacional SGD Stochastic Gradient Descent SVM Support Vector Machine TG Texture Gradient

TP True Positive

(10)

2.1 SISTEMAS DE VIS ˜AO COMPUTACIONAL . . . 15

2.2 APRENDIZAGEM DE M ´AQUINA . . . 18

2.3 REDE NEURAL ARTIFICIAL . . . 20

2.4 DEEP LEARNING . . . 23

2.5 SVC COM DEEP LEARNING . . . 25

2.5.1 Convolu¸c˜ao . . . 25

2.5.2 Pooling . . . 26

2.5.3 Rede Neural de Convolu¸c˜ao . . . 28

2.6 COMPARAC¸ ˜AO ENTRE MACHINE LEARNING E DEEP LEARNING . . . 32

2.7 APLICAC¸ ˜OES EM SISTEMAS INDUSTRIAIS . . . 33

3 ARQUITETURA DE DEEP LEARNING PROPOSTA . . . 36

3.1 DESCRIC¸ ˜AO DA ARQUITETURA . . . 36

3.2 VALIDAC¸ ˜AO DA DETECC¸ ˜AO DE OBJETOS . . . 41

4 EXPERIMENTOS EM LINHA DE MONTAGEM AUTOMOTIVA . 42 4.1 DISCO E PINC¸ A DE FREIO . . . 42

4.2 IDENTIFICAC¸ ˜AO DE PADR ˜OES EM MOTORES . . . 48

5 CONCLUS ˜AO . . . 52

(11)

1 INTRODUC¸ ˜AO

Um sistema de manufatura ´e definido como um processo de produ¸c˜ao industrial que transforma materiais em produtos, integrando pessoas, equipamentos e tecnologia (ESMAEILIAN et al., 2016a). Quando esse sistema ´e sens´ıvel ao contexto, ou seja, quando detecta e reage `as mudan¸cas do ch˜ao de f´abrica, ´e definido como um sistema de manufatura flex´ıvel (SILVA et al., 2017; DRATH; HORCH, 2014). Assim, a manufatura flex´ıvel define um modelo industrial capaz de produzir simultaneamente m´ultiplos tipos de produtos sobre a mesma linha de fabrica¸c˜ao (ALSZER; KRYSTEK, 2018). Quando associados `as tecnologias computacionais, como, por exemplo, Big Data, inteligˆencia artificial (IA) e Internet das Coisas, produzem m´etodos avan¸cados para a ind´ustria do futuro (WANG et al., 2018; SALDIVAR et al., 2015; YANG et al., 2016; BASILE et al., 2016; YOUSIF, 2016).

Um exemplo de manufatura flex´ıvel ´e observado na ind´ustria automotiva, que fabrica diferentes modelos de carros sobre a mesma planta e cada um ´e composto por um conjunto pr´oprio de componentes (BOUDELLA et al., 2018). Nesse tipo de ambiente, ´e comum que os conjuntos de pe¸cas sejam inicialmente separados por operadores humanos para, posteriormente, serem manipulados por robˆos (BOUDELLA et al., 2018). Como esse processo depende da percep¸c˜ao humana, ele passa a ser um procedimento suscet´ıvel a erros de conformidade, situa¸c˜ao em que elementos de manufatura podem n˜ao pertencer ao modelo do produto fabricado (CAPUTO et al., 2015).

No sentido de preservar a consistˆencia da montagem durante a fabrica¸c˜ao flex´ıvel, sem depender em excesso da percep¸c˜ao humana, pode-se adotar tecnologias em sensore-amento (HARB; MAKHOUL, 2018; OTA et al., 2018), leitores ´opticos (BUDELMANN, 2018; LEAL-JUNIOR et al., 2018), RFIDs (XU et al., 2018), entre outros (LI et al., 2018; LUCKOW et al., 2016). Outra abordagem que vem ganhando espa¸co no meio industrial prop˜oe o uso de sistemas de vis˜ao computacional (SVC) (NEOGI et al., 2014; PRAKASA et al., 2015; SEMENIUTA et al., 2016; WEIXIN et al., 2017).

(12)

aplicados na ind´ustria s˜ao foto compara¸c˜ao e compara¸c˜ao de contornos (KEYENCE, 2019; COGNEX, 2019; WENGLOR, 2019). Na primeira, cada nova imagem recebe um trata-mento nos n´ıveis de brilho e contraste, comparada com um gabarito e validada de acordo com a similaridade; na segunda, um processamento digital ´e realizado para extrair os contornos com maior contraste de cada imagem, para serem comparados com um padr˜ao de contornos representativos do objeto que deve ser identificado (SZELISKI, 2010).

Um exemplo de uma aplica¸c˜ao de SVC ´e apresentado na Figura 1, que avalia a conformidade dos discos de freio em uma ind´ustria automotiva, por meio da detec¸c˜ao de contornos.

(a) Disco de freio aceito pelo sistema de vis˜ao.

(b) Disco de freio rejeitado pelo sis-tema de vis˜ao.

Figura 1: Imagem capturada por sistema de vis˜ao convencional, para detectar in-conformidades no conjunto do disco de freio.

Note que, quando exposto `a luz uniforme, o objeto ´e detectado, como exibido na Figura 1 (a). Quando a ilumina¸c˜ao sofre alguma interferˆencia, por reflexo, sombra ou sobreposi¸c˜ao de frequˆencias luminosas, a parametriza¸c˜ao de n´ıveis de brilho e contraste ´e afetada. A Figura 1 (b), por exemplo, mostra um disco de freio rejeitado erronea-mente pelo sistema de vis˜ao, consequˆencia das sombras no disco (´areas salientadas pelos retˆangulos).

Uma abordagem recente, para aprimorar os SVCs, se baseia em machine learning (ML). ML ´e uma ´area de estudos que busca imitar a capacidade humana de reconheci-mento de padr˜oes e execu¸c˜ao de tarefas, com base em um aprendizado, sem a necessidade da defini¸c˜ao de a¸c˜oes espec´ıficas (BISHOP, 2006). Essa abordagem disponibiliza dife-rentes formas de pr´e-processamento para identificar caracter´ısticas e padr˜oes (NEOGI et al., 2014). Por´em, necessita de um especialista para definir o conjunto de m´etodos mais

(13)

adequados para realizar a identifica¸c˜ao e extra¸c˜ao de caracter´ısticas, que depende de cada aplica¸c˜ao.

No contexto de manufatura flex´ıvel, a configura¸c˜ao dos sistemas pode mudar ra-pidamente a produ¸c˜ao de um produto para outro, ou ainda incluir novos produtos (BOU-DELLA et al., 2018). Nesse caso, se o SVC utiliza ML, ´e necess´ario realizar novamente o processo de defini¸c˜ao do m´etodo de extra¸c˜ao de caracter´ısticas e do aprendizado. Ainda, um novo produto pode apresentar varia¸c˜oes de textura que interferem nas configura¸c˜oes da cˆamera para os produtos que j´a estavam sendo manufaturados (WANG et al., 2018). Assim, a defini¸c˜ao manual das caracter´ısticas pode acarretar em inspe¸c˜ao insuficiente ou insatisfat´oria, seja em cen´arios com objetos complexos na imagem ou em processos de produ¸c˜ao dinˆamica (SCHOLZ-REITER et al., 2012).

Al´em disso, a eficiˆencia de um SVC comercial depende sobretudo do controle adequado de ilumina¸c˜ao, enclausuramento e parada da linha para a fixa¸c˜ao de pe¸cas, o que encarece a solu¸c˜ao, principalmente por aumentar o tempo m´aximo de opera¸c˜ao sobre uma dada pe¸ca (chamado de tempo de ciclo), revertendo assim grande parte dos benef´ıcios do uso desse tipo de abordagem na ind´ustria.

Para contornar esses problemas, SVCs recentes vem agregando t´ecnicas de deep learning (DL) (ZHAO et al., 2019; GOODFELLOW et al., 2016). Em ambientes fabris, o uso de DL ainda ´e recente, estando ele mais relacionado `a an´alise de dados em grandes reposit´orios (LI et al., 2018), como uma ferramenta para extrair informa¸c˜oes e correlacio-nar os dados de produ¸c˜ao (WANG et al., 2018). Em linhas de produ¸c˜ao, especificamente, aplica¸c˜oes envolvendo DL se limitam basicamente `a an´alise do acabamento de produtos (ESSID et al., 2018; TELLO et al., 2018; TAO et al., 2018), evidenciando assim uma ampla lacuna de contribui¸c˜oes atreladas `a integra¸c˜ao de t´ecnicas de DL ao controle ope-racional de processos e produtos em ch˜ao de f´abrica. Esse ser´a, ent˜ao, o foco do presente trabalho.

Acredita-se que esse tipo de aplica¸c˜ao possui potencial para impactos s´olidos nos processos fabris. Note que o sucesso da an´alise de padr˜oes usando SVCs depende, sobretudo, da limita¸c˜ao do campo de vis˜ao da imagem a ser avaliada. Ou seja, o resultado tende a ser mais preciso quando o campo de vis˜ao engloba uma ´area ampliada de imagem, coletada, por exemplo, por meio de microsc´opios industriais. Na pr´atica, isso implica que s˜ao necess´arias v´arias capturas para que se avalie o componente como um todo, revertendo os ganhos possivelmente obtidos com o sucesso do reconhecimento de padr˜oes.

(14)

et al., 2019), e ser´a mostrado que a proposta possibilita a cria¸c˜ao de SVCs mais flex´ıveis e robustos. Dentre os benef´ıcios da proposta, citam-se:

• Redu¸c˜ao das etapas de defini¸c˜oes manuais e, portanto, da dependˆencia de um espe-cialista;

• Redu¸c˜ao das necessidades de controle de ambiente, como, por exemplo, indexa¸c˜ao de pe¸cas e ilumina¸c˜ao dedicada;

• Preserva¸c˜ao do tempo de ciclo da produ¸c˜ao, pois o sistema proposto ´e capaz de identificar pe¸cas mesmo em movimento, como sobre uma esteira por exemplo;

• Detec¸c˜ao de m´ultiplos objetos na mesma imagem e em tempo real1.

Esse trabalho est´a estruturado da seguinte forma: o Cap´ıtulo 2 exibe os conceitos necess´arios para compreender a proposta; o Cap´ıtulo 3 mostra a arquitetura proposta; o Cap´ıtulo 4 exibe e discute os experimentos realizados na linha de montagem automotiva; e o Cap´ıtulo 5 apresenta uma discuss˜ao acerca dos resultados alcan¸cados pela proposta.

1Nesse trabalho, o termo tempo real ´e associado a um sistema que garante uma resposta dentro de

um tempo definido, ou deadline (HATLEY; PIRBHAI, 2013). Ser´a assumido, sob o ponto de vista pr´atico-industrial, que esse deadline seja de at´e 1 segundo.

(15)

2 CONCEITOS PRELIMINARES

Esse cap´ıtulo apresenta os conceitos de sistemas de vis˜ao computacional, machine learning e deep learning. Al´em disso, s˜ao exibidos trabalhos relacionados ao tema dessa disserta¸c˜ao.

2.1 SISTEMAS DE VIS ˜AO COMPUTACIONAL

Os SVCs visam extrair informa¸c˜oes de dados multidimensionais, normalmente de imagens, na tentativa de reproduzir a percep¸c˜ao visual humana (SZELISKI, 2010). Algumas etapas t´ıpicas desses sistemas s˜ao:

• Aquisi¸c˜ao: coleta de imagens, normalmente por cˆameras. Aqui as defini¸c˜oes da cˆamera (sensor de captura, lentes, etc.) e do ambiente (ilumina¸c˜ao, vibra¸c˜ao, etc.) influenciam no resultado final;

• Pr´e-processamento: remapeamento de coordenadas, redu¸c˜ao de ru´ıdos e parame-triza¸c˜ao do brilho, contraste e da satura¸c˜ao de cores. Alguns exemplos s˜ao mostra-dos na Figura 2;

• Extra¸c˜ao de caracter´ısticas: processamento matem´atico para evidenciar as carac-ter´ısticas da imagem. Podem ser utilizadas transforma¸c˜oes na representa¸c˜ao da imagem com, por exemplo, a aplica¸c˜ao da transformada de Fourier, de filtros de sinais, de detec¸c˜ao de contornos e de detec¸c˜ao de textura;

• Segmenta¸c˜ao: sele¸c˜ao das regi˜oes de interesse da imagem, ou seja, regi˜oes em que as caracter´ısticas evidenciadas s˜ao relevantes;

• Classifica¸c˜ao: reconhecimento de padr˜oes. Normalmente, avaliam-se as semelhan¸cas entre as regi˜oes de interesse e os gabaritos pr´e determinados, comparando os valores dos pixels dentro de um limiar de aceita¸c˜ao.

(16)

(a) Imagem original. (b) Altera¸c˜ao no con-traste. (c) Altera¸c˜ao na matiz de cores. (d) Altera¸c˜ao na rota¸c˜ao.

Figura 2: Exemplos de pr´e-processamento de imagens. Fonte: (SZELISKI, 2010)

As duas primeiras etapas, de aquisi¸c˜ao e pr´e-processamento, s˜ao corriqueiras e feitas basicamente da mesma forma para os SVCs convencionais. J´a a etapa de extra¸c˜ao de caracter´ıstica possui mais varia¸c˜oes, sendo a de detec¸c˜ao de contornos o m´etodo mais comum nos softwares comerciais (MARTIN et al., 2004).

Os contornos s˜ao definidos como as fronteiras entre regi˜oes de diferentes cores, intensidades e texturas (SZELISKI, 2010), e uma das formas de estimar a regi˜ao dos contornos utiliza o vetor gradiente da intensidade de brilho. O gradiente ´e um vetor que indica o sentido e a dire¸c˜ao na qual se obt´em o maior incremento poss´ıvel no valor de uma grandeza. A Figura 3 apresenta dois exemplos nos quais a grandeza analisada ´e a intensidade de brilho (tons de cinza), sendo preto o valor mais alto, com os respectivos gradientes representados pelas setas. Nesse caso, o contorno ´e perpendicular aos gradientes de maior magnitude, i. e., nos quais existe a maior altera¸c˜ao de intensidade entre dois pontos (AGGARWAL et al., 2018).

Figura 3: Exemplo de gradiente da intensidade de brilho. Fonte: (WIKIPEDIA, 2019b)

Comercialmente, para diminuir a complexidade do SVC e potencializar seu uso, os m´etodos mais aplicados s˜ao foto compara¸c˜ao e detec¸c˜ao de contornos (COGNEX, 2019;

(17)

KEYENCE, 2019; WENGLOR, 2019), exemplificados pelas Figuras 4 e 5, respectivamente dos SVCs desenvolvidos pela Cognex1 e Keyence2. A Figura 4(a) exibe uma imagem aceita pelo sistema de foto compara¸c˜ao, enquanto que a Figura 4(b) exibe uma imagem rejeitada, em virtude da obstru¸c˜ao parcial de uma das regi˜oes analisadas. J´a a Figura 5(a) exibe uma compara¸c˜ao de contornos aceita, enquanto que a Figura 5(b) mostra uma imagem rejeitada, cujo o contorno est´a fora do padr˜ao do gabarito.

(a) Imagem aceita. (b) Imagem rejeitada.

Figura 4: Exemplo de foto compara¸c˜ao do SVC da Cognex.

(a) Imagem aceita. (b) Imagem rejeitada.

Figura 5: Exemplo de compara¸c˜ao de contornos do SVC da Keyence.

Nesse caso, para diminuir a interferˆencia do ambiente, o sistema de aquisi¸c˜ao ´e complementado com equipamentos especiais de ilumina¸c˜ao. A Figura 6 exibe um hardware de SVC comercializado pela Keyence (2019), que utiliza uma cˆamera monocrom´atica com um sistema de ilumina¸c˜ao por quadrantes e de m´ultiplos espectros. Nesse sistema, a imagem final ´e composta por fotos capturadas sob 8 espectros de ilumina¸c˜ao em 4 pontos de incidˆencia diferentes, totalizando 32 aquisi¸c˜oes. Consequentemente, esse sistema de ilumina¸c˜ao limita a distˆancia operacional e o campo de vis˜ao da cˆamera.

1A Cognex Corporation ´e um fabricante americano de sistemas de vis˜ao de m´aquina, software e sensores

usados na fabrica¸c˜ao automatizada para inspecionar e identificar pe¸cas, detectar defeitos, verificar a montagem do produto e guiar robˆos de montagem (COGNEX, 2019).

2A Keyence ´e uma fabricante de sensores, sistemas de vis˜ao por m´aquina, instrumentos de medi¸ao,

(18)

Figura 6: SVC multiespectral Keyence. Fonte: (KEYENCE, 2019)

Apesar da relevˆancia pr´atica, os SVCs convencionais apresentam algumas li-mita¸c˜oes, como, por exemplo, a defini¸c˜ao manual do gabarito para classifica¸c˜ao, dos m´etodos de pr´e-processamento e dos ajustes de ilumina¸c˜ao, tarefas que dependem de um especialista para que os parˆametros sejam configurados adequadamente para cada aplica¸c˜ao. Outra limita¸c˜ao desses sistemas est´a na etapa de classifica¸c˜ao, pois o limiar ´e definido de acordo com a percep¸c˜ao humana, exigindo experiˆencia na aplica¸c˜ao. Esses aspectos podem ser contornados por sistemas de aprendizado, apresentados a seguir.

2.2 APRENDIZAGEM DE M ´AQUINA

Uma alternativa para substituir os m´etodos de reconhecimento de padr˜ao con-vencionais, puramente comparativos, se baseia no uso de inteligˆencia artificial (IA). Esse conceito envolve uma coletˆanea de m´etodos voltados para modelar e imitar a inteligˆencia humana, no sentido de otimizar alguma an´alise sem a necessidade de compreens˜ao pro-funda do seu comportamento f´ısico (WANG et al., 2018). As primeiras metodologias de IA surgiram da uni˜ao dos estudos em ciˆencia da computa¸c˜ao e m´etodos estat´ısticos, e fo-ram enquadradas na categoria de ML, ou aprendizagem de m´aquina. Define-se ML como o conjunto de algoritmos e modelos estat´ısticos utilizados para executar uma tarefa sem a programa¸c˜ao de instru¸c˜oes espec´ıficas (BISHOP, 2006).

Segundo (BISHOP, 2006), as abordagens de ML podem ser divididas de acordo com seu mecanismo de aprendizado, sendo:

(19)

• Supervisionado, em que um conjunto de dados classificado manualmente, chamado base de treino, ´e utilizado para ensinar um modelo a detectar diferen¸cas entre classes ou valores;

• N˜ao supervisionado, que aprendem diretamente de dados n˜ao catalogados, obser-vando similaridades entre os dados para agrup´a-los;

• Semi supervisionado, que utilizam para treino uma quantidade de dados n˜ao cata-logados maior que a quantidade de dados catacata-logados;

• Refor¸co, que otimiza uma fun¸c˜ao para uma tarefa espec´ıfica, recebendo uma ava-lia¸c˜ao para cada a¸c˜ao como um indicador do rumo correto do aprendizado.

Dentre as abordagens consideradas comuns na ´area de ML est˜ao: ´arvores de decis˜ao (SAFAVIAN; LANDGREBE, 1991), redes bayesianas (FRIEDMAN et al., 1997), regress˜ao log´ıstica (HOSMER Jr et al., 2013), support vector machine (SVM) (SUYKENS; VANDEWALLE, 1999) e deep learning (DL) (GOODFELLOW et al., 2016). Em especial, a abordagem por DL ´e de interesse particular desse trabalho, e ser´a discutida em detalhes nas pr´oximas se¸c˜oes, em cima das caracter´ısticas e lacunas do ML discutidos aqui.

Ainda que os m´etodos supervisionados e semi supervisionados de DL, especifi-camente, necessitem de uma classifica¸c˜ao manual para criar a base de dados, essa tarefa consiste apenas em rotular uma imagem com o tipo de classe que ela representa, sem a necessidade de evidenciar caracter´ısticas espec´ıficas (ESSID et al., 2018).

O diferencial que os m´etodos de ML trazem para o fluxo de um SVC convenci-onal ´e a altera¸c˜ao das etapas de extra¸c˜ao de caracter´ısticas, detec¸c˜ao e classifica¸c˜ao. As abordagens de ML consistem em, inicialmente, realizar a transforma¸c˜ao da representa¸c˜ao de conhecimento da imagem (i.e. representa¸c˜ao em frequˆencias, estat´ısticas, etc.), e ent˜ao usar esses dados como caracter´ısticas de entrada para um algoritmo de classifica¸c˜ao (SVM, regress˜ao logistica, etc.). Por´em, ainda ´e necess´ario que um especialista defina a melhor forma de representa¸c˜ao da imagem e, posteriormente, a forma de extra¸c˜ao das carac-ter´ısticas, que dependem de cada aplica¸c˜ao. ´E nesse contexto que surgem os sistemas baseados em DL, que visam tornar tais tarefas independentes da percep¸c˜ao humana.

As redes neurais artificiais (RNAs) s˜ao o n´ucleo das abordagens por DL, apre-sentadas na pr´oxima se¸c˜ao. Buscando uma solu¸c˜ao que n˜ao exija conhecimento de um especialista para manuseio, seja da aplica¸c˜ao ou da manipula¸c˜ao da imagem, esse trabalho se baseia em uma alternativa definida pela abordagem de DL.

(20)

primeiro ´e necess´ario entender os conceitos de uma Rede Neural Artificial (RNA). Os estudos sobre RNAs remontam `a d´ecada de 40, conforme ilustra a Tabela 1, que sumariza as tendˆencias de desenvolvimento e as metodologias t´ıpicas dessa ´area.

Tabela 1: Progresso e tendˆencias de desenvolvimento de RNAs

Linha do Tempo Metodologia Referˆencia Per´ıodo inicial

(1940)

MP model (MCCULLOCH; PITTS, 1943) Hebb rule (SAMUEL, 1988)

Primeiro frenesim (1960)

Perceptron (ROSENBLATT, 1960) Adaptative Linear Unit (WIDROW; HOFF, 1960) Multi-Layer Perceptron (IVAKHNENKO; LAPA, 1967) Segundo frenesim

(1980)

Hopfield network circuit (TANK; HOPFIELD, 1987) Back Propagation (WERBOS et al., 1990) Boltzmann Machine (SUSSMANN, 1988) Restricted Boltzmann Machine (SMOLENSKY, 1986) Auto Encoder (RUMELHART et al., 1986)

Terceiro frenesim (2000)

Recurrent Neural Network (HIHI; BENGIO, 1996)

Long short-term Memory (HOCHREITER; SCHMIDHUBER, 1997) Convolutional Neural Network (LECUN et al., 1998)

Deep Belief Network (HINTON; SALAKHUTDINOV, 2006; HINTON et al., 2006) Deep Auto Encoder (DENG et al., 2010)

Sparse Auto Encoder (POULTNEY et al., 2007; BOUREAU et al., 2008) Deep Boltzmann Machine (SALAKHUTDINOV; HINTON, 2009)

Denosing Auto Encoder (VINCENT et al., 2010) Deep Convolutional Neural Network (KRIZHEVSKY et al., 2012) Generative Adversarial Network (GOODFELLOW et al., 2014) Attention-based LSTM (WANG et al., 2016)

Fonte: Adaptado de (WANG et al., 2018).

Os trabalhos de McCulloch e Pitts (1943) e Samuel (1988) deram origem aos estu-dos de RNA, com pesquisas discutindo o funcionamento estu-dos neurˆonios no c´erebro humano para classifica¸c˜ao. Baseado nessas pesquisas, Rosenblatt (1960) propˆos o primeiro modelo de RNA, chamado perceptron, para simular o aprendizado humano com otimiza¸c˜ao linear. A Figura 7 apresenta um exemplo de neurˆonio perceptron e seus seguintes componentes:

• Entradas: valores num´ericos representados por 1, x1, x2, ..., xm. Normalmente uma

entrada ´e unit´aria e constante;

• Pesos: coeficientes representados por w0, w1, w2, ..., wm. O coeficiente w0 pondera a

entrada constante, denominado de bias;

• Soma: soma ponderada das entradas pelos respectivos coeficientes, representada por Σ gerando o valor num´erico z;

(21)

• Fun¸c˜ao de ativa¸c˜ao: representada por σ, essa fun¸c˜ao transforma a representa¸c˜ao de z em um valor a, mapeado para uma classe bin´aria.

Figura 7: Neurˆonio Perceptron. Fonte: Adaptado de (RASCHKA, 2019)

Ap´os a cria¸c˜ao do perceptron, o trabalho de Widrow e Hoff (1960) propˆos um novo modelo chamado de Adaptative Linear Unit, ou ADALINE, que foi usado em sistemas de previs˜ao do tempo. Esse modelo modifica a fun¸c˜ao de ativa¸c˜ao do perceptron, antes bin´aria, para uma ativa¸c˜ao linear. Por´em, esses modelos apresentam a limita¸c˜ao de lidar apenas com problemas lineares de classifica¸c˜ao (MINSKY; PAPERT, 2017).

Novas implementa¸c˜oes para as c´elulas e fun¸c˜oes de ativa¸c˜ao foram desenvolvidas. Segundo Goodfellow et al. (2016), as fun¸c˜oes de ativa¸c˜ao mais utilizadas s˜ao: step bin´ario (eq. (1)), linear (eq. (2)), na qual c ´e uma constante, sigmoid (eq. (3)) e rectified linear unit (ReLU) (eq. (4)). A Figura 8 exibe o gr´afico de sa´ıda das fun¸c˜oes descritas.

σ(x) =    0, se x < 0; 1, se x ≥ 0. (1) σ(x) = cx. (2) σ(x) = 1 1 + e−x. (3) σ(x) =    0, se x < 0; x, se x ≥ 0. (4)

Para trabalhar com problemas mais complexos e n˜ao lineares, o conceito de RNA surgiu com o trabalho de Ivakhnenko e Lapa (1967), com o encadeamento de neurˆonios

(22)

Figura 8: Fun¸c˜oes de ativa¸c˜ao. Fonte: (WIKIPEDIA, 2019a)

perceptron, de forma que a sa´ıda de uma fun¸c˜ao de ativa¸c˜ao se tornasse a entrada de outra soma. Essa metodologia foi denominada de Multi-Layer Perceptron.

A Figura 9 apresenta um exemplo de uma RNA feed foward, na qual a rede n˜ao forma ciclos com os sinais de entrada e sa´ıda. Nessa imagem, cada v´ertice, ou c´elula, representa a estrutura completa de um neurˆonio, e cada aresta, ou seta, representa um vetor de sinais (entrada e sa´ıda). O termo camada oculta define o conjunto de neurˆonios internos da RNA, ou seja, camadas que n˜ao recebem diretamente a entrada ou que n˜ao geram diretamente a resposta final. As opera¸c˜oes e a sequˆencia das camadas de uma RNA definem sua arquitetura.

Figura 9: Exemplo de uma RNA.

No contexto de m´ultiplas camadas, a fun¸c˜ao de ativa¸c˜ao da camada de sa´ıda deve ser capaz de discretizar o resultado em classes. Alguns m´etodos geram uma distribui¸c˜ao de probabilidade, como, por exemplo, a fun¸c˜ao gaussiana (eq. (5)). Atualmente, ´e bastante comum o uso da fun¸c˜ao de ativa¸c˜ao softmax (eq. (6)), para problemas com mais de trˆes classes (ZHAO et al., 2019). Diferente das demais, a fun¸c˜ao softmax gera um vetor de distribui¸c˜ao de probabilidade para as K classes do sistema. Essa probabilidade determina o grau de confian¸ca da RNA para a classifica¸c˜ao.

(23)

sof tmax(x) = e

xi PK

j=1exj

para i = 1, ..., K. (6)

Das RNAs compostas por v´arias camadas ocultas nasce a sub´area de DL, abor-dada na pr´oxima se¸c˜ao.

2.4 DEEP LEARNING

Deep learning ´e uma parte dos m´etodos de ML baseados em representa¸c˜ao de dados, que consiste em imitar o funcionamento do c´erebro humano no processamento de dado e na cria¸c˜ao de padr˜oes (GOODFELLOW et al., 2016). Tamb´em pode ser definido como o conjunto de RNAs com v´arias camadas ocultas.

O trabalho de Ivakhnenko e Lapa (1967) ´e considerado como o pioneiro nessa ´

area de pesquisa. Por´em, somente em 1971 foi abordado o conceito de aprendizado pro-fundo, com uma rede neural de aprendizado profundo contendo oito camadas e treinada utilizando um conjunto de equa¸c˜oes para otimizar os dados (IVAKHNENKO, 1971). Esse conjunto de equa¸c˜oes ´e denominado Group Method of Data Handling (GMDH) (IVAKH-NENKO, 1968).

Com uma alternativa ao GMDH, Werbos et al. (1990) prop˜oem o algoritmo de Back Propagation (BP). Esse algoritmo consiste em um m´etodo de computar analitica-mente a derivada do erro para cada peso da rede neural, tamb´em chamado de gradiente. O erro ´e definido por uma fun¸c˜ao, denominada de fun¸c˜ao de loss ou fun¸c˜ao de custo.

A minimiza¸c˜ao da fun¸c˜ao de loss consiste em um processo de otimiza¸c˜ao dos parˆametros da rede neural. Os m´etodos de gradiente descendente s˜ao considerados os mais populares como otimizadores para DL, atualizando os pesos no sentido oposto ao gradiente da fun¸c˜ao de custo, ponderados por um coeficiente η que determina o tamanho do passo em dire¸c˜ao ao ponto m´ınimo, denominado de learning rate. Alguns dos m´etodos mais comuns s˜ao Stochastic Gradient Descent (SGD), Momentum, AdaGrad, RMSProp e Adam (GOODFELLOW et al., 2016).

Esse trabalho faz uso do Root Mean Square Propogation (RMSprop) com coefici-ente α de momento, que consiste em um m´etodo com learning rate adaptativo, dividindo por uma m´edia exponencial do quadrado dos gradientes que permite uma convergˆencia r´apida e diminui a chance de divergˆencia (GOODFELLOW et al., 2016). Esse algoritmo se diferencia por aplicar um learning rate diferente para cada parˆametro, levando em

(24)

con-vt = ρvt−1+ (ρ − 1) ∗ gt2. (7) ∆wt= α∆wt−1− η √ vt+  ∗ gt. (8) wt+1= wt+ ∆wt. (9)

Na eq. (7) ´e calculada a m´edia exponencial v do quadrado do gradiente g no tempo t, ponderado pela taxa de decaimento ρ. Esse valor ´e utilizado na eq. (8) dividindo o valor do learning rate inicial η multiplicado pelo gradiente, para calcular a pr´oxima velocidade de passo ∆w. Ainda na eq. (8), ´e utilizado um coeficiente α para considerar o momento relativo ao passo anterior e um valor  para evitar divis˜ao por zero. Por fim, a eq. (9) ´e utilizada para atualizar os parˆametros w.

Algumas fun¸c˜oes comuns para minimiza¸c˜ao s˜ao: fun¸c˜ao softmax, fun¸c˜ao 0 − 1, fun¸c˜oes quadr´aticas e fun¸c˜ao L1smooth. A fun¸c˜ao 0 − 1 consiste em indicar um caminho

pr´e definido para o gradiente, enquanto o valor previsto for diferente do valor real. Um exemplo de fun¸c˜ao quadr´atica ´e a fun¸c˜ao dos m´ınimos quadrados, utilizada para indicar a distˆancia relativa da previs˜ao e do alvo. A fun¸c˜ao L1smooth est´a descrita na eq. (10),

na qual α ´e um coeficiente que interfere na velocidade de deslocamento do gradiente, normalmente definido como 1.

L1smooth(x) =      |x|, se |x| > α; 1 |α|x 2, se |x| ≤ α. (10)

No per´ıodo atual, ap´os o ano 2000, as pesquisas se direcionaram para o desenvol-vimento de novas arquiteturas de DL (WANG et al., 2018). A escolha de uma arquitetura depende da aplica¸c˜ao e, al´em de ser determinante para o resultado, define inclusive o m´etodo de aprendizado (supervisionado, n˜ao supervisionado, etc.).

Um outro marco relevante, no per´ıodo mais recente de desenvolvimento de RNAs, foi a adapta¸c˜ao dos m´etodos para reconhecerem padr˜oes em imagens (LECUN et al., 1998). O uso de DL em SVCs ´e apresentado a seguir.

(25)

2.5 SVC COM DEEP LEARNING

O desenvolvimento de arquiteturas de DL voltadas especificamente para SVCs iniciou com o trabalho de Fukushima (1980), que explora uma arquitetura de aprendizado n˜ao supervisionado para reconhecer similaridades geom´etricas.

No contexto de aprendizado supervisionado, LeCun et al. (1989) desenvolveu um conjunto de restri¸c˜oes nas entradas de uma RNA, utilizando o algoritmo de BP para aprendizado, com o objetivo de reconhecer n´umeros escritos manualmente em uma imagem de 16 × 16 pixels. No seu trabalho seguinte, o algoritmo foi aplicado ao reconhecimento de n´umeros escritos manualmente no servi¸co postal americano (LECUN et al., 1989).

Por´em, a metodologia base para as aplica¸c˜oes atuais, de DL para reconhecimento de padr˜oes em imagens, surgiu em 1998, denominada de Convolutional Neural Network (CNN) (LECUN et al., 1998). Essa t´ecnica adiciona camadas de processamento de ima-gens no in´ıcio da RNA, abstraindo as caracter´ısticas que otimizam a diferencia¸c˜ao das imagens. Esse m´etodo de processamento de imagem tamb´em ´e chamado de solu¸c˜ao end-to-end, pois otimiza autonomamente o pr´e-processamento, a extra¸c˜ao de caracter´ısticas e o reconhecimento de padr˜oes (WANG et al., 2018). A principal vantagem desse tipo de solu¸c˜ao est´a na redu¸c˜ao de etapas de defini¸c˜ao manual, como, por exemplo, a escolha dos extratores de caracter´ısticas e dos algoritmos de classifica¸c˜ao.

As camadas adicionais das CNNs s˜ao compostas por opera¸c˜oes de convolu¸c˜ao e pooling, apresentadas a seguir.

2.5.1 CONVOLUC¸ ˜AO

A convolu¸c˜ao ´e formalmente definida como na eq. (11), como um operador linear que, a partir de duas fun¸c˜oes dadas, resulta numa terceira que mede a soma do produto dessas fun¸c˜oes ao longo da regi˜ao subentendida pela superposi¸c˜ao delas, em fun¸c˜ao do deslocamento existente entre elas, na qual t ´e a vari´avel independente e a o deslocamento (GOODFELLOW et al., 2016). No contexto desse trabalho, a fun¸c˜ao i refere-se `a imagem de entrada, e k define o filtro de extra¸c˜ao de caracter´ısticas, tamb´em chamado de kernel. A sa´ıda s ´e chamada de mapa de caracter´ısticas.

s(t) = Z

i(a)k(t − a)da. (11)

(26)

s(t) = i(t) ∗ k(t) =

X

a=−∞

i(a)k(t − a). (12)

Considerando que a convolu¸c˜ao ´e realizada em mais de um eixo por vez para cada canal, em uma imagem com dimens˜oes m × n, a opera¸c˜ao pode ser definida como na eq. (13). A comutatividade na opera¸c˜ao simboliza uma rota¸c˜ao do kernel, durante a convolu¸c˜ao, que, apesar de facilitar a manipula¸c˜ao dos dados, n˜ao influencia diretamente no resultado (GOODFELLOW et al., 2016).

S(i, j) = I(i, j) ∗ K(i, j) =

m X i=0 n X j=0 I(i − m, j − n)K(m, n). (13)

A fun¸c˜ao que realiza a opera¸c˜ao de convolu¸c˜ao compensando a rota¸c˜ao do kernel ´e denominada cross-correlation. Essa fun¸c˜ao ´e comumente referida apenas como convolu¸c˜ao (GOODFELLOW et al., 2016). A eq. (14) apresenta a fun¸c˜ao cross-correlation, ilustrada por um exemplo na Figura 10, com uma entrada 4 × 3 e um kernel 2 × 2.

S(i, j) = I(i, j) ∗ K(i, j) =

m X i=0 n X j=0 I(i + m, j + n)K(m, n). (14)

A taxa de deslocamento do kernel sobre a entrada ´e chamada de stride. Por padr˜ao, a convolu¸c˜ao realiza um deslocamento de uma unidade, por´em isso pode ser alte-rado (ZHAO et al., 2019). O deslocamento s´o ´e realizado enquanto o kernel est´a contido nas dimens˜oes da entrada. Como resultado, a convolu¸c˜ao ´e capaz de extrair caracter´ısticas da imagem para represent´a-la de forma abstrata. Por´em, n˜ao ´e naturalmente invariante `a altera¸c˜oes de escala e rota¸c˜ao (GOODFELLOW et al., 2016). Para auxiliar nesse processo, normalmente ´e utilizada a opera¸c˜ao de pooling concatenada `as sa´ıdas de cada convolu¸c˜ao.

2.5.2 POOLING

A opera¸c˜ao de pooling acompanha as convolu¸c˜oes em uma CNN, normalmente alocada ap´os cada convolu¸c˜ao. Essa opera¸c˜ao substitui a representa¸c˜ao de uma regi˜ao da sa´ıda da convolu¸c˜ao por um valor estat´ıstico. Segundo Goodfellow et al. (2016), as fun¸c˜oes de pooling mais populares s˜ao:

(27)

Figura 10: Exemplo de convolu¸c˜ao com cross-correlation. Fonte: (GOODFELLOW et al., 2016)

• Max pooling: seleciona o maior valor dentro da regi˜ao de pooling;

• Average pooling: utiliza a m´edia dos valores dentro da regi˜ao de pooling;

• Average pooling ponderado: utiliza uma m´edia ponderada pela distˆancia do pixel central da regi˜ao de pooling;

• Norma L2: utiliza a norma Euclidiana dos valores da regi˜ao de pooling.

A Figura 11 apresenta um exemplo de pooling, analisando uma regi˜ao de di-mens˜oes 2 × 2 com stride 2, aplicando max pooling e average pooling.

Essa opera¸c˜ao torna a representa¸c˜ao invariante `a pequenas transla¸c˜oes na entrada, ou seja, se for realizada uma modifica¸c˜ao no posicionamento da entrada, a representa¸c˜ao ap´os o pooling ter´a poucas altera¸c˜oes. Al´em disso, a redu¸c˜ao de dimens˜ao melhora a eficiˆencia da RNA e reduz a quantidade de mem´oria necess´aria para o processamento (GOODFELLOW et al., 2016). Logo, os componentes para definir uma arquitetura de CNN s˜ao: camadas de convolu¸c˜ao, pooling e RNA. A seguir s˜ao exibidos exemplos de CNNs e suas aplica¸c˜oes.

(28)

(a) Original. (b) Max po-oling.

(c) Average pooling.

Figura 11: Exemplo de pooling.

Fonte: Adaptado de (Stanford University, 2017)

2.5.3 REDE NEURAL DE CONVOLUC¸ ˜AO

Os diferentes tipos de CNNs derivam da varia¸c˜ao da topologia utilizada para encadear convolu¸c˜ao, pooling e RNA de classifica¸c˜ao. A Figura 12 exibe a arquitetura original da CNN proposta por LeCun et al. (1998), composta por duas camadas de con-volu¸c˜ao e pooling, duas camadas fully connected e uma camada com fun¸c˜ao de ativa¸c˜ao gaussiana. Essa arquitetura inicialmente reduz as caracter´ısticas da imagem em 16 mapas de caracter´ısticas de 5 × 5 pixels, atrav´es das opera¸c˜oes de convolu¸c˜ao e pooling. Ap´os a redu¸c˜ao, s˜ao aplicadas duas camadas de RNA fully connected, RNAs em que toda c´elula possui conex˜ao com todas as c´elulas da camada seguinte. Por fim, uma camada com fun¸c˜ao de ativa¸c˜ao gaussiana reduz as respostas para 10 sinais de sa´ıda.

Figura 12: Exemplo da arquitetura de uma CNN. Fonte: (LECUN et al., 1998)

A partir de varia¸c˜oes de arquiteturas de CNN, diferentes m´etodos de aprendizado e de representa¸c˜ao de dados podem ser estabelecidos, aplicados em diferentes contextos. De acordo com Zhao et al. (2019), os problemas podem ser divididos em:

(29)

• Detec¸c˜ao de objetos, quando o interesse ´e definir a classe e a localiza¸c˜ao de m´ultiplos objetos na imagem, cada qual delimitado por um retˆangulo (bounding box );

• Segmenta¸c˜ao semˆantica, com a meta de determinar a classe do objeto e a por¸c˜ao exata que este ocupa na imagem, normalmente por classifica¸c˜ao pixel a pixel ou por delimita¸c˜ao de regi˜ao com pol´ıgonos.

Nesta disserta¸c˜ao ´e explorado um algoritmo de DL supervisionado para detec¸c˜ao de objetos. Quando supervisionados, esses algoritmos requerem um conjunto de imagens como base de treino. Al´em das imagens, devem ser identificadas a regi˜ao e a classe de cada objeto. Essa identifica¸c˜ao consiste apenas em definir uma bounding box que delimite o objeto alvo (ground truth), e sua respectiva classe (KRIZHEVSKY et al., 2012).

Os m´etodos de detec¸c˜ao de objetos podem ser divididos em duas categorias: as baseadas em an´alise de regi˜ao (region proposal based ); e as baseadas em regress˜ao e classifica¸c˜ao (regression/classification based ) (ZHAO et al., 2019). Um fluxo evolutivo dessas duas vertentes ´e mostrado na Figura 13.

Figura 13: Modelos de DL para detec¸c˜ao de objetos. Fonte: (ZHAO et al., 2019)

Os algoritmos baseados em an´alise de regi˜ao simulam um comportamento do c´erebro humano, de observa¸c˜ao em v´arias etapas. Essas etapas incluem: uma varredura na imagem, para identificar regi˜oes de interesse; a extra¸c˜ao de caracter´ısticas com CNN; e ent˜ao a classifica¸c˜ao e regress˜ao para determinar a bouding box, normalmente treinada separadamente (ZHAO et al., 2019). Entre os trabalhos que se enquadram nessa cate-goria, o Overfeat (SERMANET et al., 2013) percorre a imagem utilizando uma CNN com dimens˜oes menores, classificando por¸c˜oes da imagem com um grau de confian¸ca, e ent˜ao agrupa as regi˜oes similares para demarcar a localiza¸c˜ao dos objetos. J´a o R-CNN (GIRSHICK et al., 2014) ´e dividido em trˆes etapas: primeiro realiza uma varredura bottom-up para marcar as regi˜oes de interesse; extrai as caracter´ısticas de cada regi˜ao,

(30)

(LIN et al., 2017) e Mask R-CNN (HE et al., 2017). Por´em, o tempo necess´ario para lidar com todas as etapas se tornou o gargalo para a aplica¸c˜ao dessas arquiteturas em proble-mas de an´alise em tempo real (ZHAO et al., 2019). Industrialmente, o limiar de tempo, para determinar uma an´alise em tempo real, deve ser de at´e um segundo, podendo chegar `

a uma restri¸c˜ao de milissegundos em produ¸c˜oes de alta velocidade (HATLEY; PIRBHAI, 2013).

Enquanto que os m´etodos baseados em an´alise de regi˜ao usam um conjunto de RNA e abordagens de ML tradicional para compor o processo de detec¸c˜ao, os m´etodos baseados em regress˜ao e classifica¸c˜ao realizam a localiza¸c˜ao com uma arquitetura ´unica, por isso s˜ao chamados de solu¸c˜ao end-to-end. Esse m´etodo foi desenvolvido para reduzir o tempo de processamento. Uma das arquiteturas mais conhecidas dessa categoria ´e a you only look once (YOLO) (REDMON et al., 2016). Essa arquitetura divide a imagem de entrada em uma grade de S × S c´elulas, cada uma respons´avel por prever B bounding boxes e suas respectivas probabilidades de classes. A ideia geral do YOLO ´e apresentada na Figura 14, inicialmente dividindo a imagem, executando tanto a gera¸c˜ao dos bounding boxes quanto o mapeamento da probabilidade das classe em cada c´elula, e ent˜ao finali-zando com a jun¸c˜ao das informa¸c˜oes para detectar os objetos. Por´em, essa arquitetura tem dificuldades em lidar com o agrupamento de objetos pequenos, devido `as restri¸c˜oes na implementa¸c˜ao da varredura por bouding boxes (SAMUEL, 1988).

Figura 14: Exemplo de execu¸c˜ao do YOLO. Fonte: (REDMON et al., 2016)

(31)

Outras arquiteturas tamb´em inclusas nessa categoria s˜ao: MultiBox (ERHAN et al., 2014), AttentionNet (YOO et al., 2015), G-CNN (NAJIBI et al., 2016), SSD (LIU et al., 2016), YOLOv2 (REDMON; FARHADI, 2017), DSSD (FU et al., 2017) and DSOD (SHEN et al., 2017). Dentre essas, a arquitetura single shot detection (SSD) ´e tida como a concorrente direta do YOLO, como uma alternativa para tratar o problema na detec¸c˜ao de objetos pequenos e sobrepostos. O SSD foi selecionado para o desenvolvimento dessa disserta¸c˜ao por afinidade e facilidade na manipula¸c˜ao da API, e ´e abordado em detalhes no Cap´ıtulo 3.

Independente da categoria de algoritmo utilizado, para tornar o modelo de de-tec¸c˜ao de objetos generalista o suficiente, ´e necess´ario uma base de dados que represente as diferentes situa¸c˜oes em que ele ir´a atuar. Logo, quanto menos controlado o ambiente, maior deve ser o conjunto de imagens para treino (GOODFELLOW et al., 2016). Por´em, existem m´etodos de extrapola¸c˜ao de dados que criam situa¸c˜oes de luz e distor¸c˜ao para uma mesma imagem, chamados de data augmentation, permitindo reduzir a quantidade de imagens reais utilizadas na base de treino (TELLEZ et al., 2019; CRISPELL et al., 2017). Essa t´ecnica de extrapola¸c˜ao ´e utilizada nessa disserta¸c˜ao.

De acordo com Goodfellow et al. (2016), o procedimento de aprendizado e atua-liza¸c˜ao dos pesos e filtros em CNNs pode ser:

• Por Batch: atualiza¸c˜ao ap´os avaliar todo o conjunto de imagens;

• Por Mini-batch: atualiza¸c˜ao ap´os avaliar subconjuntos menores de imagens;

• Estoc´astico: atualiza¸c˜ao realizada ap´os avaliar cada imagem.

Nesse contexto, uma ´epoca, ou step, configura o final de um ciclo de atualiza¸c˜ao dos pesos e filtros. O aprendizado estoc´astico n˜ao ´e adequado pois, ao utilizar apenas um ponto para recalcular o gradiente, pode causar muitas varia¸c˜oes e dificultar a con-vergˆencia. J´a o aprendizado em batch n˜ao ´e adequado para DL, pois este utiliza uma quantidade grande de dados para treino e torna o processo de aprendizagem lento. Por fim, o aprendizado por mini-batch busca ser mais r´apido que o aprendizado em batch e mais preciso que o aprendizado estoc´astico. O gr´afico de loss em fun¸c˜ao das ´epocas ´e comumente utilizado para avaliar a convergˆencia do aprendizado.

Baseado nos conceitos exibidos, a pr´oxima se¸c˜ao sumariza e ressalta as diferen¸cas do uso de ML tradicional e DL nos SVCs.

(32)

vari´aveis do ambiente, como, por exemplo, ilumina¸c˜ao e fixa¸c˜ao da pe¸ca. Como alter-nativa, os m´etodos baseados em ML e DL adicionam robustez quanto `a essas vari´aveis. Ambos consistem em t´ecnicas de IA ´uteis para modelar a correla¸c˜ao entre entrada e sa´ıda de um SVC. Ainda, DL possui vantagens adicionais quanto ao ML, em termos de extra¸c˜ao de caracter´ısticas, classifica¸c˜ao e treino do modelo. Os processos de aprendizado com ML e DL s˜ao exibidos na Figura 15.

(a) Processo de aprendizado por ML tradicional.

(b) Processo de aprendizado por DL.

Figura 15: Compara¸c˜ao entre ML e DL. Fonte: Adaptado de (WANG et al., 2018)

A ML tradicional realiza a extra¸c˜ao de caracter´ısticas e a constru¸c˜ao do mo-delo de classifica¸c˜ao separadamente, como ilustrado pela Figura 15 (a). Inicialmente, as caracter´ısticas s˜ao extra´ıdas por um processo de altera¸c˜ao na representa¸c˜ao da imagem (estat´ıstico, frequˆencia, etc.) e sele¸c˜ao das informa¸c˜oes representativas, tarefas computa-cionalmente custosas e dependentes da percep¸c˜ao de um especialista. Ap´os isso, m´etodos de redu¸c˜ao de dimensionalidade s˜ao utilizados para selecionar as caracter´ısticas relevan-tes, que s˜ao utilizadas como entrada para os m´etodos de classifica¸c˜ao (regress˜ao, SVM, RNA, etc.) (BISHOP, 2006).

Em contrapartida, o DL integra a extra¸c˜ao e sele¸c˜ao de caracter´ısticas ao apren-dizado do modelo de classifica¸c˜ao, otimizando os parˆametros de forma autom´atica. Essa solu¸c˜ao, denominada end-to-end, utiliza as v´arias camadas ocultas para extrair uma re-presenta¸c˜ao abstrata das caracter´ısticas, selecionando a cada camada as informa¸c˜oes mais relevantes. Por exemplo, caracter´ısticas como contorno, textura e formas, s˜ao abstra´ıdas

(33)

de uma imagem camada a camada. Essas caracter´ısticas servem de entrada para um clas-sificador, localizado ao fim da mesma estrutura da CNN que as selecionou. Esse processo ´e ilustrado na Figura 15 (b). Logo, o DL entrega uma estrutura de IA com o m´ınimo de interferˆencia humana.

Apesar do potencial pr´atico, o uso de t´ecnicas de DL (ou IA no sentido mais amplo) para fins de opera¸c˜ao industrial ainda ´e bastante limitado. A pr´oxima se¸c˜ao faz um apanhado das principais aplica¸c˜oes pr´aticas existentes no enlace DL e ind´ustria. Nela, pode-se constatar o ainda inexplorado potencial de contribui¸c˜ao e de avan¸cos que a ´area de DL pode agregar aos sistemas industriais atuais.

2.7 APLICAC¸ ˜OES EM SISTEMAS INDUSTRIAIS

O uso de ML e DL em ambientes industriais ´e recente. As aplica¸c˜oes mais comuns est˜ao ligadas a an´alise de dados, utilizando como base os valores gerados pelos componen-tes do ch˜ao de f´abrica, como sensores e atuadores (WANG et al., 2018). A importˆancia da modelagem e an´alise de dados para o futuro da industria ´e discutida por Esmaeilian et al. (2016b) e Kang et al. (2016), e as aplica¸c˜oes da minera¸c˜ao de dados em linhas de manufatura s˜ao sumarizadas por Harding et al. (2006), abordando aspectos, sobretudo, como: otimiza¸c˜ao de processos e opera¸c˜oes; previs˜ao de defeitos e de manuten¸c˜ao; su-porte `a decis˜ao; e melhoria de qualidade do produto. Focando no setor automobil´ıstico, Escobar e Morales-Menendez (2018), por exemplo, prop˜oem o uso de DL para identificar problemas na fabrica¸c˜ao de baterias de carro, analisando 54 caracter´ısticas providas por sensores.

No contexto de SVCs, as aplica¸c˜oes industriais com uso de IA exploram, sobre-tudo, as ´areas de inspe¸c˜ao de qualidade e diagn´ostico de falhas. Como exemplo, o trabalho de (SEMENIUTA et al., 2016) sugere um sistema com m´ultiplas cˆameras para inspe¸c˜ao de qualidade de pequenas arruelas, com o objetivo de reduzir a interferˆencia da reflex˜ao de luz, no qual cada imagem possui um tratamento de ML diferente. Nurhadiyatna et al. (2017) e Prakasa et al. (2015) utilizam m´etodos de detec¸c˜ao de contornos baseado em ML, para encontrar defeitos como arranh˜oes e marcas em superf´ıcies. Weixin et al. (2017) utiliza transformada wavelet e SVM para detectar pilares de constru¸c˜ao com defeitos.

Entre os SVCs com o uso de DL, Gibert et al. (2017) propuseram uma arquitetura de CNN para identificar defeitos em trilhos de trem, avaliando a presen¸ca de componentes e pe¸cas quebradas. Tello et al. (2018) apresentaram a identifica¸c˜ao do padr˜ao de defeitos

(34)

defeitos em placas de circuito integrado. Li et al. (2018) propuseram uma arquitetura de DL descentralizada, com fog computing, para detec¸c˜ao de defeitos em superf´ıcies. Lee e Kim (2016) para encontrar os n´umeros de identifica¸c˜ao de placas em uma ind´ustria, onde a impress˜ao dos caracteres ´e irregular. O trabalho de Essid et al. (2018) utiliza uma CNN para encontrar defeitos na moldagem de latas de metal, focado especificamente no acabamento do objeto. Al´em desses, outros trabalhos que utilizam especificamente CNN para detec¸c˜ao de defeitos e diagn´ostico de maquin´arios, s˜ao descritos por Weimer et al. (2016), Verstraete et al. (2017), Lu et al. (2017a) e Ren et al. (2018).

Ainda, alguns trabalhos prop˜oem o uso de diferentes arquiteturas para solucionar tais problemas. Jia et al. (2016), Lu et al. (2017b), Shao et al. (2017), Guo et al. (2017) e Chen et al. (2017) se baseiam na arquitetura dos Auto Encoders, uma classe de RNAs de aprendizado n˜ao supervisionado. Zhao et al. (2017), Wu et al. (2018) e Zhao et al. (2018) utilizam Redes Neurais Recorrentes, que, diferente das RNAs feed foward, possuem c´elulas com ciclos de sinais de ativa¸c˜ao. Por fim, Qiu et al. (2014), Xie et al. (2015), Yin e Zhao (2016), Li et al. (2016), Wang et al. (2017) e Zhang et al. (2017) fazem uso das Deep Belief Networks, classe de arquiteturas que utilizam fun¸c˜oes de ativa¸c˜ao probabil´ısticas nas camadas ocultas.

Algumas constata¸c˜oes podem ser feitas ap´os a an´alise desses trabalhos. Por exem-plo, a an´alise, em geral, envolve uma pequena ´area do componente avaliado, para evitar interferˆencias do ambiente e extrair caracter´ısticas apenas do componente alvo. Em ou-tras palavas, o campo de vis˜ao ´e muito restrito, e requer m´ultiplas capturas para avaliar a pe¸ca inteira. Tamb´em, muitos restringem o ambiente com sistemas de ilumina¸c˜ao de-dicados e enclausuramento para a aquisi¸c˜ao das imagens. Al´em disso, alguns trabalhos desenvolvem suas pr´oprias arquiteturas para otimizar a solu¸c˜ao de problemas espec´ıficos, que n˜ao obt´em resultados em aplica¸c˜oes similares ou j´a foram superadas por arquiteturas atuais.

Nessa disserta¸c˜ao, ´e explorado um arranjo de arquiteturas de CNNs consolidadas no estado da arte. Al´em disso, s˜ao utilizadas t´ecnicas de data augmentation que possi-bilitam o treino do sistema com poucas imagens. E por fim, a an´alise ´e feita sobre um conjunto de frames, referente ao percurso da pe¸ca na esteira, e n˜ao apenas sobre uma ´

(35)

os resultados desse trabalho aplic´aveis ao contexto de ch˜ao de f´abrica.

Como consequˆencias dessas escolhas, ser´a mostrado que: a arquitetura proposta ´e capaz de realizar a an´alise em tempo real em um hardware de baixo custo; n˜ao h´a necessidade de reconfigurar o ambiente original, com, por exemplo, ilumina¸c˜ao dedicada e parada obrigat´oria; e eliminam-se os erros de detec¸c˜ao.

(36)

Esse cap´ıtulo descreve a arquitetura proposta para identifica¸c˜ao de m´ultiplos componentes em linha de manufatura automotiva, como alternativa aos SVCs convenci-onais. Para isso, ´e utilizada uma Application Programming Interface (API) de detec¸c˜ao de objetos, implementada com Tensorflow (HUANG et al., 2019).

Como arquitetura de detec¸c˜ao, esse trabalho aplica a Single Shot Detection (SSD) (LIU et al., 2016) integrada `a MobileNet (HOWARD et al., 2017). A MobileNet atua como rede de convolu¸c˜ao para extrair caracter´ısticas de imagens e o SSD ´e respons´avel pela varredura para detectar os objetos (HUANG et al., 2017).

A escolha dessas arquiteturas se justifica porque a conjun¸c˜ao do SSD com a Mo-bileNet ´e indicada para tarefas implementadas em hardwares com limita¸c˜oes de mem´oria e processamento, como em aplica¸c˜oes m´oveis de detec¸c˜ao em tempo real (HUANG et al., 2017).

3.1 DESCRIC¸ ˜AO DA ARQUITETURA

O SSD, proposto por Liu et al. (2016), ´e uma arquitetura derivada tanto de m´etodos baseados em regress˜ao como de m´etodos baseados em proposta de regi˜ao, como mostrado na Figura 13. Essa arquitetura ´e inspirada nos conceitos de anchor boxes (ERHAN et al., 2014), region proposal networks (RPN) (REN et al., 2015) e representa¸c˜ao multi-escala (BELL et al., 2016).

Para lidar com objetos de diferentes tamanhos, essa arquitetura gera mapas de caracter´ıstica para a mesma imagem em diferentes resolu¸c˜oes. Diferente do YOLO, o SSD divide os mapas de caracter´ıstica em grades, e utiliza RPN para encontrar regi˜oes de interesse. O centro dessas regi˜oes ´e denominado de ˆancora. Ap´os isso, s˜ao projetadas n anchor boxes de diferentes tamanhos, centralizadas em cada ˆancora, que servem como um conjunto de bounding boxes iniciais para a detec¸c˜ao. Essas bounding boxes s˜ao ajustadas no decorrer do aprendizado, para condizerem com a disposi¸c˜ao dos objetos. No final

(37)

da rede, ´e aplicado um algoritmo de Non Maximum Supression (NMS) para eliminar redundˆancias de bounding boxes sobre o mesmo objeto.

A Figura 16 exibe um exemplo de anchor boxes. A Figura 16 (a) exibe a imagem ground truth. A Figura 16 (b) representa dois conjuntos de anchor boxes definidos sobre as regi˜oes de interesse, cada qual centrada em uma c´elula do mapa de caracter´ısticas. Ainda, cada anchor box possui informa¸c˜oes de posi¸c˜ao do centro, largura, altura, e um vetor que indica a confian¸ca de detec¸c˜ao de cada classe avaliada. As anchor boxes em azul indicam uma taxa de detec¸c˜ao alta em rela¸c˜ao ao ground truth.

(a) Imagem original com localiza¸c˜ao (b) Anchor boxes

Figura 16: Exemplo de anchor boxes. Fonte: (LIU et al., 2016)

O SSD utiliza o ´ındice de Jaccard, tamb´em chamado de taxa de intersec¸c˜ao sobre uni˜ao (IoU ), para estimar a proximidade entre a bounding box detectada e o ground truth. O c´alculo desse ´ındice ´e exibido na eq. (15), na qual AD ´e a ´area da bounding box detectada, AG ´e a ´area do ground truth e IA ´e a ´area da intersec¸c˜ao de AD com AG. A Figura 17 mostra exemplos de sobreposi¸c˜ao de ´areas e seus respectivos valores de IoU , considerando o retˆangulo verde como ground truth e o retˆangulo vermelho como a detec¸c˜ao.

IoU = IA

(AD + AG − IA). (15)

A fun¸c˜ao de loss (L) do SSD ´e definida pela eq. (16), como uma soma ponderada do loss da probabilidade de classifica¸c˜ao (Lconf) (eq. (17)) e de localiza¸c˜ao (Lloc) (eq.

(38)

(a) IoU = 0.4034 (b) IoU = 0.7330 (c) IoU = 0.9264

Figura 17: Exemplos de IoU .

Fonte: Adaptado de (ROSEBROCK, 2016)

• xk

ij = {0, 1} representa um indicador da existˆencia de intersec¸c˜ao entre a i − esima

bounding box detectada e a j − esima ground truth de classe k;

• p ´e um conjunto de probabilidades de detec¸c˜ao, das K classes analisadas pelo sis-tema;

• P os ´e o conjunto de detec¸c˜oes positivas, ou seja, bounding boxes detectadas (l) da mesma classe do ground truth (g) que satisfazem a uma taxa de IoU > 0.5, com suas respectivas probabilidades;

• N eg ´e o conjunto de detec¸c˜oes negativas, ou seja, de bounding boxes detectadas (l) que n˜ao satisfazem a uma taxa de IoU > 0.5 ou n˜ao s˜ao da mesma classe do ground truth (g), com suas respectivas probabilidades;

• N ´e a quantidade de elementos em P os;

• {h, w, cx, cy} definem um retˆangulo de altura h, largura w e centro (cx, cy);

• d representa os dados da anchor box mais pr´oxima do respectivo g.

A escolha do valor de limiar do IoU em 0.5 se baseia na defini¸c˜ao emp´ırica proposta por Huang et al. (2017). Ainda, a eq. (18) possui sub-equa¸c˜oes ˆg, que variam de acordo com o parˆametro da anchor box que est´a sendo avaliado, considerando as defini¸c˜oes do retˆangulo {h, w, cx, cy}. L(x, p, l, g) = 1 N(Lconf(x, p) + Lloc(x, l, g)). (16) Lconf(x, p) = − N X i∈P os xkijlog(sof tmax(pki)) − X j∈N eg log(sof tmax(pj)). (17)

(39)

Lloc(x, l, g) = N X i∈P os X m∈{cx,cy,w,h} xkijL1smooth(lim− ˆg m j ). (18) ˆ gcx j = (gcx j − d cx i ) dwi gˆ cy j = (gcy j − d cy i ) dh i ˆ gwj = log(g w j dw i ) gˆhj = log(g h j dh i )

Para cada bounding box detectada, o SSD prevˆe a probabilidade de classifica¸c˜ao para todas as classes. Por´em, como a maioria das previs˜oes n˜ao atendem aos requisitos de detec¸c˜ao, P os e N eg ficam desproporcionais. Liu et al. (2016) sugere manter uma taxa de detec¸c˜oes negativas para positivas de 3:1, selecionando apenas as que possuem maior probabilidade para o c´alculo de loss.

Como observado na Figura 18, a ´ultima camada do SSD gera mais de 8 mil sugest˜oes de bounding boxes para cada classe. Devido a esse grande n´umero, ´e aplicada uma t´ecnica de NMS, definindo limiares para a probabilidade de detec¸c˜ao e IoU s˜ao utilizados para remover a maioria das detec¸c˜oes.

Para extra¸c˜ao de caracter´ısticas, o trabalho original de Liu et al. (2016) utiliza como base a arquitetura VGG-16 (SIMONYAN; ZISSERMAN, 2014). Por´em, a API disponibilizada por Huang et al. (2017) desintegra SSD e VGG-16, tornando assim poss´ıvel utilizar outros arranjos de arquiteturas. A Figura 18 mostra a arquitetura do algoritmo proposto por Liu et al. (2016) para analisar imagens de resolu¸c˜ao 300 × 300.

Figura 18: Arquitetura do SSD 300. Fonte: (LIU et al., 2016)

A arquitetura MobileNet (HOWARD et al., 2017) comp˜oe a base para extra¸c˜ao de caracter´ısticas. Huang et al. (2017) mostrou que a MobileNet se equipara ao VGG-16

(40)

convolu¸c˜ao 1 × 1, denominada de pointwise convolution, para combinar a sa´ıda da con-volu¸c˜ao depthwise. A Figura 19, retirada do trabalho de Howard et al. (2017), exemplifica os filtros utilizados pela rede MobileNet.

(a) Filtros Standard Convolution (b) Filtros Depthwise Convolution

(c) Filtros Pointwise Convolution no contexto da convolu¸c˜ao separ´avel Depthwise.

Figura 19: Filtros de extra¸c˜ao da rede MobileNet.

A Figura 19 (a) representa a arquitetura convencional dos filtros de convolu¸c˜ao, que s˜ao substitu´ıdos por duas camadas na rede MobileNet: depthwise convolution, na Figura 19 (b); e pointwise convolution na Figura 19 (c). A nota¸c˜ao DK representa a

dimens˜ao espacial de cada filtro. J´a M e N s˜ao respectivamente a quantidade de canais de entrada e de sa´ıda.

A API utilizada tamb´em implementa a reescala autom´atica das imagens, redi-mensionando as imagens de entrada para uma escala de 300 × 300 pixels. Al´em disso, as t´ecnicas de data augmentation realizam cortes aleat´orios e utilizam essas regi˜oes como dados extras para o treino. Outras t´ecnicas de data augmentation utilizadas s˜ao rota¸c˜ao aleat´oria da imagem e altera¸c˜ao de escala.

Seguindo o padr˜ao de parametriza¸c˜ao proposto por Huang et al. (2017), a rede utiliza RMSprop como otimizador, com momento de 0.9, ρ de 0.9,  de 1 e learning rate inicial de 0.004. Al´em disso, faz uso de regulariza¸c˜ao L2 com peso 4e−5 e NMS com limiar

(41)

3.2 VALIDAC¸ ˜AO DA DETECC¸ ˜AO DE OBJETOS

Algumas m´etricas devem ser utilizadas para avaliar a eficiˆencia do modelo de detec¸c˜ao de objetos. A taxa de IoU, por exemplo, expressa se uma detec¸c˜ao est´a correta em fun¸c˜ao da bounding box detectada e do ground truth (HUANG et al., 2017). Por´em, essa m´etrica por si s´o n˜ao considera casos de classifica¸c˜ao incorreta nem casos de n˜ao clas-sifica¸c˜ao das imagens. Logo, para validar os resultados de detec¸c˜ao ap´os a integra¸c˜ao na linha de produ¸c˜ao, ou seja, mensurar a eficiˆencia dos modelos treinados, foram utilizados os ´ındices de Precision e Recall para compor a f-measure.

Precision (eq. (19)) determina o qu˜ao correto o modelo ´e ao classificar e encontrar objetos. J´a Recall (eq. (20)) determina a rela¸c˜ao entre imagens corretamente classificadas e imagens com falha na classifica¸c˜ao. Esses dois valores s˜ao derivados da quantidade de True Positive (TP), False Positive (FP) e False Negative (FN), considerados da seguinte forma:

• TP ´e toda classifica¸c˜ao correta em que a bounding box ´e avaliada com uma taxa de IoU acima de 0.5;

• FP ´e toda detec¸c˜ao de objeto com: IoU abaixo ou igual a 0.5; detec¸c˜ao de classe que n˜ao est´a na imagem original; ou detec¸c˜ao sobreposta, que j´a foi contabilizada uma vez como TP;

• FN ´e toda classifica¸c˜ao n˜ao realizada, ou seja, imagens que o modelo n˜ao marcou bounding box onde deveria.

P recision = T P

(T P + F P ); (19)

Recall = T P

(T P + F N ). (20)

A f-measure consiste em compor ambos os valores para avaliar a precis˜ao do teste, descrita pela eq. (21).

f-measure = 2(P recision × Recall)

(P recision × Recall). (21)

Baseado nos conceitos explorados at´e aqui, o pr´oximo cap´ıtulo aplica o modelo de detec¸c˜ao de m´ultiplos objetos proposto em uma ind´ustria automotiva.

(42)

Os experimentos realizados nesse trabalho foram conduzidos sobre uma linha de montagem automotiva real, da Renault do Brasil. Foram selecionados dois casos distintos e em linhas de fabrica¸c˜ao diferentes: o primeiro consiste em um teste de conformidade das pe¸cas na montagem de ve´ıculos, avaliando se o conjunto do disco de freio e pin¸ca de freio pertencem ao modelo de carro no qual est˜ao montados; e o segundo consiste em verificar a presen¸ca e a conformidade do sensor de detona¸c˜ao, tamb´em chamado de cliqueti ou knock, com o modelo do motor no qual est´a montado.

Os treinos dos modelos de deep learning foram realizados com uma GPU Nvidia GeForce GTX 1060 com 3 Gigabytes de mem´oria. Os valores de limiar utilizados para a probabilidade de detec¸c˜ao foram de 60%, 65%, 70%, 75%, 80%, 85%, 90% e 95%, possibilitando a an´alise das taxas de P recision e Recall em fun¸c˜ao da certeza de detec¸c˜ao do modelo.

Para avaliar a performance do modelo em sistemas com baixo poder de processa-mento, foi utilizado um Raspberry Pi modelo 3B+, com 1 Gigabyte de mem´oria RAM e um sistema operacional Raspbian (Linux baseado em Debian), e uma Pi Camera modelo V2 de 8 megapixels. Esse sistema manteve uma taxa m´edia de detec¸c˜ao de 1.8 frames por segundo, ou seja, conseguiu avaliar aproximadamente duas imagens a cada segundo.

Os c´odigos e os v´ıdeos de resultados referentes ao trabalho est˜ao dispon´ıveis em um reposit´orio p´ublico de Mazzetto (2019), no GitHub. As defini¸c˜oes dos ambientes e os resultados dos experimentos s˜ao apresentados na sequˆencia. No final dessa sess˜ao s˜ao abordados outros casos sobre os quais o sistema de detec¸c˜ao de objetos pode ser aplicado.

4.1 DISCO E PINC¸ A DE FREIO

Esse estudo de caso, em especial, explora a vantagem de detec¸c˜ao de m´ultiplos objetos, detectando tanto a pin¸ca de freio como o disco de freio na mesma imagem. Na linha de montagem utilizada como alvo desse estudo, as pe¸cas s˜ao separadas por

(43)

operadores e dispostas em Automatic Guided Vehicles (AGVs) no in´ıcio da produ¸c˜ao, de acordo com a demanda. Os operadores s˜ao respons´aveis por distribuir os componentes para todos os tipos de produtos manufaturados na linha. Como esta tarefa ´e conduzida por humanos, ´e propensa a erros, e os kits podem ser montados com componentes pertencentes a diferentes modelos de ve´ıculos. Com o objetivo de mitigar o problema, o sistema de detec¸c˜ao proposto nesse trabalho foi utilizado no momento da montagem, verificando se o kit ´e composto por pe¸cas do mesmo conjunto. O teste foi realizado com trˆes tipos de disco de freio e trˆes tipos de pin¸ca de freio, totalizando seis classes para serem aprendidas e analisadas pelo modelo de deep learning. Exemplos das pe¸cas e suas classes s˜ao exibidos na Figura 20.

(a) Conjunto de Pin¸ca de freio 1 e Disco 1. (b) Conjunto de Pin¸ca de freio 2 e Disco 2.

(c) Conjunto de Pin¸ca de freio 3 e Disco 3.

Figura 20: Tipos de kit de disco e pin¸ca de freio montados no suporte da esteira.

Por se tratar de um ambiente fabril em que cada classe ´e padronizada, ou seja, n˜ao existem varia¸c˜oes de formato ou cor entre as pe¸cas de mesmo tipo, optou-se empiricamente pela utiliza¸c˜ao de poucas imagens para o treino. Foram utilizadas 20 imagens de cada classe para a base de treino, com resolu¸c˜oes de 1280 × 720, 800 × 600 e 426 × 240 pixels. Para a base de valida¸c˜ao foram utilizadas 6 imagens de cada tipo, com resolu¸c˜oes de

Referências

Documentos relacionados

Analisou-se o efeito de cinco substratos, constituídos de diferentes proporções de terra de subsolo, calcário e cinza de bagaço de cana, na altura, diâmetro de caule e peso fresco e

Os resultados obtidos indicaram que o Método do Ganho de Massa é viável para a obtenção do percentual de absorção de CO2; todas as mostras submetidas à cura por

Os resultados obtidos nas experimentações são surpreendentemente semelhantes ao que se apresenta em cursos sobre o crescimento de espeleotemas em cavernas o que auxilia no

• Pero nos faltarán los contextos, y otras informaciones que son importantes para que se dé un análisis más completo, como el objetivo, para quién se destina, cuál es el propósito,

Considere-se, por exemplo, uma joint venture cujo capital é constituído por dois sócios, cada um participando com cinqüenta por cento do empreendimento, e com duas linhas de negócio

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Neste sentido, esse estudo mostra que as famílias das camadas mé- dias cariocas são ao mesmo tempo “relacionais” e “individualistas”, pois na mesma medida em que as trocas

Assim, além de suas cinco dimensões não poderem ser mensuradas simultaneamente, já que fazem mais ou menos sentido dependendo do momento da mensuração, seu nível de