• Nenhum resultado encontrado

Uma proposta integrada de software e hardware para monitoramento de insetos-praga em plantações na forma de uma armadilha inteligente

N/A
N/A
Protected

Academic year: 2021

Share "Uma proposta integrada de software e hardware para monitoramento de insetos-praga em plantações na forma de uma armadilha inteligente"

Copied!
69
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DE PELOTAS Centro de Desenvolvimento Tecnológico Programa de Pós-Graduação em Computação

Dissertação

Uma proposta integrada de software e hardware para monitoramento de insetos-praga em plantações na forma de uma armadilha inteligente

Thainan Bystronski Remboski

(2)

Uma proposta integrada de software e hardware para monitoramento de insetos-praga em plantações na forma de uma armadilha inteligente

Dissertação apresentada ao Programa de Pós-Graduação em Computação do Centro de Desen-volvimento Tecnológico da Universidade Federal de Pelotas, como requisito parcial à obtenção do título de Mestre em Ciência da Computação.

Orientador: Prof. Dr. Marilton Sanchotene de Aguiar Coorientador: Prof. Dr. Paulo Roberto Ferreira Júnior

(3)

Universidade Federal de Pelotas / Sistema de Bibliotecas Catalogação na Publicação

R385p Remboski, Thainan Bystronski

RemUma proposta integrada de software e hardware para monitoramento de insetos-praga em plantações na forma de uma armadilha inteligente / Thainan Bystronski

Remboski ; Marilton Sanchotene de Aguiar, orientador ; Paulo Roberto Ferreira Júnior, coorientador. — Pelotas, 2019.

Rem69 f. : il.

RemDissertação (Mestrado) — Programa de Pós-Graduação em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, 2019.

Rem1. Aprendizagem de máquina. 2. Rede neural

convolucional. 3. Identificação de insetos. 4. Computação aplicada. I. Aguiar, Marilton Sanchotene de, orient. II. Ferreira Júnior, Paulo Roberto, coorient. III. Título.

CDD : 005 Elaborada por Aline Herbstrith Batista CRB: 10/1737

(4)

Uma proposta integrada de software e hardware para monitoramento de insetos-praga em plantações na forma de uma armadilha inteligente

Dissertação aprovada, como requisito parcial, para obtenção do grau de Mestre em Ciência da Computação, Programa de Pós-Graduação em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas.

Data da Defesa: 20 de dezembro de 2019

Banca Examinadora:

Prof. Dr. Marilton Sanchotene de Aguiar (orientador)

Doutor em Computação pela Universidade Federal do Rio Grande do Sul.

Prof. Dr. Paulo Roberto Ferreira Jr. (coorientador)

Doutor em Computação pela Universidade Federal do Rio Grande do Sul.

Prof. Dr. Ricardo Matsumura Araujo

Doutor em Computação pela Universidade Federal do Rio Grande do Sul.

Prof. Dr. Guilherme Tomaschewski Netto

Doutor em Oceanografia Física, Química e Geológica pela Universidade Federal do Rio Grande.

(5)

Dedico este trabalho a todos que de alguma forma con-tribuíram para meu crescimento pessoal e acadêmico.

(6)

the betterment of humanity. — NIKOLATESLA

(7)

RESUMO

REMBOSKI, Thainan Bystronski.Uma proposta integrada de software e hardware para monitoramento de insetos-praga em plantações na forma de uma armadilha inteligente. Orientador: Marilton Sanchotene de Aguiar. 2019. 69 f. Dissertação (Mestrado em Ciência da Computação) – Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2019.

O manejo integrado de pragas (MIP) é uma técnica que procura manter as pragas abaixo do nível em que causem danos para as plantações. O MIP também busca realizar um controle de pragas que seja prático, eficiente, econômico e que não prejudique a saúde da população, visando a diminuição do uso de agrotóxicos nas plantações. Uma técnica bastante empregada no monitoramento da população de insetos-praga é baseada no uso de armadilhas. Porém, o método usual consiste em levantamentos de campo regulares com a observação visual de armadilhas por um operador humano. Esse método possui inconvenientes por ser intensivo, insalubre e oneroso para o operador, além de não ser possível obter informações sincronizadas e em tempo real de todas armadilhas. Uma opção alternativa é utilizar armadilhas inteligentes que sejam capazes de coletar imagens e processá-las, realizando a identificação e contagem dos insetos e enviando a esta informação a um servidor central. Contudo, a tarefa de identificação não é trivial, pois inúmeros fatores podem prejudicar esse processo, tais como: sobreposição de insetos, diversidade de insetos capturados, baixa iluminação, entre outros fatores. Neste contexto, este trabalho visa desenvolver um protótipo de armadilha inteligente para automatizar todo processo de contagem de insetos-praga nas plantações. Para atingir este objetivo, uma rede neural foi treinada para realizar a identificação dos insetos-praga Ceratitis capitata e Grapholita molesta em imagens obtidas no interior das armadilhas desenvolvidas. Além da identificação, também é realizada a contagem dos insetos-praga capturados, em que o resultado desta contagem é enviado diretamente para um sistema remoto, onde será feito o monitoramento da população de insetos-praga da plantação. A etapa de identificação apresentou resultados satisfatórios, com uma acurácia superior a 93%. A etapa de contagem também apresentou resultados promissores, porém, em consequência dos fatores citados anteriormente, alguns erros foram introduzidos nesta etapa, demonstrando que ainda há espaço para melhorias.

Palavras-chave: aprendizagem de máquina. rede neural convolucional. identificação de insetos. computação aplicada.

(8)

REMBOSKI, Thainan Bystronski. An integrated software and hardware proposal for plantation insect pest monitoring in the form of an intelligent trap. Advisor: Marilton Sanchotene de Aguiar. 2019. 69 f. Dissertation (Masters in Computer Science) – Technology Development Center, Federal University of Pelotas, Pelotas, 2019.

Integrated pest management (IPM) is a technique that seeks to keep pests al-ways below the level at which they cause damage to crops. IPM also seeks to carry out pest control that is practical, efficient, economical and does not harm the health of the population, aiming at reducing the use of pesticides in plantations. A technique widely employed in monitoring the population of pests is based on the use of traps. However, the usual method consists of regular field surveys with the visual observation of traps by a human operator. This method has drawbacks because it is intensive, unhealthy and costly for the operator, and it is not possible to obtain real-time and synchronized information of all traps. An alternative option is to use intelligent traps that are capable of collecting and processing images, identifying and counting insects and sending this information to a central server. However, the task of identification is not trivial, since many factors can impair this process, such as insect overlap, high variety of captured insects, low illumination, among others. Based on this context, this work aims to develop an intelligent trap prototype to automate the whole process of pest insect counting in plantations. To achieve this goal, a neural network was trained to identify the insect pests Ceratitis capitata and Grapholita molesta in images obtained inside the developed traps. In addition to the identification, the counting of the captured pest insects is also performed, in which the counting result is sent directly to a remote system, where the plant pest insect population will be monitored. The identification step presented satisfactory results, with an accuracy higher than 93%. The counting step also presented promising results, however, as a result of the factors mentioned above, some errors were introduced in this step, showing that there is still room for improvement.

Keywords: machine learning. convolutional neural network. insect identification. applied computing.

(9)

LISTA DE FIGURAS

Figura 1 Exemplares de armadilhas com feromônio (objeto central) e papel

com cola entomológica . . . 15

Figura 2 Exemplar de papel com cola entomológica com uma quantidade mediana de ruído. . . 17

Figura 3 Exemplar de papel com cola entomológica com uma quantidade menor de ruído. . . 17

Figura 4 Ceratitis capitata (mosca-da-fruta) . . . 17

Figura 5 Grapholita molesta (mariposa oriental) . . . 17

Figura 6 Exemplo de processamento de imagem em uma CNN (HAYKIN, 1994). 20 Figura 7 Exemplo de um Fire module com s1×1 = 3, e1×1 = 4e e3×3 = 4 (IAN-DOLA et al., 2016). . . 23

Figura 8 Arquitetura da SqueezeNet (IANDOLA et al., 2016). . . 24

Figura 9 Três maneiras em que a técnica de transfer learning pode melhorar o aprendizado (TORREY; SHAVLIK, 2010). . . 25

Figura 10 Fluxograma de funcionamento da armadilha. . . 35

Figura 11 Estrutura interna dos componentes da armadilha. . . 36

Figura 12 Estrutura externa da armadilha feita de plástico corrugado. . . 36

Figura 13 Topologia da rede de sensores sem fio. . . 37

Figura 14 Exemplo de imagem capturada do interior da armadilha. . . 38

Figura 15 Exemplo de janela com Grapholitas. . . 39

Figura 16 Exemplo de janela com Ceratitis. . . 39

Figura 17 Fluxo de geração da base de imagens. . . 39

