Buscar

Controle de Qualidade de produção por imagem

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Controle de qualidade de produção por imagem 
Eduardo Dumke 
Universidade de Santa Cruz do Sul ­ RS 
Santa Cruz do Sul – RS – Brasil 
edhell2@gmail.com 
 
Abstract. This article aims to describe the processes used for the automation                       
of achieving quality production of a particular object from digital image                     
processing. 
Resumo. Este artigo tem a finalidade de descrever os processos utilizados                     
para a automatização da obtenção da qualidade de produção de um                     
determinado objeto a partir do processamento digital imagens. 
 
 
1. Informações gerais 
Será utilizado uma câmera de computador “Webcam” para a obtenção da                     
imagem de um determinado produto ou objeto, que servirá de padrão para os                         
demais que serão submetidos ao teste de qualidade, utilizando processamento                   
digital de imagens. 
As imagens serão processadas a partir de um microcomputador, onde o mesmo                       
enviará as instruções a um micro controlador que ficará responsável pela parte da                         
automação mecânica, para aumentar ou diminuir a intensidade luminosa que                   
incide no objeto, movimentação da esteira, controle do foco da câmera utilizada e                         
sensores de presença. 
Quando utilizamos o processamento digital de imagens para um fim específico                     
como o de controle de qualidade de determinados objetos de uma produção em                         
escala por exemplo, melhoramos a capacidade de encontrar e corrigir alguns                     
erros que possam ter sido cometidos pela produção ou manipulação que teria de                         
ser feito fisicamente pela presença de uma pessoa. Caso deixe tal função a cargo                           
de um processamento digital de imagens, este sistema ficará responsável a                     
informar o operador pelo controle de qualidade de que há um produto ou objeto                           
que está fora da qualidade esperada e estipulada por este, filtrando assim a                         
tomada de ação para o controle de qualidade, podendo este mesmo funcionário                       
hipotético cuidar de mais de uma linha de produção ao mesmo tempo. E com o                             
tempo poderá ser aperfeiçoado para tomada automática de decisão confome a                     
porcentagem de qualidade. Vindo a envia­lo para área de empacotamento ou                     
descarte, se o produto esteja fora do padrão desejado. 
 
 
 
2. Hardware e software envolvido 
2.1 Captura da imagem 
Foi ultilizada uma “webcam” comum de computador com chip zs2011,                   
conectada via USB, com uma resolução máxima de 2 Mega pixels.  
Para os testes que serão mostrados e exemplificados neste artigo foi utilizada a                         
resolução de 160 por 120 pixels. 
2.2 Microcontrolador e demais peças utilizadas na automação 
● Arduino MEGA 2560 R3; 
● Motor de passo Philips 4 fios; 
● Ponte H L298n para controlar o motor da esteira; 
● Ponte H L298n para controlar as luzes; e 
● Sensor de presença infravermelho. 
2.3 Criação do software visual e de controle 
Todo o sistema visual e de controle foi desenvolvido na linguagem                     
VisualBasic.net, utilizado a IDE Visual Studio 2015 Enterprise da Microsoft. 
Todos os códigos fonte e executaveis poderão ser encontrados em:                   
“​http://edhell.com.br/files/down/Trabalho2­PDS.rar​”. 
2.3 Código interno do arduino 
Para o desenvolviento do código que é processado internamente pelo arduino, foi                       
utilizado a IDE própria do arduino, disponibilizado pelo seu fabricante,                   
encontrado ​aqui​. 
O código pode ser encontrado em:           
“​http://edhell.com.br/files/down/Trabalho2­PDS­Arduino.zip​”. 
Em resumo o arduino será responsável pelo controle de iluminação,                   
deslocamento do objeto na esteira, informações de presença para tomada de ação                       
e facilmente programável para receber mais tipos de instruções, podendo adionar                     
mais funções de comunicação. 
A comunicação com o arduino é feita à partir de uma emulação serial, via USB,                             
onde o arduino manda e recebe dados da apliacação criada, esta comunicação                       
ocorre da seguinte forma: 
 
 
 
É enviado ao arduino um código com a seguinte sintaxe: <LED1:255> 
Sendo este código dividido em: 
● Primeiro caractere: Informa que começa uma instrução; 
● Próximos quatro caracteres: Função solicitada; 
● Próximo caractere: “:” separa a função do atributo; 
● Próximos três caracteres: Informam o atributo passado juntamente com a                   
função, poderão haver funções que não utilizam os atributos; 
● Próximo e último caractere da função: informa que a instrução chegou ao                       
fim. 
2.3.1 Funções aceitas pelo arduino 
Abaixo está a lista de instruções que são aceitas pelo arduino, para                       
processamento de uma determinada função. Lembrando que facilmente pode­se                 
adicionar mais funções, caso haja necessidade. 
● “<LED1:000>” ­ Ajusta iluminação do LED1 de 0 a 255; 
● “<LED2:000>” ­ Ajusta iluminação do LED2 de 0 a 255; 
● “<STOP:XXX>” ­ Pausa o sistema por x Segundos; e 
● “<MOT1:XXX>” ­ Avança em X pontos a esteira 1. 
2.4 Sistema de iluminação 
Para realizar a captura da imagem sem interferência do exterior, foi adicionado                       
ao projeto dois emissores de luz para iluminação, diminuindo a sombra,                     
diminuindo as interferências de fatores externos e para não depender de uma                       
iluminação do ambiente em que se entrontrar conforme mostra a (Figura 1) e                         
(Figura 2) abaixo.  
 
 
 
 
 
