• Nenhum resultado encontrado

INSTITUTO FEDERAL DO ESPÍRITO SANTO PÓS GRADUAÇÃO LATU SENSU EM ENGENHARIA ELÉTRICA COM ÊNFASE EM SISTEMAS INTELIGENTES APLICADOS À AUTOMAÇÃO

N/A
N/A
Protected

Academic year: 2021

Share "INSTITUTO FEDERAL DO ESPÍRITO SANTO PÓS GRADUAÇÃO LATU SENSU EM ENGENHARIA ELÉTRICA COM ÊNFASE EM SISTEMAS INTELIGENTES APLICADOS À AUTOMAÇÃO"

Copied!
59
0
0

Texto

(1)

INSTITUTO FEDERAL DO ESPÍRITO SANTO

PÓS GRADUAÇÃO LATU SENSU EM ENGENHARIA ELÉTRICA COM ÊNFASE EM SISTEMAS INTELIGENTES APLICADOS À AUTOMAÇÃO

EDIVAINE DE GODOY RIBEIRO

REDE NEURAL CONVOLUCIONAL APLICADA AO RECONHECIMENTO DE PASSAGENS DE NÍVEL CLANDESTINAS EM FERROVIAS

Vitória 2020

(2)

EDIVAINE DE GODOY RIBEIRO

REDE NEURAL CONVOLUCIONAL APLICADA AO RECONHECIMENTO DE PASSAGENS DE NÍVEL CLANDESTINAS EM FERROVIAS

Monografia apresentada ao Curso de Pós-Graduação Lato Sensu em Engenharia Elétrica com Ênfase em Sistemas Inteligentes Aplicados à Automação do Instituto Federal do Espírito Santo, como requisito parcial para obtenção do título de Especialista em Sistemas Inteligentes Aplicados à Automação.

Orientador: Prof. Dr. Leandro Bueno Coorientador: Prof. Dr. Douglas Almonfrey

Vitória 2020

(3)

(Biblioteca Nilo Peçanha do Instituto Federal do Espírito Santo) R484r Ribeiro, Edivaine de Godoy.

Rede neural convolucional aplicada ao reconhecimento de passagens de nível clandestinas em Ferrovias / Edivaine de Godoy Ribeiro. – 2020.

57 f. : il. ; 30 cm

Orientador: Leandro Bueno. Coorientador: Douglas Almonfrey

Monografia (especialização) – Instituto Federal do Espírito Santo, Coordenadoria de Pós-Graduação em Engenharia Elétrica, Curso Pós-Graduação Lato Sensu em Engenharia Elétrica com Ênfase em Sistemas Inteligentes Aplicados à Automação, Vitória, 2020.

1. Redes neurais – (Computação).2. Ferrovias. 3.

Processamento de imagens – Técnicas digitais. 4. Sistemas de reconhecimento de padrões. 5. Aprendizado do computador. 6. Engenharia Elétrica. I. Bueno, Leandro. II. Almonfrey, Douglas. III. Instituto Federal do Espírito Santo. IV. Título.

CDD 21 – 621.3 Elaborada por Bruno Giordano Rosa – CRB 6/ES - 699

(4)

REDE NEURAL CONVOLUCIONAL APLICADA AO RECONHECIMENTO DE PASSAGENS DE NÍVEL CLANDESTINAS EM FERROVIAS.

Trabalho Final de Curso apresentado ao Curso de Pós- Graduação Lato Sensu em Engenharia Elétrica com ênfase em Sistemas Inteligentes Aplicados à Automação, como requisito parcial para obtenção do título de Especialista em Engenharia Elétrica.

Aprovado em 26 de novembro de 2020

COMISSÃO EXAMINADORA

Doutor Leandro Bueno

Instituto Federal do Espírito Santo - Ifes Orientador

(Telepresença: Portaria Nº 205 de 19/03/2020 - Campus Vitória)

Doutor Douglas Almonfrey

Instituto Federal do Espírito Santo - Ifes Coorientador

(Telepresença: Portaria Nº 205 de 19/03/2020 - Campus Vitória)

Mestre Paulo Henrique Fernandes Zanandrea Instituto Federal do Espírito Santo - Ifes

Membro Interno

(Telepresença: Portaria Nº 205 de 19/03/2020 - Campus Vitória)

Doutor Hans Rolf Kulitz

Instituto Federal do Espírito Santo - Ifes Membro Interno

(5)

SISTEMA INTEGRADO DE PATRIMÔNIO, ADMINISTRAÇÃO E CONTRATOS

FOLHA DE ASSINATURAS

Emitido em 04/12/2020

FOLHA DE APROVAÇÃO-TCC Nº Aprovação Edivaine/2020 - VIT-CCEE (11.02.35.01.09.02.11) (Nº do Documento: 2)