Figura 18 Exemplos de imagens geradas com data augmentation (imagem original no canto superior esquerdo). . . 42

Figura 19 Fluxo de treinamento da CNN. . . 43

Figura 20 Gráfico de acurácia do treinamento em 50 épocas. . . 48

Figura 21 Gráfico da função de perda do treinamento em 50 épocas. . . 48

Figura 22 Matriz de confusão do conjunto de dados de teste. . . 50

Figura 23 Exemplo 1: contagem dos insetos-praga. . . 51

Figura 24 Exemplo 2: contagem dos insetos-praga. . . 51

Figura 25 Exemplo 3: contagem dos insetos-praga. . . 52

Figura 26 Exemplo 4: contagem dos insetos-praga em um piso sem grid. . . . 53

Figura 27 Janelas com segmentos de insetos nas bordas. . . 55

Figura 28 Exemplos de janelas com insetos-pragas de outras classes. . . 55

(10)

pertencente à classe nada). . . 57 Figura 32 Outro inseto está mais próximo do centro da janela, logo o inseto

anterior não foi identificado. . . 57 Figura 33 Exemplo de identificação duplicada ocasionada por falha no algoritmo

de segmentação (em função de diferenças na iluminação desta região na imagem). . . 58 Figura 34 Inseto-praga da classe Ceratitis capitata classificado como

per-tencente à classe nada (janela obtida a partir da imagem da Figura 24). 58 Figura 35 Exemplos de classificações incorretas: a) Ceratitis incorretamente

classificada como Grapholita; b) Outro inseto classificado como Ceratitis; c) e d) Grapholita classificada como Ceratitis. . . 59 Figura 36 Exemplos de classificações corretas com a região incorreta

desta-cada: a), b) e c) Exemplares de Ceratitis destacados de forma incorreta; d) Exemplar de Grapholita destacado de forma incorreta. 60

(11)

LISTA DE TABELAS

Tabela 1 Parâmetros usados no processo de data augmentation. . . 41

Tabela 2 Hiper-parâmetros para realização do fine tuning . . . 43

Tabela 3 Quantidade de imagens do conjunto de dados de teste. . . 49

Tabela 4 Resultados dos testes realizados no modelo. . . 50

Tabela 5 Exemplo 1: número real de insetos × número predito de insetos. . . 51

Tabela 6 Exemplo 2: número real de insetos × número predito de insetos. . . 52

Tabela 7 Exemplo 3: número real de insetos × número predito de insetos. . . 52

(12)

AUC Area Under Curve

CNN Convolutional Neural Network FPGA Field Programmable Gate Array GPRS General Packet Radio Services

GSM Global System for Mobile Communications HCS Histogram of Curviness Saliency

HOG Histogram of Gradients HSI Hue, Saturation, Intensity HSV Hue, Saturation, Value

ILSVRC ImageNet Large Scale Visual Recognition Challenge LDR Light Dependant Resistors

LED Light Emitting Diodes

MIP Manejo Integrado de Pragas MLP Multilayer Perceptron

MSER Maximally Stable Extremal Regions NDLC Normal Densities Based Linear Classifier NMC Nearest Mean Classifier

RGB Red, Green, Blue RTC Real Time Clock

SIFT Scale-Invariant Feature Transform SMS Short Message Service

SSD Single Shot Detector YOLO You Only Look Once

(13)

SUMÁRIO

1 INTRODUÇÃO . . . . 15

2 APRENDIZAGEM DE MÁQUINA . . . . 19

2.1 Redes Neurais Convolucionais . . . . 20

2.1.1 AlexNet . . . 21 2.1.2 SqueezeNet . . . 22 2.2 Data augmentation . . . . 23 2.3 Transfer Learning . . . . 25 2.4 Fine-tuning . . . . 26 2.5 ImageNet . . . . 26 3 TRABALHOS RELACIONADOS . . . . 27

3.1 Utilizando características globais da imagem . . . 27

3.2 Utilizando características locais da imagem . . . . 28

3.3 Utilizando cores . . . . 29

3.4 Utilizando redes neurais convolucionais . . . 30

3.5 Utilizando abordagem bag-of-words . . . . 31

3.6 Utilizando sensores . . . . 31

3.7 Utilizando detectores de objetos . . . . 32

4 ABORDAGEM PROPOSTA . . . . 34

4.1 Armadilha Inteligente . . . . 34

4.2 Captura de Imagens . . . . 38

4.3 Algoritmo de Identificação e Contagem de Insetos-praga . . . 40

4.3.1 Definição da Arquitetura . . . 40 4.3.2 Treinamento . . . 41 4.3.3 Classificação . . . 43 5 RESULTADOS . . . . 46 5.1 Métricas Utilizadas . . . . 46 5.2 Treinamento . . . . 47

5.3 Identificação dos Insetos-praga . . . . 49

5.4 Contagem dos Insetos-praga . . . . 49

5.5 Contagem com Piso Adesivo sem Grid . . . . 52

5.6 Experimentos em Ambiente Real . . . . 53

5.7 Discussão . . . 54

(14)
(15)

1

INTRODUÇÃO

O manejo integrado de pragas (MIP) é uma técnica que procura manter as popu-lações de pragas abaixo do nível que causam dano econômico nas plantações. Este controle pode ser feito por meio de biológico (uso de insetos predadores inférteis), uso de feromônios, retirada e queima da parte da vegetação afetada, entre outros meios. O MIP é uma alternativa que procura integrar metodologias para desenvolver um controle de pragas que seja prático, eficiente, econômico e que proteja a saúde pública e ambiental. Este controle também visa diminuir o uso de agrotóxicos, que causam a contaminação dos alimentos e do lençol freático quando aplicados de forma indiscriminada (ELLIOTT et al., 1995).

Para que o MIP seja aplicado de forma correta, é essencial que as técnicas de monitoramento da população das pragas na plantação sejam aplicadas com precisão, pois, sem a coleta de informações sobre a sua dinâmica populacional, em conjunto com os fatores ecológicos relacionados, não é possível executar o controle adequado de forma efetiva nas áreas afetadas (SHELTON; BADENES-PEREZ, 2006; JIANG et al., 2008).

Figura 1 – Exemplares de armadilhas com feromônio (objeto central) e papel com cola entomológica

Uma técnica bastante utilizada para realizar o monitoramento da população de insetos-praga baseia-se no uso de armadilhas. Estas armadilhas ficam espalhadas pela área da plantação e possuem feromônios ou atrativos alimentares, que atraem os

(16)

insetos para o seu interior. Ao entrarem, os insetos ficam presos em um papel adesivo, com cola entomológica, e são incapazes de deixar a armadilhar (LÓPEZ et al., 2012). A Figura 1 apresenta um modelo de armadilha com atrativo por feromônio e com papel com cola entomológica.

Assim, o sistema de monitoramento recolhe periodicamente os dados da população de insetos-praga de cada armadilha através da contagem do número de indivíduos capturados. O método mais utilizado, atualmente, para realizar a contagem de insetos-praga nas armadilhas consiste em visitas regulares ao campo, feitas por um operador humano, onde cada armadilha é inspecionada visualmente pelo operador. Essas visitas são realizadas, geralmente, a cada semana, podendo acontecer em períodos mais longos, dependendo do tamanho da propriedade (TIRELLI et al., 2011).

Porém, esse método possui alguns inconvenientes: deslocar um operador humano pela área da plantação é um trabalho muito intensivo, insalubre e oneroso; e, como a periodicidade das visitas é geralmente semanal, não é possível obter informações sincronizadas e atualizadas de todas as armadilhas da plantação, uma vez que as visitas vão sendo realizadas ao longo da semana (LÓPEZ et al., 2012).

Dessa forma não é possível aplicar o MIP com uma precisão satisfatória, pois essas técnicas tradicionais de monitoramento não permitem que a dinâmica das populações de insetos-praga seja capturada em tempo real (JIANG et al., 2008). Para facilitar e agilizar esse processo de monitoramento, uma alternativa é a utilização de armadilhas inteligentes, que sejam capazes de gerar imagens do seu interior, realizar a identificação e contagem automatizada dos insetos-praga capturados e, então, enviar as informações da contagem dos insetos para um servidor, onde elas serão processadas e as devidas ações necessárias para realizar o controle de pragas na região serão tomadas.

A tarefa de identificar insetos através do uso de imagens não é trivial, pois conta com diversos fatores (exemplos dos fatores abaixo podem ser observados nas Figuras 2 e 3) que podem afetar esse processo, dentre eles:

Sobreposição de insetos: como as armadilhas são posicionadas na área da plan-tação (ambiente externo), insetos maiores, folhas de árvores e outros objetos podem acabar se tornando um obstáculo entre a lente da câmera e a base interna da armadilha, gerando uma possível oclusão de insetos menores capturados sob estes objetos.