Figura 1. Vista de cima da iluminação e da camera.  
2.5 Sistema de lentes 
Como a camera encontra­se muito perto dos objetos que serão capturados, há a                         
necessidade de uma lente apropriada para não desfocar ou destorcer a imagem à                         
ser capturada, podendo estes fatores interferirem no resultado final, conforme                   
mostra a (Figura 2) abaixo.  
 
Figura 2. Vista de baixo da iluminação, camera​ ​e da lente. 
 
 
 
2.6 Desempenho 
O sistema foi desenvolvido para ser modular e trabalhar com sistemas de multi                         
threads, compartilhando as caixas de imagem com outras funções, podendo a                     
maioria das funções serem executas juntamente. 
Também conta com sistema de gatílhos para evitar processamento desnecessário.                   
Foi criado e utilizado uma função que só é executada quando há dados à receber                             
ou enviar pela porta de comunicação com arduino ou quando há um novo frame                           
na camera, esperando para ser lido. 
3. Processos utilizados para obtenção e processamento da imagem 
3.1 Processamentos de imagem utilizados: 
Para chegar no resultado final, foram utilizados alguns processos abaixo                   
especificados, melhores explicados nos tópicos subsequentes. 
● Obtenção da imagem colorida à partir de uma camera; 
● Conversão da imagem colorida para escala de cinza de 8 bits; 
● Obtenção do limiar pelo método do triângulo e método manual; 
● Binarização de imagem, confortme limiar; 
● Clareamento e escurecimento da imagem; 
● Testar pixel a pixel para comparação de diferença entre duas                   
imagens; 
● Criação de áreas específicas dentro da imagem; e 
● Exclusão de determinadas áreas para comparação. 
3.1.1 Obtenção da imagem coloridaà partir de uma câmera 
Para obter a imagem da webcam, foi utilizado uma biblioteca chamada                     
AForge.NET, disponível ​aqui​. 
Na (Figura 3) é mostrado o código com o gatilho criado para capturar da imagem                             
e na (Figura 4) como é a interface normal do sistema. Totalmente intuitivo, com                           
o máximo de legendas o possível para o rápido entendimento. 
 
Figura 3. Código do gatilho de captura da imagem. 
 
 
 
 
Figura 4. Sistema funcionando normalmente e conectada ao arduino com iluminação “24”. 
3.1.2 Conversão da imagem colorida para escala de cinza de 8 bits 
Para um melhor processamento digital da imagem, é utilizado um algoritmo que                       
converte a imagem colorida para uma imagem em escala de cinza de 8 bits                           
conforme o código na (Figura 5) abaixo. 
 
Figura 5. Código de conversão para escala de cinza. 
 
3.1.3 Obtenção do limiar pelo método do triângulo e método manual 
 
 
 
Para realizar a binarização da imagem há a necessidade de um ponto chamado de                           
limiar, que será o ponto que irá separar o 1 do 0, pixel a pixel, conforme mostra                                 
as (Figura 6 e 7) abaixo.  
 
Figura 6. Utilizando Binarização e modificando o limiar manualmente para 77. 
 
Figura 7. Utilizando Binarização e modificando o limiar manualmente para 165. 
 
 
 
3.1.4 Binarização da imagem, conforme limiar 
Sendo este limiar um valor x hipotético, para qualquer pixel maior ou igual a x,                             
este pixel passa a ter o valor de 255, mas caso o pixel seja inferior à x, o novo                                     
pixel passa a valer 0. 
A nova imagem gerada agora só dispõe de pixels com valores 0 ou 255, obtendo                             
assim um melhor resultado na comparação digital das imagens, conforme mostra                     
a (Figura 8) abaixo. 
 
Figura 8. Utilizando Binarização com limar 128 automático. 
3.1.5 Clareamento e escurecimento da imagem 
Como podem haver mudanças de claridade no momento da captura da imagem,                       
há uma opção de clareamento e escurecimento da imagem capturada, podendo                     
configurar esta intensidade para um melhor resultado como mostra as (Figuras 9,                       
10 e 11) abaixo. 
 
 
 
 
Figura 9. Imagem na escala de cinza normal. 
 
 
Figura 10. Imagem na escala de cinza mais clara que a original. 
 
 
 
 
Figura 11. Imagem na escala de cinza mais escura que a original. 
 
