• Nenhum resultado encontrado

Aplicação de algoritmo supervisionado na classificação de peças.

N/A
N/A
Protected

Academic year: 2023

Share "Aplicação de algoritmo supervisionado na classificação de peças."

Copied!
89
0
0

Texto

After obtaining the parameters of the network that best matched the requirements of the job, the data was collected for validation of the network. This application runs the multilayer perceptron network using the synaptic weights obtained during the training performed in the MATLAB and displays a visual response with the result of the classification made by the network. With the adjustments made, the network presented a satisfactory classification result with a percentage of 81.6%, demonstrating that the use of the multilayer perceptron network is feasible for the classification of the parts using a low-cost system and with only two features.

INTRODUÇÃO

  • Formulação do problema e motivação
  • Objetivo geral
  • Objetivos específicos
  • Estrutura do trabalho

Em um problema de classificação supervisionada, o sistema recebe um conjunto de exemplos já classificados de acordo com critérios pré-determinados e um algoritmo é responsável por obter uma função que consiga separar corretamente as classes de acordo com os exemplos dados. Segundo SILVA (2010, p 15) o processo de reconhecimento de padrões “[..] inclui três fases principais: a representação dos dados de entrada e sua medição; a extração de feições e por fim a classificação do objeto estudado”. Construa uma esteira e um sistema de sensores que possam coletar dados de peças que serão posteriormente analisadas pelo algoritmo da rede neural.

BASE TEÓRICA

Redes Neurais Artificiais

O modelo de neurônio artificial mais utilizado nas diversas arquiteturas de redes neurais existentes é o proposto por McCulloch & Pitts, que pode ser visto na Figura 2.2. Entre as características mais importantes das redes neurais artificiais estão a capacidade de aprendizado e a capacidade de generalização. As redes neurais tornaram-se cada vez mais comuns, sendo encontradas em aplicações que vão desde análise e previsão de dados financeiros, diagnósticos médicos e análise de imagens de satélite até controle de eletrodomésticos, classificação de padrões e aplicativos de escrita e edição. fala em veículos autônomos.

Figura 2.2 - Neurônio Artificial
Figura 2.2 - Neurônio Artificial

Rede Perceptron

As funções de ativação geralmente usadas em uma rede perceptron são a função degrau ou a função degrau bipolar, de modo que a saída da rede pode ter apenas dois valores possíveis, 0 e 1 no caso da função degrau ou -1 e 1 quando o função degrau bipolar é usada. A análise do limite de classificação da rede perceptron mostra que esta rede é capaz de identificar classes limitadas por apenas uma linha (no caso da rede de duas entradas), ou mais amplamente, o algoritmo perceptron é capaz de classificar dados que são definidos linearmente . podem ser separados. O processo de treinamento da rede consiste em apresentar um conjunto de amostras ao algoritmo, analisar as saídas que a rede apresenta e compará-las com as saídas desejadas.

Figura 2.4 -  Fronteira de separação das classes em uma rede com duas entradas
Figura 2.4 - Fronteira de separação das classes em uma rede com duas entradas

Perceptron Multicamadas

  • Ajustes dos pesos sinápticos em uma rede PMC

Nesta etapa, os pesos de cada camada são atualizados, partindo da camada de saída para a camada de entrada da rede. A variável 𝐼𝑗(𝐿) representa o vetor com as entradas já ponderadas para cada neurônio {j} da camada {L} e a variável 𝑌𝑗(𝐿) representa a saída de cada neurônio {j} da camada {L}. O gradiente local para os neurônios da camada de entrada é calculado da mesma forma que para as camadas intermediárias, usando a equação 2.12.

Figura 2.5 - Rede perceptron multicamadas
Figura 2.5 - Rede perceptron multicamadas

DESENVOLVIMENTO

Esquema geral

Materiais utilizados

  • Plataforma Arduino
  • Resistor Dependente da Luz (RDL)
  • Diodo Laser
  • Sensor de Barreira
  • Peças para classificação
  • Esteira transportadora