Grande variedade de insetos capturados: apesar das armadilhas possuírem fe-romônios ou atrativos alimentares para atraírem insetos específicos para seu interior, isso não é um empecilho para que outros insetos sejam capturados pela armadilha. Além de ser algo bastante comum de acontecer, esse fator pode ocasionar uma densidade elevada de insetos capturados, sendo um agravante no processo de classificação, dada a grande proximidade dos insetos.

(17)

17

Diferentes posições e formas de insetos de uma mesma espécie: considerando, por exemplo, aspectos como a abertura das asas dos insetos, percebe-se que sua forma pode variar significativamente, gerando uma alta gama de possibilidades a serem consideradas na etapa de classificação.

Figura 2 – Exemplar de papel com cola entomológica com uma quanti-dade mediana de ruído.

Figura 3 – Exemplar de papel com cola entomológica com uma quanti-dade menor de ruído.

Figura 4 – Ceratitis capitata

(mosca-da-fruta) Figura 5 – Grapholita molesta

(mari-posa oriental)

Os insetos de interesse do presente trabalho são a mosca-da-fruta Ceratitis capitata (Figura 4) e a mariposa Grapholita molesta (Figura 5), que estão entre as principais pragas presentes na fruticultura mundial. A mosca-da-fruta do gênero Ceratitis, também conhecida como mosca-do-mediterrâneo, apresenta uma larga distribuição geográfica

(18)

no Brasil, sendo a única espécie do gênero registrada que já se encontra amplamente disseminada e adaptada a ambientes rurais e urbanos.

Além disso, do ponto de vista econômico da fruticultura mundial, a mosca-do-mediterrâneo é a mais importante dentre as moscas-das-frutas, por ser a espécie mais cosmopolita e pela sua capacidade de transmitir a bactéria Escherichia coli para frutos comerciais. Também, a presença de moscas-das-frutas faz com que os países importadores de frutos criem barreiras fitossanitárias, dificultando a exportação de frutos para estes países (MONTES; RAGA, 2006; SELA et al., 2005).

Com base no contexto apresentado, este trabalho tem como objetivo o desen-volvimento de um protótipo de armadilha inteligente que seja capaz de realizar todo processo de identificação e contagem de insetos-praga nas plantações. Mais apro-fundadamente, este processo consiste: i) da captura da imagem feita no interior da armadilha; ii) do processamento da imagem, onde é realizada a identificação e a contagem dos insetos-praga encontrados; e, iii) do envio das informações, resultantes da contagem, para um servidor remoto.

Portanto, como objetivos específicos tem-se:

• Integração dos componentes de hardware para criação do protótipo de armadilha e sink ;

• Desenvolvimento de um algoritmo de identificação de insetos-praga em armadi-lhas;

• Desenvolvimento de um algoritmo de contagem dos insetos-praga capturados; • Criação de um dataset de imagens para treinamento do algoritmo de identificação;

e,

• Homologação do protótipo com teste de campo.

O trabalho está dividido da seguinte forma: no Capítulo 2 são apresentados os conceitos principais de aprendizagem de máquina, com foco em deep learning, onde são introduzidas algumas arquiteturas de redes neurais convolucionais e outras técnicas. No Capítulo 3, estão apresentados os trabalhos relacionados com a identificação de insetos para prevenção de infestações. Após, é descrita a metodologia do trabalho no Capítulo 4. O Capítulo 5 apresenta os resultados dos experimentos e no Capítulo 6 são feitas as conclusões.

(19)

2

APRENDIZAGEM DE MÁQUINA

Existem diversas formas de obtenção de conhecimento, dentre as quais pode-se citar a percepção do mundo ao pode-seu redor e a constante obpode-servação dos pode-seus próprios atos. Esse conhecimento pode variar de algo simples, como a memorização de uma receita de bolo até algo bem mais complexo, como a dedução de teorias científicas. A ideia de aprendizagem está diretamente relacionada com essa obtenção de conhecimento, com o objetivo de fazer um sistema melhorar seu desempenho em tarefas futuras (RUSSELL; NORVIG, 2009).

Aprendizagem de máquina pode ser definida como um conjunto de métodos que procuram por padrões em dados de forma automática e usam essa informação para tentar prever dados futuros, ou ainda, tomar outros tipos de decisões que são baseadas em incerteza (MURPHY, 2012). O reconhecimento de rostos em imagens é um exemplo atual do uso de aprendizagem de máquina em redes sociais. Com base em outras imagens que possuem a figura de um rosto, o algoritmo é capaz de identificar padrões nos rostos que aparecem nessas imagens e assim, passar a reconhecer rostos em imagens futuras de forma automática.

No aprendizado supervisionado, é fornecido ao algoritmo um conjunto de dados que é chamado de conjunto de treinamento. Esses dados geralmente possuem o formato (x, f (x)), onde x é um vetor de n dimensões, que representa a entrada e f (x) é a saída, dada a entrada x. O objetivo desse aprendizado é treinar o algoritmo com o conjunto de treinamento, descobrindo a relação dos dados de entrada com os dados de saída, para que quando o algoritmo for alimentado com entradas diferentes das que ele conhece, ele seja capaz de prever as saídas corretas (RUSSELL; NORVIG, 2009; MURPHY, 2012; BARBER, 2012).

No aprendizado não-supervisionado, o conjunto de dados fornecido é composto apenas por dados de entrada e o objetivo é encontrar um certo agrupamento entre os dados, também conhecido como descoberta de conhecimento. Outro fator que difere esse tipo de aprendizado do aprendizado supervisionado é que não são fornecidas saídas para os dados de entrada. Logo, em outras palavras, o interesse principal é encontrar uma descrição plausível e compacta dos dados (MURPHY, 2012; BARBER,

(20)

2012; HASTIE; TIBSHIRANI; FRIEDMAN, 2009).

2.1

Redes Neurais Convolucionais

Uma rede neural convolucional (do inglês, convolutional neural network – CNN) é considerada uma rede do tipo multilayer perceptron (MLP) (HAYKIN, 1994; RUSSELL; NORVIG, 2009) que foi modelada para reconhecimento de imagens bidimensionais com alto grau de invariância em translação, escala e outras transformações. O de-senvolvimento da CNN foi originalmente motivado pelo trabalho de HUBEL; WIESEL (1962), baseando-se em neurônios do córtex visual de gatos (HAYKIN, 1994).

O aprendizado em uma CNN é realizado de forma supervisionada e possui uma estrutura que obedece às seguintes restrições (HAYKIN, 1994):

Extração de características: cada neurônio recebe seus valores de entrada de um campo receptivo local da camada anterior, a qual extrai características locais. Em relação à posição da característica extraída, a informação mais importante é sua posição em relação às outras características.

Mapeamento de características: cada camada de computação da rede neural possui mapas de características. Cada um desses mapas possui a forma de um plano, onde os neurônios são restritos a compartilhar o mesmo conjunto de pesos. Sub-amostragem: cada camada de convolução é seguida de uma camada de

compu-tação que realiza média local e sub amostragem, para que a resolução do mapa de características seja reduzida. Isso faz com que a sensibilidade da saída do mapa de características seja reduzida, além de outras transformações.

Figura 6 – Exemplo de processamento de imagem em uma CNN (HAYKIN, 1994).

Em uma CNN, todos os pesos em todas as camadas são aprendidos por treinamento. Além disso, todas as extrações de características são feitas de forma automática. A Figura 6 apresenta o processo de uma CNN, que possui uma camada de entrada,

(21)

21

quatro camadas intermediárias e uma camada de saída. Ela apresenta a modelagem de um processamento de imagem (reconhecimento de escrita à mão ou identificação de insetos em armadilhas, por exemplo).

A camada de entrada possui 28 × 28 nodos sensoriais. Ela recebe como entrada, conjuntos de imagens de caracteres, por exemplo, que, anteriormente, foram centraliza-das e normalizacentraliza-das em relação ao tamanho da imagem. As camacentraliza-das intermediárias seguintes intercalam entre convolução e sub amostragem, de forma que (HAYKIN, 1994):

• A primeira camada intermediária faz uma convolução. Ela é composta por quatro mapas de características, cada um com 24 × 24 neurônios. Cada neurônio possui um campo receptivo 5 × 5.

• A segunda camada faz uma média local e uma sub amostragem. Também é composta por quatro mapas de características, dessa vez com 12 × 12 neurônios. Cada neurônio possui um campo receptivo 2×2, além de outros atributos utilizados nessa camada.

• A terceira camada faz uma segunda convolução. É composta por doze mapas de características, cada um com 8 × 8 neurônios. Cada neurônio dessa camada pode ter várias conexões sinápticas da camada anterior ou então operar de maneira análoga a um neurônio da primeira camada.