NÃO PROTOCOLADO) (Nº do Protocolo:

(Assinado digitalmente em 11/12/2020 15:27 ) DOUGLAS ALMONFREY

PROFESSOR DO ENSINO BASICO TECNICO E TECNOLOGICO VIT-CCTE (11.02.35.01.09.02.19)

Matrícula: 1911531

(Assinado digitalmente em 07/12/2020 10:05 ) HANS ROLF KULITZ

PROFESSOR DO ENSINO BASICO TECNICO E TECNOLOGICO VIT-CCTE (11.02.35.01.09.02.19)

Matrícula: 270348

(Assinado digitalmente em 04/12/2020 16:35 ) LEANDRO BUENO

PROFESSOR DO ENSINO BASICO TECNICO E TECNOLOGICO VIT-CCEE (11.02.35.01.09.02.11)

Matrícula: 1361682

(Assinado digitalmente em 07/12/2020 15:44 ) PAULO HENRIQUE FERNANDES ZANANDREA

PROFESSOR DO ENSINO BASICO TECNICO E TECNOLOGICO VIT-CCTE (11.02.35.01.09.02.19)

Matrícula: 270533

Para verificar a autenticidade deste documento entre em https://sipac.ifes.edu.br/documentos/ informando seu

número: , ano: 2 2020, tipo: FOLHA DE APROVAÇÃO-TCC, data de emissão: 04/12/2020 e o código de

(6)

AGRADECIMENTOS

A Deus por iluminar o meu caminho e por me dar graça e sabedoria para mais essa conquista. Agradeço por ter me capacitado e fortalecido em todos os momentos. A Ele toda honra e toda gloria.

Ao meu marido, por ter contribuído com o seu conhecimento e por ter sido compreensivo em relação ao tempo de dedicação que dispensei com o trabalho.

Aos meus pais e à minha irmã, que mesmo distantes, sempre me apoiaram e me sustentaram em orações.

Aos meus orientadores, prof. Dr. Leandro Bueno e prof. Dr. Douglas Almonfrey, por acreditarem na proposta do trabalho e por todo apoio técnico e acadêmico que me forneceram.

Aos demais professores do programa de Pós Graduação em Engenharia Elétrica, pelo compartilhamento de conhecimentos.

A todos vocês, meus sinceros agradecimentos.

(7)

RESUMO

A identificação de passagens clandestinas nas estradas de ferro é de grande relevância para as concessionárias das ferrovias, pois travessias irregulares de veículos e pessoas podem causar impactos no que tange a segurança pessoal, assim como na produtividade do quantitativo transportado. Com o objetivo de auxiliar neste processo, este trabalho propõe desenvolver uma aplicação utilizando Rede Neural Convolucional (CNN) para reconhecimento de passagens clandestinas através das imagens capturadas em vídeos gravados por uma câmera instalada nas locomotivas do trem de passageiros, da Estrada de Ferro Vitória Minas (EFVM). Neste sentido, realizou-se um levantamento de dados a partir do vídeo de uma viagem para a elaboração do banco de imagens devidamente rotulado. O banco de dados resultante possui mais de doze mil imagens, sendo estas passagens clandestinas e imagens que não são passagens clandestinas. Para a realização dos treinamentos das CNNs, foram avaliadas seis diferentes arquiteturas de rede com: alteração do número de filtros em cada camada convolucional; variação da quantidade de camadas convolucionais e; utilização de transferência de aprendizado da rede VGG-16 com a técnica de ajuste fino. O desempenho das arquiteturas propostas foi avaliado mediante a análise do tempo de processamento, média das métricas obtida para os Folds do processo de validação cruzada, bem como o resultado do Fold que apresentou o maior valor dessas métricas, que são a AUC, a precisão e a revocação (recall). O melhor resultado alcançado, em termos do valor médio, foi da arquitetura do Treino 2, cuja a estrutura de rede foi elaborada com 4 camadas convolucionais, sendo a primeira com 64 filtros, a segunda com 128 e a terceira e quarta com 256; e com duas camadas totalmente conectadas, utilizando 512 e 1 neurônios, respectivamente. Nesse treinamento, foram obtidas as médias de 97,13% de AUC, 96,75% de revocação e 81,55% de precisão. Os resultados alcançados neste trabalho são promissores e demonstram a viabilidade do emprego de Rede Neural Convolucional como método para identificação de passagens clandestinas na EFVM.

Palavras-chave: Passagens Clandestinas. Rede Neural Convolucional. Validação

(8)

ABSTRACT

The identification of clandestine passages on railroads is of great relevance for railway concessionaires, as irregular crossing of vehicles and people can cause impacts in terms of personal safety, as well as in the productivity of the quantity transported. In order to assist in this process, this work proposes to develop an application using Convolutional Neural Network (CNN) for recognition of clandestine passages through images captured in recorded videos, from a camera installed on the locomotives of the passenger train of Estrada de Ferro Vitória Minas (EFVM). In this sense, a data survey was carried out using in a video of a trip for the elaboration of the duly labeled image bank. The resulting image bank has more than twelve thousand images of clandestine passages and images that are not clandestine passages. For conducting CNNs training, six different network architectures were evaluated with: change in the number of filters in each convolutional layer; variation in the amount of convolutional layers and; use of learning transfer from the VGG-16 network with the fine tuning technique. The performance of the proposed architectures was evaluated by analyzing the processing time, average of the metrics obtained for the Folds of the cross-validation process, as well as the result of the Fold that presented the highest value of these metrics, which are AUC, precision and recall. The best result achieved, in terms of average value, was the architecture of Treino 2, whose network structure was elaborated with 4 convolutional layers, the first with 64 filters, the second with 128 and the third and fourth with 256; and with two layers fully connected, using 512 and 1 neurons, respectively. In this training, averages of 97.13% AUC, 96.75% recall and 81.55% precision were obtained. The results achieved in this work are promising and demonstrate the viability of using the Convolutional Neural Network as a method for identifying clandestine passages in EFVM.

Keywords: Clandestine Passages. Convolutional Neural Network. Cross-validation.

(9)

LISTA DE ILUSTRAÇÕES

Figura 1 – Passagem de nível oficial ... 19

Figura 2 – Passagens de nível clandestinas ... 20

Figura 3 – Visão geral da arquitetura de uma Rede Neural Convolucional ... 22

Figura 4 – Mapa de característica de uma arquitetura convolucional ... 22

Figura 5 – Aplicação de max-pooling 2x2 em uma imagem 4x4 ... 24

Figura 6 – Rede neural totalmente conectada... 24

Figura 7 – Validação cruzada K-Fold com k = 5 ... 26

Figura 8 – Matriz de confusão de dimensão 2x2 ... 27

Figura 9 – Métrica AUC - PR ... 29

Figura 10 – Extração da região de interesse. ... 33

Figura 11 – Etapas da captura de imagens ... 34

Figura 12 – Arquitetura da Rede Neural Convolucional do Treino 1 ... 38

Figura 13 – Arquitetura da Rede Neural Convolucional VGG-16 ... 39

Figura 14 – Exemplos de imagens do banco de dados ... 43

Figura 15 – Matriz de confusão com as classes desbalanceadas ... 44

Figura 16 – Matriz de confusão do Treino 2 com as classes balanceadas ... 46

Figura 17 – Imagens falsas negativas ... 47

(10)

LISTA DE TABELAS

Tabela 1 – Acidentes ferroviários na EFVM de 2006 a 2019 por causa ... 12

Tabela 2 – Estruturas das CNNs consideradas neste trabalho ... 36

Tabela 3 – Estrutura da CNN elaborada a partir da VGG-16 ... 40

Tabela 4 – Resultados das métricas com as classes desbalanceadas ... 43

Tabela 5 – Resultados do melhor Fold com as classes desbalanceadas ... 44

Tabela 6 – Resultados das métricas com as classes balanceadas ... 45

(11)

LISTA DE ABREVIATURAS E SIGLAS

API - Application Programming Interface

AUC - Area Under the Curve

AVI - Audio Video Interleaved

BOVW - Bag of Visual Words

CNN - Convolutional Neural Network

DP - Desvio Padrão

EFVM - Estrada de Ferro Vitória Minas

GPS - Global Positioning System

GPU - Graphics Processing Unit

HOG - Histograma de Gradientes Orientado

IFES - Instituto Federal do Espírito Santo

JPEG - Joint Photographics Experts Group

LabTeF - Laboratório de Tecnologias do Futura

NC - Imagem que não é Passagem Clandestina

PC - Imagem de Passagem Clandestina

ReLU - Rectified Linear Units

RGB - Red, Green, Blue

ROI - Região de Interesse da Imagem

(12)

SUMÁRIO 1 INTRODUÇÃO ... 11 1.1 OBJETIVO GERAL... 13 1.2 OBJETIVOS ESPECÍFICOS ... 13 1.3 ESTRUTURA DO TRABALHO ... 14 2 REVISÃO DA LITERATURA ... 15 3 FUNDAMENTAÇÃO TEÓRICA ... 19

3.1 PASSAGEM DE NÍVEL CLANDESTINA ... 19

3.2 REDE NEURAL ARTIFICIAL PROFUNDA ... 20

3.3 REDE NEURAL CONVOLUCIONAL ... 21

3.4 VALIDAÇÃO CRUZADA ... 25 3.4.1 K-Fold ... 25 3.5 AVALIAÇÃO DO CLASSIFICADOR ... 26 3.5.1 Matriz de Confusão ... 26 3.5.2 Métricas de Avaliação ... 28 4 METODOLOGIA ... 30 4.1 FERRAMENTAS ... 30 4.2 CAPTURA DE IMAGENS ... 32

4.3 CLASSIFICAÇÃO POR REDE NEURAL CONVOLUCIONAL ... 34

4.3.1 Arquitetura de Rede ... 35

4.4 AVALIAÇÃO DOS RESULTADOS DA CLASSIFICAÇÃO ... 40

5 RESULTADOS E DISCUSSÕES ... 42

5.1 CLASSES DESBALANCEADAS ... 42

5.2 CLASSES BALANCEADAS ... 44

6 CONCLUSÃO ... 50

(13)

1 INTRODUÇÃO

O transporte ferroviário é baseado na locomoção de trens ou comboios sobre carris para transporte de cargas e pessoas, e é considerado um dos mais antigos meios de transporte, com o surgimento ligado à Revolução Industrial, nos séculos XVIII e XIX (FRANCISCO, acesso em 7 mar. 2020). Ele tem uma considerável vantagem em relação ao transporte rodoviário, em decorrência da grande capacidade de carga, da elevada eficiência energética e do baixo custo de transporte (“Transporte Ferroviário - Toda Matéria”, acesso em 11 mar. 2020).

No Brasil, a ferrovia até os dias atuais, tem grande relevância na economia do país, já que escoa muitos produtos de diversos setores industriais e ocupa o segundo lugar do meio de transporte mais importante. No caso da Estrada de Ferro Vitória Minas (EFVM), inaugurada em 1904, são transportados 60 diferentes produtos, como minério, aço, carvão, calcário, granito, contêineres, ferro-gusa, produtos agrícolas, madeira, celulose e outros. Esta ferrovia tem atualmente 664 quilômetros de extensão e está entre as principais do mundo, com alguns dos melhores índices de produtividade. São mais de 135 milhões de toneladas de carga transportada, cerca de 40% da carga ferroviária brasileira (“Estrada de Ferro Vitória a Minas - EFVM (Concessão VALE) - VLI Logística”, acesso em 7 mar. 2020).

Como o transporte ferroviário movimenta uma grande quantidade de carga e passageiros, impedimentos na circulação dos trens podem causar impactos no que tange a segurança pessoal, assim como na produtividade do quantitativo transportado. E um dos fatores que pode resultar em bloqueios na circulação do trem, é a passagem de nível clandestina, que é local de travessia irregular de pessoas e veículos.

Em 2020, a Agência Nacional de Transportes Terrestres (ANTT) emitiu um relatório com o levantamento dos acidentes ocorridos na EFVM no período de 2006 a 2019, apresentados na Tabela 1. Este relatório apontou que 25,88% dos acidentes foram causados por interferência de terceiros (ANTT, 2020).

(14)

Tabela 1 – Acidentes ferroviários na EFVM de 2006 a 2019 por causa

Concessionária Porcentagem

% Acidentes Total dos EFVM Falhas Humanas 7,82 29 Infraestrutura 0 0 Interferência de Terceiro 25,88 96 Material Rodante 17,52 65 Outras Causas 6,20 23

Sinalização Telecomunicação e Eletrotécnica 0,54 2

Via Permanente 11,59 43

Ato de Vandalismo 0,54 2

Caso Fortuito ou de Força Maior 29,92 111

Fonte: Elaborada pela Autora (2020)

Levando em consideração que travessias em áreas inadequadas na ferrovia podem causar acidentes de alto nível de gravidade e contribuem pelos causados por interferência de terceiros, é de suma importância que as passagens clandestinas sejam identificadas pela concessionária. Desta forma, será possível catalogá-las para verificar a necessidade de instalações de novas passagens de nível oficiais ou de passarelas, como também, realizar uma conscientização com a sociedade do entorno sobre os riscos associados.

No entanto, a identificação visual das passagens de nível clandestinas em toda extensão da linha férrea, é uma atividade inviável. Ou seja, não é razoável e produtivo atribuir ao maquinista a responsabilidade de identificá-las, já que é exigido deste, atenção aos vários processos durante a condução do trem, além da possibilidade, em um futuro próximo, dos trens tornarem-se autônomos. Além disto, não é recomendado disponibilizar um funcionário para assistir às 14 horas de vídeos de viagens para fazer a detecção, pois esta atividade seria exaustiva e poderia apresentar um alto índice de erros.

Neste contexto, o transporte ferroviário tem buscado empregar tecnologias que favoreçam a segurança dos usuários e da população que vive no entorno da linha, como também, mitigar causas que possam prejudicar sua fluidez. Desta forma, identificar cenários causadores destes desvios, de forma automática, é de relevância para este processo.

(15)

Portanto, no intuito de tornar automática a identificação de passagens clandestinas na Estrada de Ferro Vitória Minas, e assim mitigar os riscos de acidentes causados por travessias irregulares, este trabalho objetiva realizar o reconhecimento, através de visão computacional e inteligência artificial, de passagens clandestinas e não clandestinas. Para a classificação, será utilizada Rede Neural Convolucional, método amplamente adotado para este fim e aplicado em diversas áreas, como medicina, indústria, agricultura, dentre outras. Esta técnica tem uma importante vantagem de ser boa em extrair características e, como isso, requer um menor pré-processamento em comparação com outros métodos. Assim sendo, esse trabalho não tem a finalidade de realizar comparações de diferentes técnicas de classificação.

1.1 OBJETIVO GERAL

Desenvolver uma aplicação utilizando a técnica de Redes Neurais Convolucionais para reconhecimento de passagens de nível clandestinas, através das regiões de interesse das imagens, capturadas em vídeos gravados a partir de uma câmera instalada nas locomotivas do trem de passageiros, da Estrada de Ferro Vitória Minas.

1.2 OBJETIVOS ESPECÍFICOS

Para alcançar o objetivo geral, serão necessários objetivos específicos, listados a seguir:

 Realizar estudo sobre os conceitos de Redes Neurais Artificiais Convolucionais;

 Criar um banco de imagens de passagens de nível clandestinas e imagens que não são passagens clandestinas, devidamente rotuladas, para o treinamento da rede;

 Criar uma aplicação em Python para o reconhecimento das imagens;

(16)

 Classificar imagens da estrada de ferro como sendo ou não passagens clandestinas;

 Avaliar o grau de desempenho dos testes de reconhecimento de passagem de nível clandestina utilizando Rede Neural Convolucional, através de métricas que permitam verificar a eficiência do classificador desenvolvido.

1.3 ESTRUTURA DO TRABALHO

Este trabalho encontra-se organizado em seis capítulos, como segue.

O capítulo 2 é composto pela revisão da literatura, apresentando trabalhos correlatos à proposta do presente projeto.

O capítulo 3 possui a fundamentação teórica relativa aos conceitos de uma Rede Neural Convolucional e da técnica para analisar a predição do modelo através da validação cruzada, bem como, as métricas utilizadas para avaliação dos classificadores.

O capítulo 4 descreve a implementação das arquiteturas desenvolvidas, apresentando os materiais utilizados e o detalhamento dos métodos propostos.

O capítulo 5 apresenta os resultados alcançados com o desenvolvimento do trabalho e as discussões sobre os mesmos.

Por fim, o capítulo 6 trata da conclusão e contribuição do projeto, e possibilidades futuras de continuidade do estudo.

(17)

2 REVISÃO DA LITERATURA

Reconhecimento de imagens tem sido amplamente utilizado em vários ramos de pesquisas, como na medicina, em diagnósticos de uma doença a partir de análise dos resultados de exames; na agricultura, aplicado na identificação de pragas nas plantações; nos carros autônomos, substituindo a visão humana para as tomadas de decisões; dentre outras aplicações (FERREIRA, 2017; PRETO, 2018; TRINDADE, 2018; VOGADO et al., 2019).

Um dos métodos que tem sido aplicado com êxito no processamento e análise de imagens digitais, com alta eficácia para solucionar problemas de reconhecimento de padrões e objetos em imagens, é a Rede Neural Convolucional (CNN) (ALMEIDA, 2018). Diante disso, este capítulo é dedicado a apresentar alguns trabalhos baseados em Redes Neurais Convolucionais para o reconhecimento de objetos.

Visando a identificação dos componentes de uma linha ferroviária, assim como a indicação de desintegração e lascas de seus dormentes, a partir de análise de imagens, Gilbert, Patel e Chellappa (2015) aplicaram Redes Neurais totalmente Convolucionais para classificação de 10 classes de materiais. Essa arquitetura foi proposta pelo desafio de extrair informações precisas de imagens geradas por câmeras instaladas em veículos em movimento, na qual apresentam fundos distorcidos no ambiente ferroviário. A abordagem deste trabalho resultou em uma acurácia de classificação de material de 93,35% e comprovou a alta capacidade das Redes Neurais Convolucionais em capturar padrões mais complexos, enquanto reutiliza padrões aprendidos com níveis crescentes de abstração que são compartilhados entre todas as classes.

Seguindo a mesma linha, Faghih-Roohi et al. (2016) aplicaram uma solução de Rede Neural Convolucional (CNN) para detecção automática de defeitos na superfície de trilhos. Neste trabalho, foram utilizadas imagens brutas como entrada para o modelo de classificação e aplicadas em três estruturas diferentes de CNNs (pequena, média e grande), em tamanho e números de parâmetros, na qual foram comparados quanto à acurácia da classificação e ao tempo de computação. A rede foi otimizada usando um método de descida de gradiente de minilotes. Neste artigo, foram relatados três tipos dos resultados experimentados, inicialmente com seis

(18)

classes de classificação (normal, solda, defeito leve, defeito médio, defeito grande e junta) em que foi constatada uma alta porcentagem de resultados falsos. A partir de então, foram integradas as classes normal e solda como Normal e todas as três classes de defeitos como uma única classe. Desta forma, uma nova avaliação de desempenho dos modelos de CNNs foi apresentada com as três classes: Normal, Defeito e Junta. Também foi apresentado o desempenho dos três modelos da CNN (pequeno, médio e grande) para as classificações multi-classe (3 classes) e binária (normal e defeito) com base nas médias das métricas de desempenho calculadas e nos desvios padrões correspondentes. Como resultado, o desempenho da classificação de defeitos alcançou quase 92% de acurácia nas três estruturas de rede, sendo a grande a de maior valor e com maior tempo gasto para o treinamento. Foi constatado que o treinamento de duas classes apresentou uma diferença de aproximadamente 1% de acurácia superior em relação o de três classes, o que validou um bom desempenho no treinamento de multi-classes. (FAGHIH-ROOHI et al., 2016).

Com o mesmo objetivo de detectar superfícies defeituosas de trilhos, Shang et al. (2018) propuseram uma abordagem baseada na combinação de técnicas de processamento de imagens e Rede Neural Convolucional. O método foi projetado para classificar os trilhos como defeituosos ou intactos. Para a localização dos objetos, os autores adotaram técnicas tradicionais de processamentos de imagens, como por exemplo, filtragem e detecção de borda, de forma a tornar o trilho mais evidente e, em seguida, aplicaram a Rede Neural Convolucional Inception-v3. Como resultado, este trabalho comprovou um ganho de 2,92% de acurácia após o processamento da imagem, em comparação ao treinamento com a imagem bruta, e teve como melhor resultado uma precisão de 92,08% e uma revocação de 92,54%.

Para identificação de placas de trânsito, Preto (2018) utilizou o método de Deep

Learning (aprendizado profundo) para analisar os pixels da imagem e assim

classificá-la. O trabalho consistiu na separação de 12 conjuntos de rótulos representados pelos tipos de placas de trânsito. Para arquitetura de Rede Neural Convolucional foram testados diversas camadas com diferentes parâmetros, sendo que a autora escolheu a de menor tempo de treinamento e com convergências de 100% de acurácia na menor época. O resultado obtido com a CNN atingiu uma

(19)

correta classificação de 98,7% de todas as imagens de teste, alcançando um ótimo desempenho (PRETO, 2018).

Outra aplicação de Redes Neurais Convolucionais para detecção de elementos, foi em lavouras de soja, reconhecendo ervas daninhas e classificando-as entre gramíneas e folhas largas. Para o treinamento da Rede Neural foi utilizada a arquitetura CaffeNet, disponível na biblioteca Caffe, que consiste de uma replicação da rede AlexNet. Também foram utilizados os algoritmos Máquina de Vetores de Suporte, AdaBoost e Florestas Aleatórias em conjunto com uma coleção de extratores de atributos de forma, cor e textura, no intuito de comparar os resultados destas arquiteturas. Nesse trabalho, a utilização da Rede Neural Convolucional apresentou uma precisão média superior a 99%, sendo o melhor valor em comparação aos outros algoritmos, além do mais, a CNN tem a vantagem de não necessitar da escolha de bons extratores de atributos, assim como os treinamentos tem um tempo mais viável (FERREIRA, 2017).

Considerando o reconhecimento de alimentos com vista a fornecer o índice glicêmico, Januário, Guedes e Silva (2020) elaboraram uma arquitetura de Rede Convolucional inspirada no modelo canônico VGG-16, a qual foi preparada para realizar duas tarefas de classificação, sendo a primeira de frutas, com uma base de dados de 65.429 imagens, divididas em 95 classes, e a segunda de alimentos em geral, utilizando 16.643 amostras com 11 classes. Os melhores resultados obtidos denotaram uma acurácia de 98,22% na primeira tarefa e 84,30% na segunda.

Juraszek (2014) utilizou três técnicas para reconhecimento de produtos (guitarra, cafeteira, computadores, etc), são elas BOVW (Bag of Visual Words), Redes Neurais Convolucionais (CNN), treinada pelo autor, e uma CNN previamente treinada como descritor natural na extração de características. Os melhores resultados foram alcançados com as seguintes técnicas: Rede Neural Convolucional, com uma acurácia de 71%, e a Rede Neural Convolucional como descritores naturais que apresentou uma acurácia de 90,55%.

Já Vargas, Paes e Vasconcelos (2016) propuseram, em seu artigo, uma comparação entre três métodos utilizados para detecção de pedestres. As duas primeiras técnicas, Features de Haar com classificador AdaBoost e Histograma de

(20)

Gradientes Orientado (HOG) com classificador SVM (Support Vector Machine), foram utilizadas por Dalal e Triggs (2005); e a terceira, CNN, foi utilizado por Hosang et al. (2015). Foram realizadas neste trabalho análises nos resultados de cada técnica a partir de comparações de variáveis como sensitividade e especificidade, falsos positivos e negativos e precisão e acurácia. Neste artigo, foi comprovado que a CNN apresentou a melhor solução (VARGAS; PAES; VASCONCELOS, 2016).

Através da revisão de literatura e analise dos trabalhos correlatos, observa-se que a Rede Neural Convolucional tem uma vasta aplicação em ambientes complexos e apresenta um melhor desempenho em comparação a outras arquiteturas de classificação de objetos, corroborando com a escolha desta técnica para reconhecimento de passagens de nível clandestinas.

(21)

3 FUNDAMENTAÇÃO TEÓRICA

Para um melhor entendimento deste projeto, são descritos neste capítulo os conceitos de passagem de nível clandestina e Rede Neural Convolucional, bem como a técnica empregada para avaliar a capacidade de generalização do modelo. Por fim, são indicadas métricas encontradas na literatura para avaliação de classificadores.

3.1 PASSAGEM DE NÍVEL CLANDESTINA

Define-se como Passagens de Nível (PN) todo cruzamento, em um mesmo plano geométrico, entre uma ferrovia e uma via urbana ou rodoviária, ou seja, é a interseção da estrada de ferro com os demais meios de transportes. Elas devem ter sinalização adequada e padronizada, como placas e/ou sinais sonoros, com o objetivo de informar, a veículos e pedestres que pretendem atravessá-las, qual o local de passagem de trens, que por sua vez, tem prioridade de travessia devido à maior inércia e por motivos de segurança e economia (ALECRIM et al., 2018; FREITAS; VIEIRA; OLIVEIRA, acesso em 29 jul. 2020)

As passagens de nível são pavimentadas ao nível superior dos trilhos, para facilitar a transposição rodoviária pelos trilhos da ferrovia, deixando uma abertura para passagem dos frisos das rodas dos equipamentos ferroviários, conforme Figura 1 (FREITAS; VIEIRA; OLIVEIRA, acesso em 29 jul. 2020).

Figura 1 – Passagem de nível oficial

(22)

Entretanto, na linha férrea existem áreas irregulares de travessias de pessoas e veículos, as chamadas de Passagens de Nível Clandestinas (PCs). Estas são criadas quando a população sente a necessidade de realizar deslocamentos entre os dois lados da ferrovia, invadindo o espaço da estrada de ferro. As PCs não possuem sinalizações e condições técnicas, como uma correta pavimentação, para oferecerem segurança para quem as utiliza (ABREU; TRINDADE, 2019; ALECRIM et al., 2018). Muitas vezes, o próprio usuário destas áreas irregulares efetua a cobertura por britas ou terra para facilitar a travessia, também derruba a contenção (muros ou grades) que separa a ferrovia do seu entorno. A Figura 2 mostra dois exemplos de passagens de nível clandestinas.

Figura 2 – Passagens de nível clandestinas

Fonte: Elaborada pela autora (2020)

3.2 REDE NEURAL ARTIFICIAL PROFUNDA

As redes neurais possuem uma modelagem bioinspirada, mas especificamente, na forma como cérebro humano aprende a partir da análise de exemplos, experiências e estímulo do passado e do presente. Segundo Haykin (2009), uma rede neural é uma máquina que modela a maneira pela qual o cérebro realiza uma tarefa particular de interesse.

Neste contexto, muitos pesquisadores tentaram simular o processo de aprendizado por experiência do cérebro, a fim de criar sistemas inteligentes capazes de realizar tarefas como classificação, reconhecimento de padrões, processamento de imagens, dentre outras. A partir de então, foi criado o modelo do neurônio artificial e posteriormente um sistema com vários neurônios agrupados, o que deu origem às redes neurais artificiais (PRETO, 2018).

(23)

Para aplicações cujo sistema tem a necessidade de aprender dados brutos e mais complexos, foi desenvolvido um método de aprendizado de máquina, chamado de rede de aprendizagem profunda ou rede neural artificial profunda, que utiliza modelos de redes neurais com vários níveis de representação de dados (SANTOS, 2017).

Métodos baseados em aprendizado profundo (deep learning) possuem, em geral, vários níveis hierárquicos de representação, obtidos através da composição de módulos simples, não lineares, que transformam a representação de um nível mais baixo, começando com a entrada bruta, para uma representação em um nível mais alto e um pouco mais abstrato. Desta forma, funções mais complexas podem ser aprendidas com composições suficientes destas transformações. Esses métodos melhoraram drasticamente o estado da arte em reconhecimento de fala, reconhecimento e detecção de objetos e muitas outras aplicações (LECUN; BENGIO; HINTON, 2015).

3.3 REDE NEURAL CONVOLUCIONAL

Entre as várias arquiteturas de aprendizagem profunda, as Redes Neurais Convolucionais (CNN) vêm alcançando um notável destaque em suas principais áreas, tendo grandes avanços no processamento de áudio, vídeo e imagens (LECUN; BENGIO; HINTON, 2015).

As CNNs foram inspiradas na organização hierárquica do córtex visual e nas noções clássicas de células simples e complexas. De acordo com os experimentos de Hubel e Wiesel (1968), com gatos e macacos, foram observados que células simples foram ativadas quando apresentados padrões simples ao animal, como linhas; e células complexas foram ativadas quando padrões mais elaborados, compostos de combinações de padrões simples, foram apresentados ao animal (HUBEL; WIESEL, 1968; LECUN; BENGIO; HINTON, 2015).

A arquitetura típica de uma Rede Neural Convolucional é estruturada por uma série de estágios, sendo as primeiras etapas compostas pelas camadas convolucionais e de subamostragem (subsampling ou pooling) e as etapas seguintes por camadas totalmente conectadas (Figura 3). As unidades em uma camada convolucional são

(24)

organizadas em mapas de características, nos quais, cada unidade é conectada a fragmentos locais nos mapas de características da camada anterior (ou camada de entrada) através de um conjunto de pesos chamados banco de filtros, que são compartilhados entre todas as unidades (LECUN; BENGIO; HINTON, 2015). A Figura 4 apresenta os mapas de características nas camadas convolucionais.

Figura 3 – Visão geral da arquitetura de uma Rede Neural Convolucional

Fonte: Adaptado de Lecun et al (1998)

Figura 4 – Mapa de característica de uma arquitetura convolucional

Fonte: Li; Li (1999)

O filtro, também conhecido como kernel, é formado por pesos inicializados aleatoriamente e atualizados a cada nova entrada durante o processo de

backpropagation. A pequena região da entrada onde o filtro é aplicado é chamada

de campo receptivo local (ALVES, 2018). Cada filtro é aplicado em toda região da imagem de entrada de forma convolucional, resultando no mapa de característica da

(25)

camada seguinte, ou seja, cada mapa da saída de um estágio corresponde a convolução discreta do filtro com o mapa de características da entrada, daí o nome de Rede Neural Convolucional. Todas as unidades em um mapa de característica compartilham o mesmo banco de filtros. Mapas diferentes em uma camada usam bancos de filtros diferentes, extraindo assim diferentes tipos de recursos locais (LECUN; BENGIO; HINTON, 2015).

Portanto, a camada convolucional é composta de filtros que são aplicados em toda região da imagem de entrada, onde para cada um destes filtros, um neurônio está conectado a um subconjunto da camada anterior. A operação de filtragem tem a função de detectar bordas, aplicar nitidez e suavização. O resultado da convolução é apresentado a uma função de ativação, que serve para agregar não-linearidade ao sistema e, assim, a rede representar qualquer tipo de função. A função de ativação

ReLU (Rectified Linear Units) é a mais indicada para Redes Convolucionais por ser

mais eficiente computacionalmente e tem o papel de zerar todos os valores negativos da camada anterior (ALVES, 2018; LECUN; BENGIO; HINTON, 2015).

As camadas de pooling têm por função reduzir gradativamente a dimensão das representações da CNN, e com isso, reduzir a resolução do mapa de características e a sensibilidade da saída às mudanças e distorções (LECUN et al., 1998). Dessa forma, diminui-se ainda mais o número de parâmetros e, principalmente, a complexidade computacional do modelo. O papel da camada de pooling é mesclar recursos semanticamente semelhantes, permitindo que as representações variem muito pouco quando os elementos na camada anterior variam em posição e aparência (LECUN; BENGIO; HINTON, 2015). Uma típica camada de pooling, chamada de max-pooling, computa o máximo local de uma determinada região do mapa de atributos, eliminado valores não máximos, como pode ser visto na Figura 5. Consequentemente, além de reduzir o tamanho da imagem e o processamento para as próximas camadas, essa técnica também auxilia no tratamento de invariâncias locais (FERREIRA, 2017).

(26)

Figura 5 – Aplicação de max-pooling 2x2 em uma imagem 4x4

Fonte: Ferreira (2017)

A saída das camadas convolucionais e pooling, em níveis mais altos, representam características da imagem de entrada, e estas são passadas para as camadas totalmente conectadas para a classificação da imagem de acordo com as classes do conjunto de treinamento. As camadas totalmente conectadas possuem conexões com todos os neurônios da camada anterior e, estão conectadas a todos os neurônios da camada seguinte (Figura 6) (KARN, 2016).

Figura 6 – Rede neural totalmente conectada

(27)

Em uma Rede Neural Convolucional é possível ocorrer o problema de overfitting, que surge quando a rede é capaz de classificar as imagens de treinamento com exatidão, porém falha ao tentar classificar novas imagens. Na tentativa de reduzir esse efeito, é comum a utilização de técnicas de regularização. Uma das técnicas aplicadas é o Dropout, que consiste em remover neurônios aleatoriamente a cada iteração de treinamento, com isso, forçando cada camada da rede a se especializar em uma determinada característica, já que um neurônio não pode depender da presença de outros neurônios (FERREIRA, 2017; FERREIRA; SILVA, 2016; JURASZEK, 2014).

Também com o objetivo de evitar o overfitting, pode ser aplicado o método early

stopping (parada antecipada ou precoce), que tem por função paralisar o

treinamento com base no desempenho do conjunto de validação, de forma que, quando não se identifica melhorias no conjunto de validação, o treinamento é interrompido de acordo com os critérios de parada estabelecidos. Em relação aos critérios, eles podem ser considerados os valores máximo ou mínimo, dependendo da métrica analisada, durante uma determinada quantidade de épocas preestabelecida. O número de épocas sem melhorias após os quais o treinamento é interrompido é denominado como patience (GOSWAMI, 2020).

3.4 VALIDAÇÃO CRUZADA

A técnica para avaliar a capacidade de generalização de um modelo, a partir de um conjunto de dados, é chamada de validação cruzada, que é um método de reamostragem para verificar a eficiência do modelo em receber novos dados (MELGAREJO, 2020; SANTANA, 2020).

3.4.1 K-Fold

A validação cruzada K-Fold é uma técnica que usa todo o conjunto de dados disponíveis como amostras de treinamento e validação. Essas amostras são dividas em k subconjuntos mutuamente exclusivos do mesmo tamanho, sendo que, um subconjunto é utilizado para validação e os restantes k-1 são utilizados para o treinamento. O processo terá k iterações alterando, a cada uma delas, o subconjunto

(28)

de validação (CUNHA, 2019; SCHREIBER et al., 2017). A Figura 7 exemplifica a divisão das amostras considerando a validação cruzada, neste método, com o k = 5.

O resultado final da validação cruzada K-Fold é o desempenho médio do classificador nos k testes. O processo de repetir os testes várias vezes tem por objetivo aumentar a confiabilidade da estimativa da precisão do classificador (SCHREIBER et al., 2017).

Figura 7 – Validação cruzada K-Fold com k = 5

ITERAÇÃO 1 VALIDAÇÃO TREINO TREINO TREINO TREINO

ITERAÇÃO 2 TREINO VALIDAÇÃO TREINO TREINO TREINO

ITERAÇÃO 3 TREINO TREINO VALIDAÇÃO TREINO TREINO

ITERAÇÃO 4 TREINO TREINO TREINO VALIDAÇÃO TREINO

ITERAÇÃO 5 TREINO TREINO TREINO TREINO VALIDAÇÃO

Fonte: Elaborada pela Autora (2020)

3.5 AVALIAÇÃO DO CLASSIFICADOR

Com o objetivo de medir o desempenho do classificador, as métricas de avaliação são utilizadas durante o processo de criação de um modelo de aprendizado de máquina para auxiliar nas escolhas de alterações do modelo, e ao final, para verificar a qualidade do modelo criado (MOURA, 2017; SANTOS, 2017). As métricas mais utilizadas para problemas de classificação são a acurácia, a precisão e a sensitividade (revocação). Entretanto, a escolha das métricas de avaliação depende das características do problema que se pretende resolver, como por exemplo, a proporção de dados de cada classe no dataset (FILHO, acesso em 15 ago. 2020).

3.5.1 Matriz de Confusão

A Matriz de Confusão é uma matriz que permite a observação do desempenho de um modelo obtido por meio de uma técnica de aprendizado de máquina, através dos valores reais e preditos pelo classificador (SANTANA, 2018). É uma métrica que

(29)

possui o objetivo de calcular falsos e verdadeiros positivos e negativos das classes que se desejam prever (VASCONCELLOS, 2018).

A matriz de confusão é constituída por linhas, que representam as classes do modelo, e colunas que representam a quantidade de imagens classificadas, formando assim um quadrado. A diagonal principal desta matriz indica as imagens classificadas corretamente em cada classe, sendo que, os elementos restantes representam erro de classificação (SANTOS, 2017). A Figura 8 demonstra uma matriz de confusão de dimensão 2x2, com um classificador de duas classes.

Figura 8 – Matriz de confusão de dimensão 2x2

Fonte: Elaborada pela Autora (2020)

 Verdadeiro Positivo (VP): Classificação correta das instâncias da classe de interesse;

 Verdadeiro Negativo (VN): Classificação correta das instâncias que não são da classe de interesse;

 Falso Positivo (FP): Classificação incorreta das instâncias como a classe de interesse;

 Falso Negativo (FN): Classificação incorreta das instâncias como não sendo a classe de interesse.

(30)

3.5.2 Métricas de Avaliação

Através das métricas de avaliação é possível avaliar o desempenho do classificador e, normalmente, tomam por base os resultados da matriz de confusão (SANTOS, 2017).

A precisão, definida na equação (1), representa a porcentagem de positivos previstos que foram classificados corretamente, enquanto a sensitividade, indicada na equação (2), também conhecida como revocação, sensibilidade ou recall, representa a porcentagem de positivos reais classificados corretamente, ou seja, a taxa dos verdadeiros positivos (“Classification on imbalanced data”, acesso em 16 ago. 2020). (1) (2)

A precisão pode ser usada em situações em que os Falsos Positivos são considerados mais prejudiciais que os Falsos Negativos, já a sensitividade pode ser usada em tarefas em que os Falsos Negativos são mais danosos para o modelo (RODRIGUES, 2019)

A métrica AUC (Area Under the Curve) mede a área sob a curva, calculada utilizando a altura dos valores de precisão pela revocação, definida como curva PR e ilustrada na Figura 9.

(31)

Figura 9 – Métrica AUC - PR

Fonte: Adaptado de Kurbiel (2020)

A AUC de um classificador é a probabilidade de uma amostra positiva aleatória ser pontuada acima de uma amostra negativa aleatória (“Classification on imbalanced data”, acesso em 16 ago. 2020). Essa métrica é indicada para tarefas cujas quantidades de amostras das classes são desproporcionais (FILHO, acesso em 15 ago. 2020).

A acurácia, definida na equação (3), representa a porcentagem de exemplos classificados corretamente. É uma métrica frequentemente utilizada para avaliação de problemas de classificação de aprendizado de máquinas, porém, não é recomendada em situações que a quantidade de amostras entre as classes é desbalanceada (RODRIGUES, 2019).

(32)

4 METODOLOGIA

A abordagem proposta neste trabalho, para identificação de passagens de nível clandestinas em imagens da Estrada de Ferro Vitória Minas, é composta por três fases. A primeira fase consiste na captura de imagens para a montagem do banco de dados, a segunda fase compreende o treinamento da Rede Neural Convolucional e a classificação, sinalizando qual imagem é passagem clandestina e qual não é. Por fim, a terceira fase consiste na avaliação dos resultados para validação do método proposto.

Diante do exposto, este capítulo tem por objetivo apresentar as ferramentas e métodos utilizados no desenvolvimento deste trabalho em cada uma destas etapas.

4.1 FERRAMENTAS

Para implementação das fases do treinamento e classificação, assim como o armazenamento do conjunto de imagens, foi utilizado um computador com processador Intel(R) Core(TM) i9-9900k CPU @ 3.60GHz, com 32 Gigabyte de memória RAM e placa de vídeo NVIDIA Quadro P6000, rodando no sistema operacional Ubuntu, versão 19.10, presente no Laboratório de Tecnologias do Futuro (LabTeF) do Instituto Federal do Espírito Santo (IFES).

Neste computador, foi utilizada a plataforma Docker, cuja finalidade é criar ambientes isolados para aplicações e serviços. Esta ferramenta possibilita o empacotamento dentro de um container de uma aplicação ou ambiente com todos os recursos necessários. O container deste projeto foi criado a partir de uma imagem retirada do Docker Hub, local este, utilizado para armazenamento e compartilhamento de imagens. A imagem aplicada teve como características os itens apresentados a seguir, além de utilizar GPU (Graphics Processing Unit) para execução do aplicativo desenvolvido:

 Python 3: linguagem de programação livre, de alto nível, multiplataforma e orientada a objeto, foi criada por Guido van Rossum em 1991. Tem uma sintaxe clara e direta, além de pacotes e bibliotecas, com aplicações diversas, que minimizam o uso de código (“Python: O que é? Por que usar?”, 2020);

(33)

 Jupyter Notebook: ambiente computacional web, de código aberto, que permite criar e compartilhar documentos que contêm códigos, equações, visualizações e texto. Admite o uso de várias linguagens de programação, sendo o Python a linguagem padrão (PROJECT JUPYTER, 2020);

 TensorFlow: plataforma completa de código aberto que facilita a criação e implementação para aprendizado de máquina (machine learning). Permite treinar e implantar modelos de maneira simplificada, independentemente da linguagem ou da plataforma utilizada. A biblioteca Keras é um API (Application Programming

Interface) de alto nível para construir e treinar modelos no TensorFlow ("Por que

usar TensorFlow", acesso em 15 set. 2020).

Além da biblioteca TensorFlow/Keras, foram utilizadas as bibliotecas OpenCV, Numpy, Matplotlib, Scikit-learn e Imbalanced-learn.

OpenCV: também conhecido como Open Source Computer Vision, é uma biblioteca aplicada em processamento de imagens para desenvolvimento de aplicativos na área de Visão Computacional (OLIVEIRA, 2019);

 Numpy: pacote de processamento de matrizes multidimensionais, que fornece diversas ferramentas para manipulá-las e gerenciá-las (OLIVEIRA, 2019);

 Matplotlib: biblioteca de software para criação de gráficos bidimensionais de visualização de dados (OLIVEIRA, 2019);

 Scikit-learn: biblioteca de aprendizado de máquina de código aberto que oferece suporte ao aprendizado supervisionado e não supervisionado. Também fornece várias ferramentas para ajuste de modelo, pré-processamento de dados, validação cruzada, seleção e avaliação de modelo, dentre outros vários utilitários (SCIKIT-LEARN, acesso em 16 set. 2020).

 Imbalanced-learn: biblioteca de código aberto com objetivo de fornecer métodos para lidar com o problema de conjunto de dados desequilibrado, frequentemente encontrado em aplicações de aprendizado de máquina e reconhecimento de padrões. Os métodos são categorizados em, subamostragem, em que as

(34)

amostras da classe majoritária são descartadas durante o procedimento de balanceamento; sobreamostragem, onde novas amostras são geradas na classe minoritária para atingir uma determinada proporção de balanceamento; e uma combinação entre subamostragem e sobreamostragem para o equilíbrio das amostras (LEMAÎTRE; NOGUEIRA; ARIDAS, 2017).

4.2 CAPTURA DE IMAGENS

A primeira fase para o desenvolvimento deste trabalho foi a captura de imagens para montagem do banco de dados. Este banco foi criado com a coleta de imagens de passagens de nível clandestinas, passagens de nível oficiais e linha férrea. Para isso, foi realizado um levantamento de dados a partir de um vídeo da viagem do Trem de Passageiros da Estrada de Ferro Vitória Minas (EFVM), do dia 23/02/2020, dos trechos entre a Estação Pedro Nolasco, em Cariacica (Espírito Santo), e Estação Central, em Belo Horizonte (Minas Gerais). O banco de imagens foi utilizado nos treinamentos e testes da rede neural, a fim de realizar o processo de classificação das imagens.

Os vídeos das viagens da EFVM são gerados através da filmagem de uma câmera, do modelo VIPM 3108, instalada na parte frontal das locomotivas do Trem de Passageiros, e interligada a um módulo de gravação MVD 5106 GW.

Para assistir o vídeo, foi utilizado como ferramenta o software Sim Mobile 2 da INTELBRAS, e assim, realizar anotações dos momentos em que foram identificadas passagens de nível oficiais e clandestinas, registrando as horas iniciais e finais das ocorrências, com acréscimos de alguns segundos para coletar também instantes da linha férrea. Com isso, obteve-se um banco de dados com os componentes de uma estrada ferroviária. A ferramenta Sim Mobile 2 também foi utilizada para converter o vídeo em formato AVI (Audio Video Interleaved).

Após assistir todo o vídeo da viagem mencionada, desprezando o período noturno, passou-se para a etapa da extração dos frames. As imagens foram geradas no formato JPEG (Joint Photographics Experts Group), com a dimensão de 1280x720. Para esse processo foi utilizada a biblioteca OpenCV. Em seguida, foram extraídas as regiões de interesse (ROI), que para este trabalho foi utilizada a região

(35)

[290:930,390:600], resultando em uma imagem de tamanho 640X210, conforme ilustrado na Figura 10. A imagem da Figura 10(a) sinaliza a região de interesse indicada no frame, e a Figura 10(b) é o resultado do processo de extração da região de interesse.

Figura 10 – Extração da região de interesse.

Fonte: Elaborada pela Autora (2020)

As imagens resultantes do processo de extração da região de interesse foram nomeadas de forma manual como PC, para as passagens de nível clandestinas, e NC, para as amostras que não eram passagens clandestinas. Desta forma, obteve-se o banco de imagem devidamente rotulado.

O processo de captura de imagens teve como resultado um total de 776 imagens PCs e 11.525 NCs, sendo 3.035 imagens de passagens de nível oficiais e 8.480 de linha férrea. A grande diferença do quantitativo de imagens entre as classes caracterizou em um banco de dados desbalanceado. Das imagens coletadas, 80% foram utilizadas para o treinamento e 20% para o teste.

Uma vez consolidada a base de dados, por meio das etapas de levantamento de dados, extração dos frames, extração das regiões de interesse e rotulação do banco de imagens, passou-se para o processo de treinamento e classificação utilizando como técnica a Rede Neural Convolucional. A Figura 11 indica as etapas da captura de imagens.

(36)

Figura 11 – Etapas da captura de imagens

Fonte: Elaborada pela Autora (2020)

4.3 CLASSIFICAÇÃO POR REDE NEURAL CONVOLUCIONAL

O processo de classificação consiste na extração de informações das imagens para reconhecer padrões e associá-las ao respectivo rótulo (SANTOS, 2017). Neste trabalho, foi utilizada a técnica de Rede Neural Convolucional (CNN) para reconhecimento das características das imagens e assim classificá-las. Para esse fim, foi desenvolvido um algoritmo em linguagem Python e aplicadas a biblioteca

(37)

Antes de apresentar o banco de imagens à rede, as imagens foram redimensionadas, através de comando da biblioteca OpenCV, reduzindo as duas dimensões pele metade, com objetivo de diminuir o tempo de execução do treinamento e o consumo dos recursos computacionais, resultando nas dimensões 320x105. Para o treinamento e teste foram utilizadas imagens brutas com os 3 canais RGB (Red, Green, Blue), como entrada para o modelo de classificação e, foi necessário converter o banco de imagens em um matriz com a biblioteca Numpy.

No treinamento, foi utilizado o método de validação cruzada para avaliação da capacidade de generalização do modelo, e com a finalidade de que todas as amostras disponibilizadas para o treinamento passassem tanto pelo grupo de treino, quanto pelo de validação. Neste trabalho, foi utilizado o método de validação cruzada K-fold, aplicando a biblioteca scikit-learn, com o k igual a 5. Ao final de cada

Fold, o modelo foi testado com o banco de imagens de teste, sendo que, o resultado

do desempenho do treinamento é o cálculo da média e do desvio padrão do resultado de cada Fold.

Visando evitar overfitting e iterações desnecessárias, adotou-se o treinamento com

early stopping e patience igual a 10, em que a mudança na métrica AUC, no

conjunto de validação, foi a variável monitorada para observar o momento que seu valor máximo foi atingido. Na ocasião da interrupção do treinamento, são preservados os pesos na época em que o maior valor de AUC foi registrado.

4.3.1 Arquitetura de Rede

Encontrar uma Rede Neural Convolucional adequada para solucionar um determinado problema de Visão Computacional não é uma tarefa fácil, e a escolha passa por um processo empírico. Desta forma, visando comparar os resultados com a alteração da arquitetura de CNN, foram propostos diferentes conjuntos de experimentos, quanto ao número de camadas convolucionais e quantidade de filtros em cada camada, identificados como Treino (Tabela 2).

(38)

Tabela 2 – Estruturas das CNNs consideradas neste trabalho

Tipo de Camada TREINO 1 TREINO 2 TREINO 3 TREINO 4 TREINO 5

Convolução Camada 1

N° de Filtros 32 64 128 256 64

Dim. Filtros 3 x 3 3 x 3 3 x 3 3 x 3 3 x 3 Max-pooling

Camada 1 Dim. Filtros 2 x 2 2 x 2 2 x 2 2 x 2 2 x 2 Convolução

Camada 2

N° de Filtros 64 128 256 512 128

Dim. Filtros 3 x 3 3 x 3 3 x 3 3 x 3 3 x 3 Max-pooling

Camada 2 Dim. Filtros 2 x 2 2 x 2 2 x 2 2 x 2 2 x 2 Convolução

Camada 3

N° de Filtros 128 256 512 1024 256

Dim. Filtros 3 x 3 3 x 3 3 x 3 3 x 3 3 x 3 Max-pooling

Camada 3 Dim. Filtros 2 x 2 2 x 2 2 x 2 2 x 2 2 x 2 Convolução

Camada 4

N° de Filtros 128 256 512 1024 256

Dim. Filtros 3 x 3 3 x 3 3 x 3 3 x 3 3 x 3 Max-pooling

Camada 4 Dim. Filtros 2 x 2 2 x 2 2 x 2 2 x 2 2 x 2 Convolução

Camada 5

N° de Filtros - - - - 256

Dim. Filtros - - - - 3 x 3

Max-pooling

Camada 5 Dim. Filtros - - - - 2 x 2

Tot. Conectada

Camada 1 N° de Nós 512 512 512 512 512

Tot. Conectada

Camada 2 N° de Nós 1 1 1 1 1

(39)

Partindo da arquitetura inicial, Treino 1, foram adotadas 4 camadas convolucionais e duas totalmente conectadas, sendo a última, à saída do classificador, conforme apresentado na Figura 12. A primeira camada convolucional tem como entrada a imagem bruta com os três canais de cores RGB. Nesta camada é realizado o processo de convolução com 32 filtros e, em seguida é aplicada a função de ativação ReLU, que serve para trazer não linearidade ao modelo. Na sequência, é realizada a redução das dimensões das representações, através da camada

max-polling 2x2, que extrai o valor máximo de vizinhança. O processo se repete de forma

análoga nas próximas camadas convolucionais, porém a segunda camada com 64 filtros e a terceira e quarta com 128.

A saída das camadas convolucionais e pooling (subamostragem) representa características da imagem de entrada, e estas são passadas para as camadas totalmente conectadas para a classificação da imagem.

Na transição das camadas convolucionais para as camadas totalmente conectadas é realizado um achatamento na matriz (Flatten) para transformá-la em vetor. Também é aplicada a técnica de regularização Dropout, para evitar overfitting, com valor de 0,5.

A primeira camada totalmente conectada é composta de 512 neurônios e, ao final desta, também é aplicada a função de ativação ReLU, enquanto a última camada, com apenas um neurônio, é utilizada a função Sigmoid, já que se trata de uma classificação binária, ou seja, a saída 1 para classe positiva (passagem clandestina) e 0, caso contrário.

A arquitetura de rede dos Treinos 2, 3 e 4 são semelhantes ao do Treino 1 quanto ao número de camadas, alterando a quantidade de filtros em cada uma dessas camadas convolucionais. Já o Treino 5, teve o acréscimo de uma camada, totalizando em 5 camadas convolucionais, como tentativa de aumentar a tamanho da rede para ter um modelo com uma capacidade de gerar regiões de decisões mais complexas.

(40)

Figura 12 – Arquitetura da Rede Neural Convolucional do Treino 1

Fonte: Elaborada pela Autora (2020)

Também foi realizado um treinamento com a rede pré-treinada VGG-16, Treino 6, utilizando a técnica de Transfer Learning, com objetivo de comparar o desempenho desta arquitetura com as demais propostas. Este método de transferência de aprendizado (transfer learning) consiste na reutilização de um modelo pré-treinado em um novo problema, aproveitando recursos já aprendidos de uma rede neural

(41)

treinada com outro conjunto de dados (MEAZZINI, 2019). Normalmente é aplicado em problemas cuja quantidade de amostras do banco de imagens é pequena, sendo que, no modelo pré- treinado é utilizado um grande número de imagens para o treinamento (SHANG et al., 2018).

A rede VGG-16 é um modelo de Rede Neural Convolucional proposta por K. Simonyan e A. Zisserman, com o objetivo de classificar e reconhecer objetos em imagens, utilizando o banco Imagenet com mais de um milhão de imagens para o treinamento (UL HASSAN, 2018). Possui diversas camadas de convolução aplicando filtros 3x3; max-pooling 2x2; três camadas totalmente conectadas, sendo as duas primeiras com 4096 neurônios e a terceira com 1000 neurônios para classificação; e a camada softmax como camada final (UL HASSAN, 2018). Esta arquitetura teve como principal contribuição mostrar que a profundidade da rede é um componente crítico para um bom desempenho (PACHECO, 2016). A Figura 13 ilustra a estrutura original da rede VGG-16.

Figura 13 – Arquitetura da Rede Neural Convolucional VGG-16

Fonte: UL Hassan (2018)

Neste trabalho, foram substituídas as camadas totalmente conectadas ou densas do modelo VGG-16 por duas novas, com 512 neurônios na primeira e 1 neurônio na camada de saída, com a função de ativação sigmoid ao invés da softmax. A estrutura de rede utilizada encontra-se na Tabela 3. Foi adotada a técnica de ajuste fino (fine-tuning) para a transferência de aprendizado, na qual todos os pesos da rede foram ajustados, desde a camada do topo até a camada de saída, pelo fato do novo conjunto de dados ter característica bem diferente do utilizado na rede originalmente pré- treinada (KARPARTHY, 2018).

(42)

Tabela 3 – Estrutura da CNN elaborada a partir da VGG-16

Tipo de Camada TREINO 6

Tipo de Camada TREINO 6

Convolução Camada 1-1 N° de Filtros 64 Convolução Camada 4-1 N° de Filtros 512

Dim. Filtros 3 x 3 Dim. Filtros 3 x 3

Convolução Camada 1-2 N° de Filtros 64 Convolução Camada 4-2 N° de Filtros 512

Dim. Filtros 3 x 3 Dim. Filtros 3 x 3

Max-pooling

Camada 1 Dim. Filtros 2 x 2

Convolução Camada 4-3 N° de Filtros 512 Dim. Filtros 3 x 3 Convolução Camada 2-1 N° de Filtros 128 Max-pooling

Camada 4 Dim. Filtros 2 x 2 Dim. Filtros 3 x 3 Convolução Camada 2-2 N° de Filtros 128 Convolução Camada 5-1 N° de Filtros 512

Dim. Filtros 3 x 3 Dim. Filtros 3 x 3

Max-pooling

Camada 2 Dim. Filtros 2 x 2

Convolução Camada 5-2 N° de Filtros 512 Dim. Filtros 3 x 3 Convolução Camada 3-1 N° de Filtros 256 Convolução Camada 5-3 N° de Filtros 512

Dim. Filtros 3 x 3 Dim. Filtros 3 x 3

Convolução Camada 3-2

N° de Filtros 256

Max-pooling

Camada 5 Dim. Filtros 2 x 2 Dim. Filtros 3 x 3 Convolução Camada 3-3 N° de Filtros 256 Tot. Conectada Camada 1 N° de Nós 512 Dim. Filtros 3 x 3 Max-pooling

Camada 3 Dim. Filtros 2 x 2

Tot. Conectada

Camada 2 N° de Nós 1

Fonte: Elaborada pela Autora (2020)

4.4 AVALIAÇÃO DOS RESULTADOS DA CLASSIFICAÇÃO

Para validação do método de Rede Neural Convolucional, foram analisadas as métricas de avaliação, que para esse trabalho, foi utilizada a AUC PR, que mede a área sob a curva entre a precisão e a revocação, além das próprias métricas

(43)

precisão e revocação. Os valores destas medidas variam de 0 a 1 ou de 0 a 100% e quanto maior, melhor é o desempenho do classificador (TORÁCIO, 2008). Os gráficos das métricas foram gerados utilizando a biblioteca Matplotlib.

Também foi avaliada a matriz de confusão para obter informação relativa ao número de imagens classificadas corretamente e incorretamente. Como neste trabalho trata-se de 2 clastrata-ses de classificação, a matriz de confusão tem o tamanho 2x2.

(44)

5 RESULTADOS E DISCUSSÕES

Este capítulo visa apresentar a discussão dos resultados de forma quantitativa, apresentando os dados comparativos dos experimentos realizados. Os resultados foram analisados empregando a média e o desvio padrão (DP) das métricas de avaliação, obtidas para os Folds do processo de validação cruzada, bem como o resultado do Fold que apresentou o melhor desempenho. Também foi considerado, como indicador, o tempo total de processamento do método proposto.

5.1 CLASSES DESBALANCEADAS

Para o treinamento com as classes desbalanceadas, foi utilizada a arquitetura de rede do Treino 1, considerando a quantidade de amostras do banco de dados original, ou seja, 776 imagens PCs e 11.525 NCs. A Figura 14 exemplifica 4 amostras do banco de imagens, sendo as duas primeiras passagens de nível clandestinas (PCs) e, as duas últimas, imagens que não são de passagens clandestinas (NCs).

A Tabela 4 apresenta os resultados deste treinamento e, como pode ser observado, a métrica AUC obteve o valor médio de 47,19%. Desta forma, percebe-se que o classificador apresentou um resultado inferior ao do processo de classificação aleatória, já que o valor foi menor que 50% (TORÁCIO, 2008).

Isto também pode ser verificado na matriz de confusão e nas métricas do Fold que obteve o melhor resultado, apresentados na Figura 15 e na Tabela 5, respectivamente, cujos valores traduzem que o classificador indicou a maioria das amostras como NCs, já que é a classe majoritária. Pode-se concluir portanto, que o comportamento das métricas é consequência do grande desbalanceamento entre as classes, pois a precisão alcançou uma media alta de 94,44%, pelo fato de resultar em poucas amostras falsas positivas, enquanto a revocação teve uma média muito baixa de 7,62%, devido a grande quantidade de falsos negativos classificados.

(45)

Figura 14 – Exemplos de imagens do banco de dados

Fonte: Elaborada pela Autora (2020)

Tabela 4 – Resultados das métricas com as classes desbalanceadas

Treino

Métricas

Precisão Revocação AUC Duração

Média (%) DP (%) Média (%) DP (%) Média (%) DP (%) Hora Treino 1 98,89 2.22 7,62 3.34 47,19 6.68 01:33 Fonte: Elaborada pela Autora (2020)

(46)

Figura 15 – Matriz de confusão com as classes desbalanceadas PREDITO PC NC REAL PC 17 130 NC 1 2313

Fonte: Elaborada pela Autora (2020)

Tabela 5 – Resultados do melhor Fold com as classes desbalanceadas

Treino

Métricas

Precisão (%) Revocação (%) AUC (%)

Treino 1 94,44 11,56 54,79

Fonte: Elaborada pela Autora (2020)

5.2 CLASSES BALANCEADAS

Para o experimento com as classes balanceadas, foram avaliados os resultados dos treinamentos com todas as arquiteturas propostas no item 4.3.1. As amostras foram balanceadas utilizando a biblioteca imbalanced-learn, de forma que a classe minoritária ficasse equilibrada com a classe majoritária aumentando a quantidade de imagens. Com isso, pode-se observar na Tabela 6 que o balanceamento do banco de dados trouxe ganhos significativos nos resultados, já que a AUC alcançou valores acima de 90% em todos os treinamentos.

Comparando os resultados entre os treinamentos, pode-se verificar que o Treino 2 obteve o melhor resultado de AUC. Já os Treinos 4 e 6, gastaram o maior tempo de processamento, o que era de se esperar, pois o primeiro possui uma grande quantidade de filtros nas 4 camadas convolucionais, e o segundo, utiliza as 13 camadas convolucionais do modelo pré-treinado VGG-16 e a técnica de ajuste fino, tornando o treinamento mais custoso computacionalmente. Além disso, pode-se concluir que aumentar a quantidade de filtros nem sempre melhora os resultados, e isso pode ser verificado relacionando os valores dos Treinos 1, 2, 3 e 4, cujo número de filtros foi dobrado de forma consecutiva. A métrica AUC aumentou de valor no Treino 2, no entanto não teve melhorias no 3 e 4. No Treino 5, foi inserida uma

(47)

camada convolucional na arquitetura do Treino 2 e também não apresentou ganhos nos resultados. O Gráfico 1 apresenta o valor médio de AUC de cada treinamento.

Tabela 6 – Resultados das métricas com as classes balanceadas

Treino

Métricas

Precisão Revocação AUC Duração

Média (%) DP (%) Média (%) DP (%) Média (%) DP (%) Horas Treino 1 77,50 5,92 96,89 2,29 94,37 2,15 04:09 Treino 2 81,55 10,02 96,75 1,09 97,13 1,87 03:42 Treino 3 82,16 11,03 96,75 1,01 95,26 2,16 04:47 Treino 4 82,50 6,17 95,31 3,35 95,60 1,71 10:22 Treino 5 82,76 2,06 95,77 2,68 94,87 1,34 03:30 Treino 6 79,17 4,33 96,63 1,64 95,58 0,81 14:46 Fonte: Elaborada pela Autora (2020)

Gráfico 1 – Valor médio de AUC de cada treinamento

Fonte: Elaborado pela Autora (2020)

Desta forma, reforça a ideia de que a escolha dos parâmetros para uma rede neural é um processo arbitrário e empírico, o que justifica realizar testes com diversas

92,50 93,00 93,50 94,00 94,50 95,00 95,50 96,00 96,50 97,00 97,50

Treino 1 Treino 2 Treino 3 Treino 4 Treino 5 Treino 6

A

UC

Referências

Documentos relacionados

Foram analisados a relação peso-comprimento e o fator de condição de Brycon opalinus, em três rios do Parque Estadual da Serra do Mar-Núcleo Santa Virgínia, Estado de São

(...) o controle da convencionalidade em sede internacional seria um mecanismo processual que a Corte Interamericana de Direitos Humanos teria para averiguar se o direito

Subordinada a Diretoria Executiva, tem como competência as atividades de desenvolvimento de protocolo, registros dos profissionais médicos veterinários e zootecnistas, registro

O objetivo deste trabalho foi validar a aplicação do Female Sexual Function Index (FSFI) em uma amostra de mulheres de casais inférteis que desejam engravidar e de mulheres

•   O  material  a  seguir  consiste  de  adaptações  e  extensões  dos  originais  gentilmente  cedidos  pelo 

Em função dessas peculiaridades geográficas e ambientais, a área territorial da sede da Embrapa Amazônia Oriental nos últimos anos vem sendo alvo de alguns estudos, dentre os quais,

Deste modo, o adequado zoneamento e sua observância são fundamentais para a conciliação da preservação ou conservação de espécies, hábitats e paisagens dentre outras e

Dedman, Kungwal e Stark (2010), ao aglutinar os modelos empíricos utilizados por Akbar e Stark (2003) e Hess (1999), com o intuito de investigar a relação entre os