O sensor de cor utilizado no trabalho consiste em um chip TAOS TCS3200 mostrado na Figura 3.3, capaz de medir e detectar uma ampla gama de cores visíveis, convertendo um sinal de luz em um sinal de frequência que pode ser lido por um microcontrolador, e quatro LEDs brancos , é usado para iluminar o objeto que está sendo analisado. A frequência nominal de saída do sensor pode variar de 12 kHz a 20 kHz de acordo com o comprimento de onda e a intensidade da luz aplicada ao fotodiodo. O resistor dependente de luz (LDR) ilustrado na Figura 3.5, é um dispositivo capaz de alterar sua resistência elétrica de acordo com a intensidade da luz que incide sobre ele.

Essa resistência é reduzida a algumas centenas de milhares de ohms sob iluminação direta”, então fica claro que a resistência no RDL é inversamente proporcional à luminosidade, essa propriedade é ilustrada na Figura 3-6. O diodo LASER, ilustrado na Figura 3.7, é um componente eletrônico semicondutor e é formado por uma junção PN semelhante à de um diodo emissor de luz (LED) (DIODOS, 2018). Esta propriedade em conjunto com as propriedades do RDL permitiu a construção de um sensor de ocupação utilizado no projeto, cujas características são descritas a seguir.

Esse tipo de dispositivo é denominado por Thomazini e Albuquerque (2007), “Sensor óptico de detecção de obstáculos luminosos”, e o define como um sensor que “possui o emissor e o receptor montados em dispositivos separados. Pelo esquema mostrado na figura 2.14, é possível observar que a tensão aplicada na base do transistor é a tensão presente no RDL, ou seja, é proporcional à resistência do RDL. Foram escolhidas peças de três cores diferentes e dois tamanhos diferentes, num total de seis classes possíveis, tais peças podem ser vistas na figura 3.10.

Os detalhes estruturais do tapete podem ser vistos na Figura 3.11, que mostra a vista lateral do tapete, e na Figura 3.12, que mostra a estrutura de suporte do sensor desenvolvido.

Figura 3.3 - Módulo Sensor TCS3200
Figura 3.3 - Módulo Sensor TCS3200

Coleta de Dados

  • Cor da peça
  • Comprimento da peça
  • Sistema coletor de dados

Um sensor de obstáculo foi usado para coletar dados sobre o comprimento de cada peça. Utilizando o sensor de barreira é possível determinar uma medida proporcional ao comprimento da peça calculando o tempo decorrido entre a interrupção do feixe de luz pela peça e a liberação deste feixe. Para peças de tamanho igual, o timing também será igual, então medir o tempo em milissegundos que o sensor de barreira é acionado é suficiente para classificar uma peça pelo seu comprimento.

Para uma melhor organização do código fonte do sistema, foi adotada a utilização de alguns conceitos de Programação Orientada a Objetos. Seguindo essa abordagem, vários conceitos relacionados à OOP foram adotados durante o desenvolvimento do sistema de coleta de dados: o conceito de Objeto, que é a representação de um elemento do mundo real dentro do software; o conceito de abstração atribui ao objeto representado suas características e ações; e o conceito de Encapsulamento, que afirma que o código deve ser transparente para o usuário, não exigindo o entendimento completo do código para que uma ação seja executada. Para atender o primeiro requisito do sistema, é utilizada a classe “Motor”, que tem como objetivo controlar o acionamento do motor que movimenta a correia transportadora, o pulso que será fornecido pelo Arduino, “On” que aciona o motor. e.

O código que executa a classe "Motor" pode ser visto no Apêndice A. Para a segunda requisição é utilizado o sensor de obstáculo que, montado com o suporte para os sensores desenvolvidos, é posicionado de forma que a peça, quando posicionada sob a cor sensor . interrompe o feixe do sensor obstruindo, identificando assim que está na posição correta para leitura. GetBlue” que retornam as leituras dos fotodiodos do sensor de cor com os filtros vermelho, verde e azul respectivamente, cumprindo assim o terceiro requisito do sistema. Após a leitura da cor da peça, o movimento da esteira é retomado e é medido o tempo decorrido até que a peça ultrapasse completamente o alcance do sensor de obstáculo, cumprindo assim o quarto requisito.

O fluxograma da Figura 3.17 mostra o funcionamento do sistema de coleta de dados, cujo código pode ser encontrado no Apêndice C.

Figura 3.14 - Sensor de Cores e Sensor de Barreira
Figura 3.14 - Sensor de Cores e Sensor de Barreira