• A quarta camada intermediária faz uma segunda média local e sub amostragem. É composta por doze mapas de características, cada um com 4 × 4 neurônios. • A camada de saída faz uma última convolução. É composta por 26 neurônios,

cada um representando um dos 26 caracteres existentes no alfabeto. Cada neurônio possui um campo receptivo 4 × 4.

As redes neurais convolucionais se tornaram famosas com os desafios da Image-Net (RUSSAKOVSKY et al., 2015), onde atingiram o estado da arte em reconhecimento de objetos em imagens. São exemplos de redes CNN as redes AlexNet e SqueezeNet, apresentadas a seguir.

2.1.1 AlexNet

A rede neural de convolução AlexNet (KRIZHEVSKY; SUTSKEVER; HINTON, 2012) se tornou famosa pela sua performance no ILSVRC2012 (Imagenet Large Scale Visual Recognition Challenge 2012), atingindo um top-5 error rate de 15, 3% comparado com os 26, 2% do segundo colocado.

A AlexNet possui um total de 60 milhões de parâmetros e 650.000 neurônios, divididos em 5 camadas convolucionais, algumas seguidas de camadas de max-pooling

(22)

e 3 camadas fully-connected com um 1000-way final softmax. A função ReLU é utilizada na saída de toda camada convolucional e fully-connected.

O sobre ajuste (do inglês, overfitting) se tornou um problema considerável para a AlexNet por conta do seu tamanho. Para contornar esse problema, foram utilizadas técnicas de data augmentation e dropout.

Dropout é uma técnica que consiste em setar para zero a saída de cada neurônio oculto, dada uma probabilidade pré-definida. Esses neurônios que são droped-out não contribuem no treinamento da rede, dessa forma reduzindo o overfitting.

2.1.2 SqueezeNet

SqueezeNet (IANDOLA et al., 2016) é uma rede neural de convolução que foi criada com o intuito de ser menor que as outras CNNs existentes, oferecendo uma acurácia equivalente ou até superior a essas CNNs. Tendo uma arquitetura menor, a rede SqueezeNet oferece pelo menos três vantagens: i) necessita menos comunicação entre os servidores ao realizar treinamento distribuído; ii) precisa de menos banda para exportar um modelo da nuvem para o sistema embarcado de destino; e, iii) é mais adequada para ser utilizada em FPGAs e outros dispositivos com memória limitada.

A rede SqueezeNet atinge uma acurácia equivalente a da AlexNet e possui 50× menos parâmetros. Dessa forma, utilizando algumas técnicas de compressão, é possível obter um modelo da rede SqueezeNet até 510× menor do que a AlexNet (aproximadamente 0, 5 MB) em sua forma reduzida. Isso é possível por conta de três estratégias que foram empregadas no projeto da SqueezeNet:

Estratégia 1: substituir filtros 3 × 3 por filtros 1 × 1. A maioria dos filtros são transfor-mados em filtros 1 × 1, pois eles têm 9× menos parâmetros que filtros 3 × 3. Estratégia 2: diminuir o número de canais de entrada para os filtros 3 × 3.

Conside-rando uma camada de convolução composta totalmente por filtros 3 × 3, o nú-mero total de parâmetros nessa camada seria (núnú-mero de canais de entrada) × (número de filtros) × (3 × 3). Então, para manter uma quantidade reduzida de parâmetros, além de reduzir a quantidade de filtros 3 × 3 (Estratégia 1), também é importante reduzir o número de canais de entrada dos filtros 3 × 3. Isso é feito utilizando camadas de squeeze.

Estratégia 3: reescalonamento tardio na rede para que as camadas de convolução tenham mapas de ativação maiores. A ideia é que mapas de ativação maiores (dado o reescalonamento tardio da rede) aumente a acurácia da classificação, mantendo todo o resto igual. Essa estratégia foca em manter uma boa acurácia da rede mesmo com um número bastante reduzido de parâmetros.

(23)

23

Para empregar com sucesso as três estratégias citadas se utiliza um bloco de cons-trução, chamado de Fire module, composto de: uma camada de squeeze (composta apenas de filtros 1 × 1), que é sucedida por uma camada de expansão, que é composta por uma mistura de filtros 1 × 1 e 3 × 3, como ilustrado na Figura 7.

Figura 7 – Exemplo de um Fire module com s1×1= 3, e1×1= 4e e3×3= 4(IANDOLA

et al., 2016).

Esse módulo possui três hiper-parâmetros que podem ser manipulados: s1×1, e1×1

e e3×3. O hiper-parâmetro s1×1corresponde ao número de filtros 1 × 1 na camada de

squeeze, e1×1é o número de filtros 1 × 1 na camada de expansão e e3×3é o número de

filtros na 3 × 3 nessa mesma camada. Para diminuir o número de canais de entrada dos filtros 3 × 3 (Estratégia 2), o valor de s1×1deve ser menor que (e1×1+ e3×3).

A arquitetura da SqueezeNet pode ser visualizada na Figura 8 (pág. 24). Ela é composta por uma camada de convolução solitária (conv1), seguida por oito Fire modules (fire2-9), finalizando com uma outra camada de convolução (conv10). O número de filtros é gradualmente aumentado do início para o fim da rede. Max-pooling é realizado após as camadas conv1, fire4, fire8 e conv10.

Para que as saídas dos filtros 1 × 1 e 3 × 3 tenham a mesma altura e comprimento, adiciona-se uma borda de 1 pixel nos dados de entrada dos filtros 3 × 3 da camada de expansão. Neste tipo de rede, ReLU é aplicado na ativação de ambas camadas de squeeze e de expansão (NAIR; HINTON, 2010). Aplica-se Dropout com uma probabilidade de 50% após o módulo fire9 (SRIVASTAVA et al., 2014). Além disso, não há camadas fully-connected no design original da SqueezeNet.

2.2

Data augmentation

Data augmentation é um método utilizado para expandir, de forma artificial, o número de imagens de um dataset, usando transformações nas imagens sem alterar sua classe. Existem uma série de transformações que podem ser usadas nos datasets, tanto para aumentar o número de imagens de treinamento, quanto para reduzir o

(24)

Figura 8 – Arquitetura da SqueezeNet (IANDOLA et al., 2016).

overfitting do modelo. Dentre elas, pode-se citar as transformações geométricas e fotométricas (TAYLOR; NITSCHKE, 2017).

As transformações geométricas alteram a geometria da imagem, fazendo com que a CNN se torne invariante à posição e à orientação, no treinamento. Exemplos de transformações geométricas incluem operações de rotação, escala, cortes, translação e inversão. Transformações fotométricas tem o objetivo de tornar a CNN invariante às mudanças de luz e cor. Exemplos de transformações fotométricas incluem a adição de ruído nas cores e a mudança no brilho (TAYLOR; NITSCHKE, 2017).

(25)

25

2.3

Transfer Learning

Transfer learning é uma técnica utilizada para melhorar os resultados de um classifi-cador transferindo conhecimento adquirido em um domínio relacionado.

Um exemplo do mundo real pode ser usado para ilustrar essa técnica: duas pessoas querem aprender a tocar piano, uma delas não tem nenhum conhecimento prévio sobre música e a outra tem um conhecimento extenso que foi adquirido tocando guitarra. A pessoa que já possui conhecimentos prévios por tocar guitarra, tende a aprender a tocar piano de uma maneira muito mais eficiente, transferindo seu conhecimento prévio sobre música para a tarefa de tocar piano. Ou seja, ela é capaz de utilizar conhecimento adquirido em uma tarefa anterior para se beneficiar na aprendizagem de uma tarefa relacionada.

Em redes neurais convolucionais, a técnica de transfer learning é utilizada para inicializar uma rede neural com conhecimentos adquiridos a partir de uma outra rede neural, treinada para outra aplicação. Dessa forma, a nova rede neural parte de um estado onde ela já possui conhecimentos prévios, em vez de ser inicializada do zero (WEISS; KHOSHGOFTAAR; WANG, 2016).

Existem três medidas principais onde a técnica pode melhorar os resultados obtidos. A primeira é a performance obtida utilizando apenas os conhecimentos transferidos, sem nenhum outro treinamento ter sido realizado, comparada com a performance de um classificador que não foi treinado com nenhum dado. A segunda é o tempo necessário para treinar completamente um modelo a partir de conhecimento transferido, comparado a treinar completamente um modelo iniciando do zero. A terceira é a performance final do modelo treinado com transfer learning, comparado com o modelo treinado do zero. A Figura 9 ilustra essas três medidas (TORREY; SHAVLIK, 2010).

Figura 9 – Três maneiras em que a técnica de transfer learning pode melhorar o aprendizado (TORREY; SHAVLIK, 2010).

(26)

2.4

Fine-tuning

