Segmentação para Identificação de Defeitos em Superfícies Metálicas: Uma Comparação de Técnicas de Redes Neurais Artificiais e Sistemas Fuzzy Diego Rafael Moraes Universidade de São Paulo (São Carlos) diego.moraes@usp.br Resumo Among the processes used to identify defects on industrial metal surfaces penetrant liquid method stands out. It involves the use of liquids of low surface tension that enhance visual defects without damaging the parts. Defects classification has to be made in accordance to quality standard PT 70-3, in which, due to its detailed nature, turns difficult visual investigation, the standard inspection procedure conducted nowadays. This paper presents the analysis of different methods for automatic segmentation of defects from digital images. Artificial Neural Networks and Fuzzy Systems techniques were used, combined with Digital Image Processing. The automatic segmentation is a fast process, and the area calculation is performed with accuracy significantly higher than manual measurements based on the extent of the principal axes. 1. Introdução Peças industriais devem ser submetidas a testes para identificar defeitos que podem comprometer seu desempenho. Além dos diversos testes de qualidade, existem normas que estabelecem os padrões de classificação dos defeitos. A área de inspeção de qualidade tem muita importância nas empresas que cumprem normas nacionais e internacionais. Este trabalho baseia-se na norma PT 70-3, referente à inspeção de qualidade com líquido penetrante, processo por meio do qual se identifica e classifica defeitos na superfície de peças industriais, sem limitações de tipo de material, tamanho ou forma da peça, exceto para materiais porosos [1]. Estes processos que exigem muita precisão, tem dimensões milimétricas e atualmente são realizados manualmente (Fig. 1), tornando tais processos vulneráveis a erros do operador na análise. Figura 1. Amostra de imagem do processo manual Prof. Dr. Jean-Jacques De Groote UniSEB (Ribeirão Preto) jean.groote@gmail.com A peça utilizada como teste no desenvolvimento deste trabalho é o casquilho de bronze, também conhecido como bucha de bronze, que deve seguir as especificações da norma. Os casquilhos são, em geral, corpos cilíndricos que envolvem os eixos, permitindo-lhes uma melhor rotação. São feitos de materiais macios como o bronze e ligas de metais leves [2]. O uso de casquilhos e de lubrificantes permite a redução do atrito. Por isso, dá-se muita importância ao processo de inspeção de qualidade de sua fabricação, onde qualquer imperfeição pode aumentar o esforço, o que causa maior atrito e ocasiona um maior desgaste do eixo. Para classificar os defeitos de uma imagem digital de acordo com a norma, é necessário inicialmente realizar um processo de segmentação. Uma investigação mostrou que, embora sejam aplicadas a diferentes objetos, problemas de segmentação em estruturas de formas semelhantes são encontrados em áreas como medicina [3], agricultura [4] e indústria [5]. Visando a identificação automática dos defeitos, foi realizada uma pesquisa à procura de ferramentas computacionais para segmentação de imagens. Entre as diversas soluções encontradas, optou-se por Redes Neurais Artificiais [6] e Sistemas Fuzzy [7] em conjunto com Processamento Digital de Imagens [8]. Redes Neurais Artificiais (RNA): são modelos computacionais inspirados no cérebro humano, que possuem a capacidade de aquisição e manutenção de informações [6]. Entre as RNA s pesquisadas para solução de problemas de reconhecimento de padrões, neste trabalho utilizou-se duas redes, são elas: - Rede Perceptron (simples). - Rede LVQ1 (Learning Vector Quantization). A escolha foi baseada na simplicidade de compreensão das redes, no baixo esforço computacional dos algoritmos, e no alto poder das redes com excelentes resultados para reconhecimento de padrões. Sistemas Fuzzy: são aqueles sistemas que tomam decisões baseando-se em análises de informações qualitativas. As decisões agora não são apenas da lógica clássica (verdadeiro ou falso; 0 ou 1; sim ou não), mas também são decisões abstratas ( próximo de, muito alto, baixo, etc.). Suas principais características são: expressa imprecisão e incerteza; baseado em regras linguísticas;
dependem pouco da modelagem matemática. Suas principais aplicações estão nos problemas de: classificação de padrões; aproximação de funções; estimação e controle. A escolha foi baseada na simplicidade (recurso) e no baixo esforço computacional dos algoritmos (desempenho), com excelentes resultados para reconhecimento de padrões. A proposta deste trabalho compara técnicas de RNA s e Sistemas Fuzzy, buscando aumentar a precisão na fase de segmentação de defeitos em superfícies metálicas industriais proposta por Moraes e De Groote (submetido) 1, que utilizaram como técnica de segmentação apenas RNA s. Aumentando a precisão da segmentação espera-se melhorar a classificação dos defeitos proposta por Moraes e De Groote [9], oferecendo para os inspetores de qualidade uma ferramenta automática e precisa para auxiliar a identificação e classificação de defeitos na superfície de peças metálicas industriais com base na norma de qualidade PT 70-3. 2. Metodologia A pesquisa foi dividida em duas fases: a primeira foi a implementação de técnicas de RNA e Sistemas Fuzzy para teste e análise de diferentes algoritmos de segmentação, utilizados como entrada para a segunda fase, proposta por Moraes e De Groote [9], responsável pela classificação dos defeitos em superfícies metálicas industriais. Como solução do problema por meio de RNA, identificou-se duas possíveis redes para solução de problemas de reconhecimento de padrões. A primeira sendo a Rede Perceptron (simples), e a segunda, LVQ1 (Learning Vector Quantization). las é necessário analisar cinco critérios de dimensão milimétrica: limiaridade, arredondamento, linearidade, alinhamento e área total de defeitos na superfície [1]. Tabela 1. Critérios das classes da norma PT 70-3 Classe 1 Limiar a = 0,5 Arredondada a < 2 Linear nenhuma Alinhada nenhuma Total de indicações (mm 2 ) 6 a 7 2 a = 1 a < 3 nenhuma nenhuma 16 3 a = 1,5 a < 4 nenhuma nenhuma 40 4 1,5 < a < 2 a < 6 nenhuma L < 10 100 5 1,5 < a < 2 a < 8 a < 7 L < 16 250 2.2. Rede Perceptron (simples) Arquitetura: - A rede foi projetada com 3 sinais de entrada, x, sendo cada um, o valor RGB do pixel analisado respectivamente; - Apenas 1 neurônio; - Para o limiar de ativação, θ, foi imposto o valor -1; - Para os pesos sinápticos, w, foram considerados números aleatórios entre 0 e 1; - Para a função de ativação, g(.), foi utilizado a Função Sinal (Degrau Bipolar); - Como saída, y, assumiu-se o defeito como y = 1, e o restante (fundo), como y = -1; - Taxa de aprendizagem, η = 0.01; - O treinamento da rede foi supervisionado, ou seja, para cada entrada tem-se a saída desejada; - O ajuste dos parâmetros livres, pesos e limiar, foi realizado por meio da aplicação da Regra de HEBB, dada por: w atual = w anterior +η (d y) x (1) Topologia: 2.1. Líquido penetrante e norma PT 70-3 A técnica para identificação de defeitos em estruturas metálicas por líquido penetrante é descrita em seis etapas: (1) limpeza da superfície; (2) aplicação do líquido penetrante, (cor avermelhada); (3) remoção do excesso do penetrante; (4) aplicação do revelador (pó ou aerossol, cor branca); (5) avaliação e inspeção visual pelo inspetor de qualidade e classificação de acordo com a norma; (6) limpeza pós ensaio. A norma de qualidade PT 70-3 é dividida em cinco classes, apresentadas na Tabela 1, sendo que para diferi- 1 D.R. Moraes, and J.J.G.S. De Groote, Segmentação de defeitos em superfícies metálicas por meio de Redes Neurais Artificiais, XIX Congresso Brasileiro de Automática, Campina Grande: DEE/UFCG, 2012 (submetido). Figura 2. Topologia da Rede Perceptron ( [6] p. 34 ) Algoritmo de Treinamento: Para as entradas foram utilizados conjuntos de amostras de três tamanhos diferentes para cada imagem. O primeiro conjunto com 20 amostras. O segundo com 25 amostras, sendo as 20 anteriores com mais 5 novas. E por fim, o terceiro com 30 amostras, sendo as 25 anteriores com mais 5 novas. O objetivo foi identificar a quantidade melhor de amostras para uma melhor segmentação da imagem.
Algoritmo de Operação: Para as entradas foram utilizados como amostras todos os pixels da imagem a ser analisada, de forma individual, de todas as imagens disponíveis (A; B; C). 2.3. Rede LVQ1 (Learning Vector Quantization) Arquitetura: - A rede foi projetada com 3 sinais de entrada, x, sendo cada um, o valor RGB do pixel analisado; - 2 neurônios de saída (y 1, y 2 ), um para cada padrão; - Para os pesos sinápticos, w, foram consideradas duas amostras de treinamento, sendo cada uma de uma classe, defeito e fundo, respectivamente; - Para a função de ativação, foi utilizado a norma euclidiana, que ativará o vetor quantizador representando qual subespaço (conjunto) o referido padrão deverá ser associado; - Como saída, assumiu-se defeito como y 1 = 1, e o restante (fundo), como y 2 = 2; - Taxa de aprendizagem, η = 0.05; - Precisão requerida, ε = 10-5 ; - O treinamento da rede foi supervisionado, ou seja, para cada entrada, tem-se a saída desejada; - O ajuste dos vetores quantizadores foram feitos por meio de processo adaptativo, dado por: Se neurônio campeão (mais próximo) estiver representando a classe desejada, ele se aproxima: w atual = w anterior +η (x w anterior ) (2) Caso contrário, se afasta: w atual = w anterior η (x w anterior ) (3) Topologia: 2.4. Sistemas Fuzzy Diagrama: - Variável de entrada: foi utilizado o valor da proporção dos pixels R/G (red / green); * Variável linguística: frg; * Termos linguísticos: Baixa, Média, Alta; * Funções de Pertinência: Trapezoidal e Triangular; * Universo de discurso: [0 1]. Figura 4. Funções de pertinência para a entrada Baixa (a= 0 ; m= 0.05 ; n= 0.25 ; b= 0.3) Média (a= 0.3 ; m= 0.37 ; b= 0.45) Alta (a= 0.45 ; m= 0.55 ; n= 0.9 ; b= 1) - Variável de saída: 2 tipos de classes; * Variável linguística: CLASSE; * Termos linguísticos: Fundo, Defeito ; * Funções de Pertinência: Trapezoidal e Triangular; * Universo de discurso: [0 1]. Figura 3. Topologia da Rede LVQ1 ( [6] p. 247 ) Algoritmo de Treinamento: O processo de amostragem para o treinamento foi idêntico ao da rede Perceptron citado anteriormente. Algoritmo de Operação: Para as entradas, as amostras foram idênticas ao da rede Perceptron citada anteriormente. Figura 5. Funções de pertinência para a saída Fundo (a= 0.3 ; m= 0.37 ; b= 0.45) Defeito (a= 0.4 ; m= 0.55 ; n= 0.9 ; b= 1)
- Valores R/G foram normalizados; - Os universos de discursos foram discretizados em 200 pontos; - As regras foram definidas como: * Regra 1: Se entrada é Média então saída é Fundo * Regra 2: Se entrada é Alta então saída é Defeito - Para a agregação foi utilizada a T-norma; - Para a inferência foi utilizada a implicação de Mamdani; - A defuzificação foi realizada pelo cálculo do centro de área; - Como estratégia para definição das classes, utilizou-se as faixas: * Classe 1: 0.315 < y <= 0.435 * Classe 2: y > 0.435 - Todos valores foram baseados no histograma de proporção R/G abaixo. 4. Resultados Sistema Fuzzy e ambas redes, Perceptron e LVQ1, de forma geral possuem ótimo desempenho na classificação de padrões, tanto pela simplicidade de compreensão e implementação quanto pelo baixo esforço computacional. Para entender melhor os resultados exige-se uma análise mais especializada, para isto, foram realizados métodos de avaliação de classificadores. As contingências serão adotadas como: - VP (Verdadeiro Positivo): o pixel de entrada é defeito, e o classificador o classifica como defeito. - VN (Verdadeiro Negativo): o pixel de entrada é fundo, e o classificador o classifica como fundo. - FP (Falso Positivo): o pixel de entrada é fundo, e o classificador o classifica como defeito. - FN (Falso Negativo): o pixel de entrada é defeito, e o classificador o classifica como fundo. Como métricas serão consideradas: - Precisão: VP VP + FP - Exatidão: VP +VN VP + FN + FP +VN - Erro: FP + FN VP + FN + FP +VN Figura 6. Histograma de proporção R/G normalizado 3. Desenvolvimento A primeira etapa para execução deste trabalho é a aquisição das imagens que serão processadas pelo aplicativo desenvolvido com as ferramentas de segmentação e classificação. A aquisição das imagens foi realizada por meio de uma câmera digital com resolução de 6.2 megapixels e armazenadas no formato JPEG. Para o desenvolvimento do sistema utilizou-se a plataforma MATLAB (Matrix Laboratory), versão 7.0. A escolha foi baseada na sua versatilidade, permitindo um desenvolvimento simples, rápido e eficiente. Entretanto, todos os algoritmos de todas as técnicas, RNA (treinamento e operação) e Fuzzy (fuzificação, inferência e defuzificação), bem como os algoritmos dos métodos de avaliação dos classificadores, foram implementados manualmente, sem uso de ferramentas automáticas como o toolbox do MATLAB. Para utilizar tais métodos de avaliação de classificadores, se faz necessário uma imagem de referência, que represente a imagem ideal a qual se deseja alcançar como resultado. Neste caso, foram criadas imagens sintéticas, baseadas nas imagens originais (A; B; C), sendo elas binárias, com valor 1 (cor branca) para os defeitos e 0 (cor preta) para o fundo. Porém, para melhor visualização, os defeitos foram mantidos nas cores originais. Abaixo serão apresentados resultados de segmentação para as três imagens por Sistema Fuzzy e ambas redes, Perceptron e LVQ1. Após a análise visual das imagens, identificou-se que para 30 amostras, ambas redes apresentaram melhores resultados de segmentação, por este motivo, serão apresentados apenas resultados com 30 amostras de treinamento, ao invés de 20 e 25 amostras. Conforme proposto, para comparar as técnicas por meio de métodos de avaliação de classificadores, a seguir são apresentadas imagens (Fig. 7-9) e tabelas (Tabelas 2-4) comparativas.
a) a) b) b) c) d) Figura 7. Para imagem A: (a) ideal; (b) segmentada por Fuzzy; (c) segmentada pela Rede Perceptron; (d) segmentada pela Rede LVQ1. Falso positivo (verde) e falso negativo (azul) c) Tabela 2. Valores de contingências e métricas encontrados para Figura 7 Fuzzy Perceptron LVQ Contingências6(qtde6de6pixel) Defeito 2177 1867 2065 Fundo 33165 33165 33131 Falso Positivo 4 4 38 Falso Negativo 174 484 286 Métricas (%) Precisão 99,82 99,79 98,19 Exatidão 99,50 98,63 99,09 Erro 0,50 1,37 0,91 d) Figura 8. Para imagem B: (a) ideal; (b) segmentada por Fuzzy; (c) segmentada pela Rede Perceptron; (d) segmentada pela Rede LVQ1. Falso positivo (verde) e falso negativo (azul) Tabela 3. Valores encontrados para Figura 8 Fuzzy Perceptron LVQ Contingências6(qtde6de6pixel) Defeito 2325 2145 2142 Fundo 32760 32829 32829 Falso Positivo 69 0 0 Falso Negativo 0 180 183 Métricas (%) Precisão 97,12 100,00 100,00 Exatidão 99,80 99,49 99,48 Erro 0,20 0,51 0,52
5. Conclusão a) b) Neste trabalho foi desenvolvido um aplicativo baseado em técnicas de RNA s e Sistemas Fuzzy em conjunto com Processamento Digital de Imagens, para auxiliar na identificação de defeitos em superfícies metálicas de acordo com a norma de qualidade PT 70-3. Considerando todas imagens apresentadas por meio de análise visual (Fig. 7-9), e também por meio de avaliação de classificadores (Tabelas 2-4), o Sistema Fuzzy mostrou-se mais preciso e eficiente do que ambas redes, Perceptron e LVQ1. Na comparação apenas entre as redes, identificou-se um equilíbrio. A Rede Perceptron, deixa bem menos ruídos, entretanto, em alguns casos, perde as bordas do defeito, ou seja, diminui a área do defeito. Ao contrário da Rede LVQ1, que deixa um pouco mais de ruídos, mas não perde área dos defeitos. Uma sugestão para este problema, seria por exemplo, o uso de uma técnica de filtragem de ruídos, facilmente encontrada na literatura na área de Processamento Digital de Imagens. Com o auxílio deste aplicativo, além de automatizar o processo, reduzindo tempo e custo, pode-se melhorar a qualidade da imagem e aumentar a precisão nas classificações, quando comparado ao processo de análise convencional que é realizado manualmente e a olho nu. 8. Referências c) d) Figura 9. Para imagem C: (a) ideal; (b) segmentada por Fuzzy; (c) segmentada pela Rede Perceptron; (d) segmentada pela Rede LVQ1. Falso positivo (verde) e falso negativo (azul) Tabela 4. Valores encontrados para Figura 9 Fuzzy Perceptron LVQ Contingências6(qtde6de6pixel) Defeito 3077 2873 2831 Fundo 63060 61870 59726 Falso Positivo 743 1933 4077 Falso Negativo 0 204 246 Métricas (%) Precisão 80,55 59,78 40,98 Exatidão 98,89 96,80 93,54 Erro 1,11 3,20 6,46 [1] R. Andreucci, Ensaio por Líquidos Penetrantes, ANDREUCCI Assessoria e Serviços Técnicos Ltda, 2010. Disponível em: http://www.abende.org.br/down2/apostilalp.pdf. Acessado em: 09/02/2012. [2] C. Bigaton, Projetos Mecânicos, 2007. Disponível em: http://www.etepiracicaba.org.br/cursos/apostilas/mecanica/3_cic lo/projetos_mecanicos.pdf. Acessado em: 09/02/2012. [3] F.A.A. Caldas, et al., Controle de qualidade e artefatos em mamografia, Radiol Brás, 2005, vol. 38, n.4, pp. 295-300. [4] O. Khatchatourian, and F.R.R. Padilha, Reconhecimento de variedades de soja por meio do processamento de imagens digitais usando redes neurais artificiais, Eng. Agríc., 2008, vol. 28, n. 4, pp. 759-769. [5] J.M. Gomes, et al., Desenvolvimento e avaliação de um protótipo classificador de tábuas usando técnicas de visão artificial, Revista Árvore, 2008, vol.32, n.5, pp. 949-959. [6] I.N. Silva, D.H. Spatti, and R.A. Flauzinho, Redes Neurais Artificiais para Engenharia e Ciências Aplicadas, Artliber, 2010. [7] W. Pedrycz, and F. Gomide, Fuzzy Systems Engineering, Wiley, 2007. [8] R.C. Gonzalez, and R.E. Woods, Digital Image Processing, NJ: Pearson Education, 2008. [9] D.R. Moraes, and J.J.G.S. de Groote, Identificação e classificação de defeitos em superfícies metálicas industriais por meio de técnicas de processamento digital de imagens, VI Workshop de Visão Computacional, Presidente Prudente: FCT/UNESP, 2010, p. 159-162.