RESULTADOS

  • Treinamento da Rede Perceptron Multicamadas
    • Ajuste dos dados das amostras
    • Algoritmo Perceptron Multicamadas
  • Estrutura e parâmetros da rede PMC
    • Definição da estrutura da rede PMC
    • Taxa de Aprendizagem
  • Validação da Rede
    • Aplicativo para classificação das peças
  • Interferências externas e ajustes
  • Readequação da rede e resultados

Alguns parâmetros para o funcionamento do algoritmo devem ser comunicados pelo usuário, inclusive o valor da taxa de aprendizado da rede. Dessa forma, o desempenho geral da rede pode ser medido pelo erro quadrático médio apresentado para uma série de amostras. Com os parâmetros iniciais definidos para a rede, inicia-se o processo de iteração que resultará no treinamento da rede.

Conforme mencionado anteriormente, o processo de treinamento da rede PMC pode ser dividido em duas etapas, a primeira para frente em que a resposta da rede é obtida levando em consideração os pesos atuais e a segunda para trás em que os pesos sinápticos são atualizados. A velocidade de aprendizado, como já mencionado, afeta a velocidade com que a rede aprende, mas também pode alterar o desempenho da rede. Neste teste os dados não foram divididos em grupos, então as trezentas amostras presentes no grupo foram utilizadas para treinamento da rede, as mesmas amostras serviram para verificar o grau de ajuste da rede.

Os resultados foram avaliados em termos de desenvolvimento de erro quadrático médio, taxa de sucesso, tempo de treinamento da rede e erro ao final das iterações. Com a estrutura final da rede definida, foi realizado o processo de coleta de dados para treinamento e obtenção dos pesos sinápticos que serão utilizados no processo de validação. Para realizar o processo de validação da rede em tempo real e apresentar os resultados, foi desenvolvida uma aplicação capaz de receber os dados da leitura da peça feita pelos sensores na linha de montagem, implementar a rede PMC e apresentar a classificação dos resultados.

Um exemplo do formato de arquivo usado para proteger dados de rede pode ser visto no Apêndice F.

Figura 3.18 - Grupo com dados dos sensores e identificação da classe
Figura 3.18 - Grupo com dados dos sensores e identificação da classe

CONCLUSOES E TRABALHOS FUTUROS

Os problemas durante a validação puderam ser contornados com soluções simples, tanto para o problema de brilho na instalação de um ecrã, como para o defeito do motor cujo funcionamento foi afetado pelo movimento do cabo de alimentação, resolvido com uma melhor fixação do mesmo. Sua taxa de acerto de 81,6% pode ser considerada satisfatória por se tratar de um protótipo e pela existência de possíveis interferências não detectadas. O trabalho foi desenvolvido de forma que sua reprodutibilidade seja de fácil execução e propõe-se para projetos futuros a utilização de métodos que possam calcular a velocidade de movimento da correia, como o uso de encoders em combinação com o sensor de barreira, melhorando assim o cálculo do comprimento do objeto, minimiza possíveis interferências causadas pela variação da velocidade da correia, causada não só por defeitos estruturais como no caso deste trabalho, mas também por características físicas da correia como o atrito entre as peças e possíveis variações de tensão no motor.

Outra possível melhoria é a utilização de câmeras de captura de imagens de objetos, onde além das cores podem ser analisados ​​dados bidimensionais das peças. Melhorias também podem ser feitas no código de treinamento da rede PMC, como incluir o termo momentum, que evita que o treinamento converja para um mínimo local;

Camadas:Tarray; //cada item contém o número de neurônios em cada camada NumCamadas:Integer; //Número de camadas. Nível de Ativação: real; //Nível de ajuste de saída, valor acima é considerado ativado Pesos: string Tarray; //Pesos sinápticos dos neurônios.

Imagem

Figura 2.1 - Neurônio biológico
Figura 2.2 - Neurônio Artificial
Figura 2.3 - Rede Perceptron
Figura 2.4 -  Fronteira de separação das classes em uma rede com duas entradas
+7

Referências

Documentos relacionados

A estrutura dos filtros lentos é basicamente constituída por uma entrada de água bruta, um meio filtrante geralmente de areia, uma camada sobrenadante que garante que a