Fine-tuning é um processo que ocorre após o uso de transfer learning em uma rede neural. A rede é primeiramente inicializada com pesos obtidos em um outro domínio por transfer learning, com uma função de classificação construída para minimizar o erro nesse domínio. E, então, essa função de classificação é substituída e a rede neural é otimizada para minimizar os erros em um novo e mais específico domínio.

Com essa configuração, as características e parâmetros da rede no domínio inicial são transferidas para o novo domínio. Esse processo de transformar características de uma aplicação em características mais específicas de outra aplicação é chamado de fine-tuning (REYES; CAICEDO; CAMARGO, 2015).

2.5

ImageNet

ImageNet (DENG et al., 2009) é um banco de dados de imagens organizado de acordo com a hierarquia da WordNet (MILLER, 1998), onde essa árvore hierárquica possui uma média de 500 imagens por nó. Cada conceito que possui algum significado na WordNet é chamado de “synset”. Existem cerca de 100.000 synsets na WordNet, onde a maioria deles são substantivos (em torno de 80.000).

Atualmente, a ImageNet possui mais de 14 milhões de imagens no seu banco de dados, pertencentes a mais de 21 mil synsets. Dentre eles, pode-se citar como categorias mais genéricas (high-level): animais, dispositivos, comidas, pessoas, plantas, veículos, estruturas, etc. Neste trabalho, o conjunto de dados de treinamento utilizado para inicializar a rede consiste em mais de 1,2 milhões de imagens, distribuídas em 1000 classes distintas (RUSSAKOVSKY et al., 2015).

(27)

3

TRABALHOS RELACIONADOS

O problema da identificação de pragas em plantações tem ganhado atenção nos últimos anos e diversas abordagens estão sendo utilizadas para resolvê-lo. Nas Seções seguintes são apresentados os trabalhos relacionados agrupados pelas características que são exploradas nas suas abordagens.

3.1

Utilizando características globais da imagem

No trabalho de QING et al. (2012) foi apresentado um método de identificação de 4 espécies de mariposas, que são pragas que atacam plantações de arroz, capturadas em armadilhas luminosas. Após capturados na armadilha, os insetos são separados por tamanho, através do uso de uma peneira. Como o algoritmo não lida com insetos que ficam sobrepostos, todos os insetos são levemente afastados uns dos outros para evitar a sobreposição. Insetos que não são considerados pestes são rejeitados antes da identificação. Em seguida, os insetos são espalhados em uma mesa de vidro, que possui quatro fontes de iluminação e duas câmeras de alta resolução, onde são geradas imagens dos insetos tanto pela parte superior, quanto pelo parte inferior da mesa. Para realizar a identificação, primeiramente o background é removido da imagem através de uma técnica de diferença de cores, onde é utilizada uma imagem com insetos e outra sem insetos. Após a remoção do background são extraídas 156 características baseadas na cor (usando sistema de cores HSV), formato e textura dos insetos. Para a classificação foi utilizado o algoritmo SVM, com kernel rbf, e a taxa média de identificação foi de 97, 5%, verificada pelo algoritmo K-fold Cross validation, com K = 7.

Em LIU et al. (2016) foi proposto um algoritmo para detectar a presença de três espécies de afídeos (pulgões) em campos de trigo. As imagens foram coletadas diretamente na planta de trigo, sem uso de armadilhas. As imagens utilizadas para treino possuem resolução de 20 × 30 pixels, em que todos exemplos positivos possuem um afídeo por imagem e exemplos negativos não possuem afídeos.

(28)

(MSER) e histogram of oriented gradients (HOG) como detectores de características e SVM como classificador. Esse modelo foi comparado com cinco outros modelos e apresentou taxas de acerto de 89, 68%, 86, 76% e 86, 99% e taxas de erro de 6, 99%, 7, 56%e 12, 16% para afídeos pretos, vermelhos e verdes, respectivamente.

3.2

Utilizando características locais da imagem

SOLIS-SÁNCHEZ et al. (2011) desenvolveram um algoritmo que utiliza diversas informações geométricas do inseto em conjunto com o descritor de características SIFT para realizar a identificação de 6 espécies de insetos, capturados em armadilhas adesivas. A identificação se inicia com a segmentação da imagem e, após, são calculadas as informações geométricas dos insetos. Na sequência, realiza-se uma clusterização e é aplicado o algoritmo SIFT para obter características invariantes a escala. Essas informações são comparadas com informações existentes em um banco de dados e a identificação é realizada. A identificação atingiu um coeficiente de determinação R2 = 0.99.

Em MAHARLOOEI et al. (2017) é realizada a identificação e contagem de afídeos em quatro variedades de soja. As imagens são geradas diretamente da folha de soja, onde foram utilizadas diferentes câmeras, dois tipos de iluminação e três diferentes densidades de afídeos em cada variedade de soja. O processo de identificação inicia com um corte manual da área da folha em relação ao background, seguido da aplicação do método Excess Green para completar a segmentação da folha. Após, a imagem resultante é convertida para o espaço de cores HSI, onde as componentes hue e intensity são usadas para aumentar o contraste dos afídeos em relação à folha. Os afídeos são identificados em relação a sua área (número de pixels) e são contados com a função bwconncomp do MATLAB. Uma das limitações que o trabalho apresenta é o fato de não lidar com insetos sobrepostos. O trabalho apresentou resultados satisfatórios com diferentes câmeras sob alta iluminação, porém os resultados não foram muito bons sob baixa iluminação. Os autores concluem que câmeras digitais não muito caras podem dar resultados satisfatórios na contagem de afídeos sob alta iluminação.

Em BAKKAY et al. (2018) o objetivo é identificar mariposas em armadilhas adesivas. O primeiro passo do algoritmo segmenta a imagem e divide as regiões em 3 classes principais: ruído, insetos individuais e conjunto de insetos. Os conjuntos de insetos passam por uma outra segmentação (segmentação baseada em região), em que é aplicado o algoritmo watershed para que essa região seja transformada em regiões menores (insetos individuais). Depois de realizar essa segunda segmentação, a classificação das mariposas é realizada usando-se SVM, onde as características são extraídas pelo descritor HCS (Histogram of Curviness Saliency ), que é robusto a

(29)

29

mudanças de iluminação e é capaz de descrever contornos internos e externos do inseto em múltiplas escalas. A classificação final do modelo é dividida em: mariposa e não-mariposa e a acurácia do modelo é de 95, 8%.

3.3

Utilizando cores

LIU et al. (2009) desenvolveram uma armadilha para capturar e identificar moscas-das-frutas. Como a armadilha possui um feromônio específico para atrair a espécie de interesse, assumiu-se que apenas moscas-das-frutas dessa espécie entrarão na armadilha. A armadilha possui alimentação por bateria solar e informa a possível captura do inseto de interesse por SMS. Quando um inseto entra na armadilha, uma imagem é gerada e a diferença dessa imagem para uma imagem template informa que um inseto foi capturado. Após, realiza-se a segmentação do inseto capturado e a identificação com base em um padrão de coloração amarela encontrado na parte superior do corpo do inseto. O trabalho informa uma precisão de identificação de 80% porém apenas 10 insetos foram submetidos a teste, onde 8 deles foram identificados corretamente.

BARBEDO (2014) desenvolveu um algoritmo para identificar espécimes de mosca branca, tanto na fase adulta quanto na fase de larva. As imagens são coletadas direto da folha de soja, local onde o inseto se instala. A coleta de imagem possui algumas restrições: i) é necessário que a iluminação seja o mais difusa possível, para evitar sombras e reflexos; ii) a posição da câmera deve ser perpendicular a folha; e, iii) se a folha estiver enrugada, deve ser levemente esticada, sem perturbar os insetos. Para realizar a identificação, as imagens são convertidas para diversos espaços de cores que realçam diferentes partes do desenvolvimento da mosca branca. Para cada uma dessas etapas é aplicado um threshold distinto para fazer a segmentação, o que torna o algoritmo muito dependente de uma iluminação adequada. Os objetos extras que são segmentados em conjunto com os objetos de interesse são removidos da imagem com base nas informações de área e excentricidade de cada região. O trabalho apresenta resultados razoáveis para identificação de insetos nas imagens que foram obtidas de acordo com as restrições citadas, porém perde qualidade quando as restrições não são obedecidas. Os resultados superiores aparecem quando a mosca branca já está na fase adulta, atingido 0, 95 na métrica F .

O trabalho desenvolvido por EBRAHIMI et al. (2017) tem como objetivo a detecção de tripes (Thysanoptera) em plantações de morango no interior de estufas. Para a geração das imagens, uma câmera de alta resolução foi acoplada a um braço robótico que se move horizontalmente pelas mesas no interior da estufa onde a plantação de morango está localizada. As imagens são coletadas a 80 centímetros de distância com iluminação natural. O processo de detecção tem início com a aplicação do operador