3.1.6 Testar pixel a pixel para comparação de diferença entre duas                     
imagens 
Para obermos uma porcentagem de diferença entre duas imagens, é comparado                     
pixel a pixel entre as duas imagens, e calculado conforme a quantia total de                           
pixels da imagem conforme mostra as (Figuras 12, 13 e 14) abaixo. 
O cálculo que o algoritmo segue é o seguinte:  
● Encontrar a quantia total de pixels da imagem, este é encontrado                     
multiplicando a altura com a largura, ambas em pixels; 
● É realizado um loop que compara cada ponto da matriz padronizada com                       
seu respectivo ponto na outra matriz que foi gerada para comparação; 
● Quando realizado a checagem, armazena a quantidade de pixels que são                     
iguais para fazer os calculos de comparação; e 
● Após calcular o máximo de pixels e a quantia de pixels iguais. É feito um                             
cálculo simples de porcentagem utilizando a regra de três adaptada para                     
este fim. 
 
 
 
 
 
Figura 12. Comparação entre duas imagens binárias com diferença de pixel a pixel de 
0,35%. 
 
 
Figura 13. Comparação entre duas imagens em escala de cinza com diferença de pixel a 
pixel de 1,09%. 
 
 
 
 
Figura 14. Comparação entre duas imagens em escala de cinza com diferença de pixel a 
pixel de 11,72%, em virtude de serem dois objetos diferentes. 
 
3.1.7 Criação de áreas específicas dentro da imagem 
Há uma opção responsável por criar uma área dentro da imagem capturada,                       
criando um retângulo. Primeiramente criado para uma melhor visualização e                   
centralização do produto ou objeto que se deseja comparar, e que posteriormente                       
sera utilizado para obtenção da área de maior interesse, conforme mostra a                       
(Figura 15) abaixo. 
Caso haja necessidade em um futuro podemos utilizar esta função para realizar                       
verificações de múltiplos objetos simultaneamente, ganhando ainda mais               
desempenho. Podendo também criar mais threads de processamento sendo cada                   
um desses responsável pelo processamento de um objeto, totalizando um                   
processamento de múltiplos objetos, tornando este sistema ainda mais modular. 
 
 
 
 
Figura 15. Comparação entre duas imagens em escala de cinza com diferença de pixel a 
pixel de 3,27%, com delimitação da grade, criada via software. 
3.1.8 Exclusão de determinadas áreas para comparação 
Como foram criadas áreas dentro da imagem que se deseja processar, podemos                       
facilmente excluir áreas de menor interesse, para um refinamento no                   
processamento digital das imagens, economizando demanda do hardware e                 
obtendo um resultado de porcentagem de comparação mais exata. 
Em um futuro em que utilizariamos a função para separar determinadas áreas,                       
esta função será necessária, para uma melhor exatidão na resposta. 
4. Funcionamento 
A imagem é captada em cores, convertida para a escala de cinza com uma                           
qualidade de 8Bits, cria­se seu histograma, calcula­se seu limiar e aplica                     
binarização se desejar com limiar que foi criado automaticamente com o método                       
dos triângulos ou pode escolher em uma escala de 0 a 255. Coloca­se um objeto                             
no local de captura e ao cliar no botão “Salvar como padrão”, esta imagem fica                             
salva, exatamente na sua posição, e servirá de padrão de qualidade para as                         
demais que serão processadas. No próximo frame da câmera ela já começa a                         
calcular a diferença e cria uma imagem com a diferença do padrão com a nova                             
imagem capturada, mostrando abaixo a porcentagem de semelhança. 
 
 
 
Todas as funcionalidades podem ser vistas nas Figuras anexadas acima. 
Caso queira testar o sistema, é possivel baixar a aplicação pelo link                       
“​http://edhell.com.br/files/down/Trabalho2­PDS.rar​”. Não há a necessidade de           
um arduino ou qualquer parte da automação, podendo utilizar uma webcam                     
convencional que tenha suporte a resolução de 160x120 Pixels. 
5​. Projeto 
Aplicando todo o conhecimento explicado acima, foi projetada uma pequena                   
estrutura, onde pode­se fisicamente capturar as imagens e utilizar o sistema para                       
realizar os testes de funcionamento, e estes foram: 
● Funcionamento básico; 
● Captura; 
● Iluminação; 
● Automação; 
● Sensoriamento; 
● Controle de qualidade; e 
● Possível descarte do objeto. 
 
6. Códigos 
Todos códigos e softwares estão disponíveis no sítio: “​http://edhell.com.br/​.” 
7. Referências 
Para a confecção deste sistema, foram utilizadas fontes de conhecimento de                     
alguns sítios da internet, que são eles: 
● https://msdn.microsoft.com/pt­br/library/ms749020(v=vs.110).aspx​,Utilizado para extrair o conhecimento necessário para a criação da função                     
que transforma uma imagem colorida para uma imagem em escala de                     
cinza com resolução de 8bits. 
● http://www.aforgenet.com/framework/​, Biblioteca utilizada na captura de           
imagens da câmera 
● https://www.arduino.cc/ Conhecimento necessário para comunicação         
serial entre o sistema e o microcontrolador e software para edição e                       
upagem do código.  
● https://www.visualstudio.com/ IDE utilizada na criação de todo o sistema,                 
tanto a parte gráfica quanto os códigos.

Outros materiais