(30)

gamma no canal de cor azul do modelo RGB, com o objetivo de aumentar o nuance de regiões mais claras, no caso, na área da flor do morango, onde os tripes se localizam. Equalização de histograma e alongamento de contraste foram utilizados para remover traços de background restantes. A imagem é binarizada através do método Otsu e invertida para que os insetos de interesse sejam considerados como target ao invés de background. Na sequência, a imagem original é convertida para o espaço de cores HSI, pois o espaço de cores RGB não apresentou resultados satisfatórios para o trabalho. Como outros insetos podem estar presentes na planta do morango, então é necessária a classificação das regiões segmentadas. Os autores usaram o algoritmo SVM para realizar a classificação e, após a realização de testes, determinaram que o valor de intensity (I) era mais adequado para classificação. Os erros de classificação usando intensity como entrada para SVM foram inferiores a 3%.

3.4

Utilizando redes neurais convolucionais

O trabalho de DING; TAYLOR (2016) tem como objetivo realizar o identificação do inseto codling moth (mariposa-das-maçãs) através de imagens coletadas de armadi-lhas adesivas. O processo de identificação se inicia com um pré-processamento da imagem, onde ela é transformada para tons de cinza através do algoritmo grey-world. O processo continua com a aplicação de uma rede neural de convolução (CNN) com janela deslizante, onde para cada janela, a rede retorna um escalar p ∈ [0; 1] que é a probabilidade de existir uma mariposa nessa janela. Para o treinamento da CNN, foram utilizadas janelas contendo mariposas como exemplos positivos e janelas sem mariposas como exemplos negativos. Com a finalidade de utilizar imagens com carac-terísticas mais significativas nos exemplos negativos, imagens negativas com maior probabilidade de serem confundidas com imagens positivas foram priorizadas. Para os exemplos positivos, foi utilizada a técnica de data augmentation para aumentar o número de exemplos no treinamento. Para os testes, o autor separou a identificação em dois níveis: i) nível de objeto (detecção individual de mariposas); e, ii) nível de imagem (se existe pelo menos uma mariposa na imagem). No nível de objeto, o algoritmo atingiu uma área sob a curva (AUC) de 0, 931 e no nível de imagem atingiu 0, 993 de AUC.

CHENG et al. (2017) compararam o resultado da aplicação de três redes neurais de convolução (CNN) na identificação de dez insetos-peste distintos. As imagens dos insetos-peste foram coletadas diretamente da planta e em cada imagem aparece apenas um inseto-peste. Por serem insetos-peste de plantas distintas, o background das imagens coletadas varia bastante de uma imagem para outra. O conjunto de dados conta com 550 imagens, onde são 55 para cada inseto-peste, destas 40 foram usadas para treinamento e 15 para teste. Os modelos de CNN utilizados para comparação

(31)

31

foram Alexnet, ResNet-50 e ResNet-101 (estas duas últimas, baseadas no aprendizado deep residual). A acurácia de cada uma das CNN testadas foram 86, 67%, 94, 67% e 98, 67%, respectivamente.

3.5

Utilizando abordagem bag-of-words

O trabalho de WEN; GUYER; LI (2009) tem como objetivo a identificação de cinco espécies de mariposas de pomar. A aquisição das imagens dos insetos é realizada em laboratório, onde os insetos são congelados por 20 minutos e colocados de forma aleatória em uma superfície branca, com iluminação artificial. As imagens são geradas a partir de uma câmera de alta resolução acoplada a um microscópio, onde apenas um inseto é capturado por imagem. A identificação é realizada com base no modelo bag-of-words, onde os descritores são extraídos com o algoritmo SIFT e a clusterização é feita com o algoritmo K-means. Seis algoritmos de classificação foram utilizados, sendo SVM o algoritmo que obteve melhor resultado, com 88, 4% de acertos.

Em WEN; GUYER (2012) foi desenvolvido um modelo hierárquico de identificação de oito espécies de mariposas, utilizando características locais e globais. Foram gerados dois conjuntos de dados: o primeiro com imagens de insetos obtidas em laboratório e o segundo com imagens de insetos obtidas no campo. Em ambos conjuntos de dados, cada imagem contém apenas um inseto. O processo de identificação inicia com uma segmentação baseada em clusterização, onde a imagem é convertida para o espaço de cores HSV e o valor de hue é utilizado na clusterização, em que são definidos dois clusters no algoritmo K-means, onde um cluster representa o inseto e o outro representa o background. Após a segmentação, diversas características globais são extraídas, baseadas em: cor, textura, geometria, contorno e momentos invariantes. Também é utilizado o algoritmo SIFT e o modelo de representação bag-of-words para representar características locais. Para classificação das imagens geradas em laboratório, o algoritmo normal densities based linear classifier (NDLC) teve a melhor acurácia de 96, 9% para características globais e o algoritmo nearest mean classifier (NMC) obteve a acurácia de 71, 3% para características locais. Para o conjunto de dados gerado no campo, o modelo hierárquico obteve uma acurácia de 86, 6%.

3.6

Utilizando sensores

Em HOLGUIN et al. (2010), foram desenvolvidos dois protótipos de armadilhas (em formato de balde) para realização da contagem dos insetos capturados, sem se preocupar com sua identificação. O primeiro protótipo utiliza light dependant resistors (LDR) e light emitting diodes (LED) para realizar a contagem dos insetos, porém esse protótipo não foi utilizado em campo. O segundo protótipo, que foi desenvolvido e

(32)

testado em campo, utiliza sensores infravermelhos para realizar a contagem. A taxa de falsos-positivos observada no teste de campo foi de 17, 3% em um dos testes e 11, 4% no outro teste realizado. Um fator interessante que foi observado durante os testes é que a armadilha com os sensores infravermelhos capturava apenas cerca de metade do total de insetos capturados por outra armadilha idêntica, porém sem a presença dos sensores, que foi utilizada para controle do experimento. Dois possíveis motivos foram levantados para tal fato: i) a vibração ultrassônica gerada pelos circuitos de clock ; e, ii) o campo eletromagnético gerado pelos circuitos de detecção.

3.7

Utilizando detectores de objetos

O trabalho de ZHONG et al. (2018) tem como objetivo classificar seis espécies de insetos-praga em armadilhas adesivas. Esse trabalho realiza, inicialmente, uma detecção de objetos na imagem através do algoritmo YOLO (You Only Look Once), onde é realizada uma contagem geral de insetos capturados. Após a realização da contagem, cada região encontrada pelo algoritmo YOLO é classificada usando SVM. A captura dos insetos é feita através do uso de armadilhas adesivas amarelas (apenas o piso), que ficam penduradas na área da plantação, onde após certo tempo são recolhidas e colocadas em uma base de metal posicionada na frente de uma câmera, onde é realizada a captura das imagens, que é feita apenas durante o dia, não sendo usada nenhuma fonte de iluminação artificial. Desse modo, pode-se perceber que o processo de geração de imagens dos insetos capturados não é totalmente automati-zado, tendo em vista que é necessária uma etapa de trabalho manual na geração das imagens. A base de dados de treinamento da primeira parte do algoritmo (YOLO) é formada por 3000 imagens, que foram expandidas para 12000 imagens com técnicas de data augmentation. Dessas 12000 imagens, foram escolhidas aleatoriamente 10000 imagens, onde essas foram divididas em: 8000 para treinamento, 1000 para validação e 1000 para testes. Para o treinamento do modelo de SVM, 700 exemplos pertencentes às seis classes de interesse foram obtidos e aumentados para 7000, fazendo uso de data augmentation, em que 4900 foram utilizados para treinamento e 2100 para teste. Como exemplos negativos, 1000 exemplos foram aumentados para 10000, porém não foi especificado pelos autores quantos exemplos foram usados para treinamento e teste. O modelo YOLO foi treinado apenas para contar insetos voadores, não diferenciando sua espécie. Dessa forma, qualquer tipo de inseto voador é considerado como uma das classes, enquanto ruídos e outras impurezas pertencem a outra classe. Com base nessa informação, os autores obtiveram uma acurácia de 93, 71% na contagem de insetos voadores. Na classificação com SVM, foram treinados seis modelos no formato One vs. Rest, um para cada classe. A acurácia média obtida utilizando características globais foi de 95, 18%.

(33)

33

Em HE et al. (2019) foi desenvolvido um aplicativo para a plataforma Android que é capaz de identificar 12 tipos de pragas de canola (oilseed rape) a partir de imagens tiradas pela câmera do celular ou já armazenadas no aparelho. Para isso, o modelo foi treinado com imagens oriundas de diferentes fontes: imagens da internet, imagens obtidas em campo (direto na planta) e imagens obtidas em laboratório. No laboratório, as imagens foram capturadas a partir de um equipamento especial, montado para este fim, em que o mesmo consiste em: uma câmera posicionada na parte superior, placas de vidro onde são posicionados os insetos e duas fontes iluminação artificial, com o objetivo de aumentar a luminosidade da imagem e reduzir a sombra. Dada a dificuldade na obtenção de imagens de algumas pragas específicas, o conjunto de dados de treinamento ficou bastante desbalanceado. Para resolver essa limitação, os autores aplicaram técnicas de data augmentation para gerar imagens artificiais das classes com menos dados, de forma a balancear o conjunto de dados. O modelo final foi treinado em vários algoritmos de detecção de objetos e extratores de características distintos em que, após a realização de testes, o modelo treinado no algoritmo SSD apresentou os melhores resultados, utilizando Inception como extrator de características, obtendo uma média de precisões médias (mean average precision) de 77, 14%.

(34)

Neste Capítulo são apresentados os componentes utilizados na construção do protótipo de armadilha inteligente utilizado para a coleta de imagens, os métodos de captura de imagens e da geração da base de treino, além de todos os passos utilizados pelo algoritmo com a finalidade de identificar os insetos de interesse nas imagens.

4.1

Armadilha Inteligente

O protótipo de armadilha inteligente desenvolvido neste trabalho consiste na inte-gração de componentes com diferentes finalidades que, em conjunto, desempenham as funções de coleta e armazenamento das imagens, processamento do algoritmo de identificação e contagem dos insetos-praga, transferência dos dados obtidos para um servidor central.

Com o objetivo de obter-se um produto que realize todas as funções citadas, foi feito um estudo dos componentes necessários para o desenvolvimento do mesmo, visando uma boa performance e qualidade, ao mesmo tempo em que considerava-se um consumo moderado de energia para o funcionamento to sistema. Baseado neste estudo, a versão final do protótipo é formada pelos seguintes componentes: Raspberry Pi 3, Arduino UNO, módulo de câmera Raspberry Pi v2, XBee, módulo de Relay, RTC e bateria Power Bank.

A placa Raspberry Pi 3 (Raspberry Pi Foundation, 2019) foi escolhida com base na sua capacidade de processamento e facilidade de uso. Por ser uma placa amplamente usada pela comunidade científica, é possível encontrar diversos módulos e bibliotecas desenvolvidos para a mesma, aumentando as possibilidades de desenvolvimento. Um dos pontos negativos é a placa possuir muitos recursos que não são necessários para a aplicação, porém a maioria desses recursos pode ser desabilitada, reduzindo o processamento e o consumo energético. Neste trabalho, a placa é utilizada para armazenamento das imagens capturadas pelo módulo de câmera da Raspberry Pi v2 e realização do processamento do algoritmo de contagem de insetos desenvolvido.

(35)

transfe-35

rência dos dados de contagem dos insetos entre as armadilhas e o sorvedouro (sink ), na plantação. Ele foi escolhido por sua capacidade em detectar outros módulos XBee na sua proximidade e montar uma rede de sensores sem fio de forma automática, sem a necessidade de mapeamento manual de cada armadilha. Dessa forma, os dados trafegam de armadilha em armadilha até atingir o sink, onde são encaminhados para o servidor central.

Em razão do sistema da armadilha ser formado por diversos componentes, o consumo de energia é bastante alto. Como o consumo de bateria é algo crítico em sistemas embarcados, desenvolveu-se uma técnica para estender o tempo de vida da bateria, diminuindo sua frequência de troca. Verificou-se que só havia necessidade do sistema permanecer ativo durante os períodos de processamento do algoritmo e de transferência de dados, o que corresponde a poucos minutos, considerando poucas coletas de imagem durante o dia. Dessa forma, foram utilizados os módulos de RTC e de Relay para ativar e desativar o sistema durante os períodos em que o mesmo permaneceria ocioso, reduzindo drasticamente o consumo energético do sistema.

O Arduino UNO (Arduino, 2019) é utilizado para realizar a integração da placa Raspberry Pi 3, do módulo XBee e o módulo de Relay, sendo responsável pela interface de transferência de dados entre a Raspberry e o XBee; e, por ativar e desativar o sistema através do módulo de Relay. A Figura 10 apresenta a cronologia das atividades entre o ciclo de ativação e desativação da armadilha.

Figura 10 – Fluxograma de funcionamento da armadilha.

Os componentes foram acoplados em uma base de acrílico e ficam armazenados na parte superior da armadilha. A estrutura externa do protótipo da armadilha foi montada em plástico corrugado. A Figura 11 apresenta a estrutura interna do protótipo da armadilha e a Figura 12 apresenta a estrutura externa do protótipo.

Em uma rede de sensores sem fio, o sorvedouro (sink ) é o nó de destino de todos os dados gerados pela rede, sendo responsável pela sua coleta e processamento. Na rede proposta neste trabalho, o sink é responsável pelo recebimento dos dados de contagem dos insetos de todas as armadilhas da rede e pelo encaminhamento desses dados para um servidor remoto, onde serão armazenados e utilizados para os devidos

(36)

Figura 11 – Estrutura interna dos componentes da armadilha.

Figura 12 – Estrutura externa da armadilha feita de plástico corrugado.

fins de monitoramento1.

1A interface e as funcionalidades do serviço de monitoramento para o usuário não pertencem ao

(37)

37

Assim como nas armadilhas, o sink é formado por diversos componentes: Arduino UNO, XBee, módulo de Relay, RTC, módulo GPRS, módulo de cartão SD e bateria Power Bank.

A comunicação acontece, da mesma forma como nas armadilhas, utilizando o XBee em conjunto com o Arduino UNO. O módulo de cartão SD é utilizado para armazenar os dados recebidos localmente de forma persistente, com o objetivo de evitar possíveis perdas de informação, decorrente da comunicação. O módulo GPRS é o componente responsável por enviar os dados para o servidor remoto. Este módulo utiliza um chip telefônico para se conectar ao serviço GSM, possibilitando o envio dos dados para a base de dados remota. Os módulos de RTC e Relay são utilizados para ativar e desativar o sistema apenas nos momentos em que os dados serão recebidos, com a finalidade de reduzir o consumo de energia, funcionando de forma análoga às armadilhas.

A Figura 13 apresenta um exemplo da topologia de rede de sensores sem fio proposta por este trabalho, onde cada armadilha, após realizar seu processamento local, envia os dados de contagem para a armadilha adjacente mais próxima do sink, repetindo esse processo até que todos os dados sejam recebidos pelo sink, que os armazena localmente e, após, os envia para o servidor remoto.

Figura 13 – Topologia da rede de sensores sem fio.

Maiores informações do funcionamento da armadilha inteligente e da rede de sensores sem-fio poderão ser obtidas na patente que está sendo desenvolvida para o produto, que no momento encontra-se em faze de análise pela empresa Partamon.

(38)

4.2

Captura de Imagens

Para compor a base de imagens, utilizada para o treinamento do algoritmo de identificação e contagem de insetos, foram realizadas diversas ações controladas de infestação de insetos-praga, conduzidas e monitoradas pela empresa Partamon.

Essas infestações foram realizadas em uma estufa fechada, onde foi instalado um protótipo de armadilha, equipado com atrativos específicos para os insetos de interesse e foi configurado para capturar imagens dos insetos de hora em hora.

Após, foram liberados diversos exemplares dos insetos-praga Ceratitis capitata e Grapholita molesta, juntamente com alguns insetos contaminantes (não considerados relevantes para monitoramento).

Com os atrativos posicionados internamente na armadilha, os insetos de interesse tendem a ser atraídos por eles, ficando presos no interior da armadilha, de onde as imagens são capturadas. Esse processo foi feito várias vezes, para que uma quantidade suficientemente grande de imagens fosse capturada, enriquecendo a base de treino com uma variedade representativa de insetos de diferentes tipos em diferentes posições e níveis de luminosidade. A Figura 14 apresenta um exemplo de imagem capturada.

Figura 14 – Exemplo de imagem capturada do interior da armadilha.

Na tarefa de identificação e classificação dos objetos nas imagens, a base de treinamento usada por algoritmos de CNN é formada por imagens que representam os objetos de interesse da classificação. Os objetos de interesse (classes) definidos no escopo deste trabalho são: i) Ceratitis capitata (mosca-da-fruta); ii) Grapholita molesta (mariposa); iii) outro inseto (contaminantes); e, iv) nenhum inseto.

(39)

39

A base de treinamento foi gerada a partir das imagens coletadas durante as infes-tações e que, após análise, foram recortadas imagens menores (janelas) contendo apenas os objetos de interesse mais significativos para realizar o treinamento. Os objetos de interesse (insetos-praga) foram rotulados individualmente por especialistas da empresa Partamon e a classe “nada” (nenhum inseto) foi rotulada de forma que nenhum inseto estivesse presente na janela gerada. A base criada foi estratificada de modo que cada classe possui um número bastante próximo de exemplos de janelas a fim de evitar o desbalanceamento da mesma.

Após a separação das janelas entre as classes, foram aplicados algoritmos de data augmentation para expandir a representatividade dos exemplos de treinamento. As Figuras 15 e 16 apresentam exemplos de janelas.

Figura 15 – Exemplo de janela com Grapholitas.

Figura 16 – Exemplo de janela com Ceratitis.

Na Figura 17 apresenta-se o fluxo completo da geração das janelas de treinamento.

Figura 17 – Fluxo de geração da base de imagens.

De forma mais detalhada, esse processo compreende as seguintes etapas:

Geração dos pixels centrais das janelas: consiste em uma seleção manual de áreas consideradas significativas para o aprendizado do algoritmo. Com base nessa seleção, o pixel central de cada área é armazenado.

Criação das janelas com base nos pixels: os arquivos com informações dos pixels são lidos e, então, as janelas são criadas já separadas por classe.

(40)

Redimensionamento das janelas: para que possuam o número de pixels correspon-dente ao tamanho da camada de entrada da rede2.

Separação entre treino, teste e validação: ao final do processo dividem-se as jane-las em conjuntos de treino, teste e validação, para serem utilizadas na geração e avaliação do modelo.

Assim obteve-se um conjunto de dados composto por 409 imagens de treinamento, 124imagens para validação e 173 imagens para teste. É importante salientar que esse número de imagens corresponde apenas às imagens originais, obtidas a partir das foto tiradas nas armadilhas. Na etapa de treinamento (a ser apresentada na Seção 4.3.2), o número de imagens utilizado é expandido consideravelmente com o uso de técnicas de data augmentation (conforme apresentado na Seção 2.2).

4.3

Algoritmo de Identificação e Contagem de Insetos-praga

4.3.1 Definição da Arquitetura

Para definir a arquitetura de CNN a ser utilizada neste trabalho, levou-se em consi-deração, principalmente o tempo de propagação dos dados pela rede e o tamanho do arquivo de pesos (modelo) gerado pela CNN.

A rede SqueezeNet apresenta algumas particularidades importantes por possuir uma quantidade reduzida de camadas (duas camadas de convolução e oito fire mo-dules, como visto na Seção 2.1.2), além de gerar um arquivo de informações dos pesos com um tamanho muito inferior em relação às outras CNNs do estado-da-arte (até 510× menor que o da AlexNet, em sua forma reduzida). Deste modo, como o processamento do algoritmo é embarcado na placa Raspberry Pi 3, optou-se pelo uso da CNN SqueezeNet (Refik Can Malli, 2017). A arquitetura da SqueezeNet utilizada encontra-se no Anexo A.

Neste trabalho, um modelo que ocupa pouco espaço de armazenamento tem duas importâncias principais. A primeira é em relação ao espaço ocupado na Raspberry Pi que, por ser um dispositivo embarcado, possui memória reduzida, constantemente utili-zada pelas novas imagens geradas para predição. Com isso modelos maiores tendem a ocupar um espaço desnecessário, reduzindo a capacidade de armazenamento do dispositivo.

A segunda importância diz respeito às futuras atualizações do modelo. Um dos objetivos futuros do grupo de pesquisa diz respeito a uma possível atualização “online” do modelo que, através de um protocolo de comunicação, poderia ser realizada a atualização do modelo pela própria rede de sensores sem fio. Em razão da taxa de transferência dos modelos de XBee atuais ser bastante reduzida, modelos muito

(41)

41

grandes tornariam essa opção totalmente inviável, sendo necessário o deslocamento de operadores para realizar a troca das armadilhas. Portanto, a escolha da rede também levou em consideração este aspecto, visando plantações de larga escala.

Desconsiderando as restrições de hardware existentes, outras arquiteturas de CNN foram testadas no contexto deste projeto pelo grupo de pesquisa, utilizando uma versão alternativa do algoritmo proposto neste trabalho. Os resultados podem ser visualizados em MARTINS et al. (2019).

4.3.2 Treinamento

Na etapa de treinamento da CNN foram utilizadas as técnicas de transfer learning e fine tuning. Dessa forma, através da técnica de transfer learning, a rede foi inicializada com os pesos gerados pelo treinamento com as imagens da ImageNet, fazendo com que a rede já tenha capacidade de identificar características possivelmente relevantes desde a sua inicialização (HUH; AGRAWAL; EFROS, 2016).

Com a rede pré-treinada, as imagens de treinamento e validação (Seção 4.2) passam por um processo de data augmentation e, desse modo, as imagens originais não são utilizadas no treinamento, apenas as imagens geradas artificialmente.

Logo, utilizando 50 épocas para treinar o modelo, as 409 imagens originais são transformadas em 20450 imagens artificiais, as quais são usadas no treinamento. Os parâmetros usados no processo de data augmentation são apresentados na Tabela 1 e a Figura 18 ilustra exemplos de imagens artificiais geradas pelo processo.

Tabela 1 – Parâmetros usados no processo de data augmentation. Parâmetro Valor Descrição

rotation_range 90 Rotação aleatória de até 90 graus.

width_shift_range 0.2 Translação horizontal aleatória em um inter-valo de [-0.2, +0.2) do comprimento da ima-gem.

height_shift_range 0.2 Translação vertical aleatória em um intervalo de [-0.2, +0.2) da altura da imagem.

zoom_range 0.2 Zoom aleatório de [0.8, 1.2] na imagem. horizontal_flip true Aleatoriamente inverte a imagem na

horizon-tal.

fill_mode nearest Completa os pixels fora dos limites da ima-gem com o valor do pixel mais próximo. brightness_range [0.2, 1.0] Brilho da imagem no intervalo [0.2, 1.0]. preprocessing_function preprocess_input Função a ser aplicada nas imagens de

en-trada, no caso, pré-processamento padrão das imagens da ImageNet.

A etapa de fine tuning consiste em adaptar a rede neural pré-treinada para a aplicação desejada. Para atingir esse objetivo, definiu-se o número de classes da rede

(42)

Figura 18 – Exemplos de imagens geradas com data augmentation (imagem original no canto superior esquerdo).

de acordo com o número de classes utilizado pela aplicação. Neste caso, uma classe para cada inseto de interesse, uma classe para insetos contaminantes e uma classe para imagens sem insetos, totalizando quatro classes.

Para isso, foram removidas da rede as camadas posteriores a camada de dropout (drop9) e novas camadas foram adicionadas, conv10, relu_conv10, global_average_pooling2d_2 e loss (Figura 39), refletindo o número correto de clas-ses desta aplicação. A camada loss representa a função de ativação softmax.

Após os ajustes na arquitetura, a rede foi treinada com as imagens do conjunto de treinamento, onde ocorre uma adaptação das características e formas que foram aprendidas, com as imagens da ImageNet (na etapa de transfer learning), para carac-terísticas relevantes extraídas das novas imagens de treinamento (na etapa de fine tuning). Durante o treino, os pesos de todas as camadas da rede foram atualizados. Não foi realizado o congelamento de nenhuma camada para o fine tuning.

Ao atingir o número de épocas estabelecido, o treinamento é finalizado e os pesos da rede são salvos. A Tabela 2 apresenta as configurações de hiper-parâmetros utilizadas para realização do fine tuning na rede.

O processo de treinamento é constantemente refinado para garantir que a rede está generalizando o modelo de forma satisfatória para a aplicação. Após as etapas de treinamento e de teste, é feita uma análise dos erros de classificação encontrados, onde podem ser encontrados exemplos incorretos de classificação que demonstrem um certo padrão no formato em que a rede responde àqueles exemplos.

Referências

Documentos relacionados

Para esse fim, analisou, além do EVTEA, os Termos de Referência (TR) do EVTEA e do EIA da Ferrogrão, o manual para elaboração de EVTEA da empresa pública Valec –

Requiring a realignment of the EVTEA with its ToR, fine-tuning it to include the most relevant socio-environmental components and robust methodologies for assessing Ferrogrão’s impact

Essa tarefa não tem a necessidade de interface com o usuário, tornando-se uma boa candidata ao processamento em lotes, normalmente utilizados como a divisão

O Plano de Manutenção dos Monumentos é uma ferramenta de gestão e de conservação preventiva que tem os seguintes objetivos: melhorar a gestão de recursos (reduzindo custos a

O termo extrusão do núcleo pulposo aguda e não compressiva (Enpanc) é usado aqui, pois descreve as principais características da doença e ajuda a

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Apesar da longa distância dos grandes centros urbanos do país, Bonito destaca- se, regionalmente, como uma área promissora dentro do Estado de Mato Grosso do Sul. Bonito,