Detecção Automática de Componentes de
Transcrição
Detecção Automática de Componentes de
UNIVERSIDADE FEDERAL DO AMAZONAS FACULDADE DE TECNOLOGIA MESTRADO EM ENGENHARIA ELÉTRICA DETECÇÃO AUTOMÁTICA DE COMPONENTES DE MONTAGEM EM SUPERFÍCIE SOBRE PLACAS DE CIRCUITO IMPRESSO WILSON GONÇALVES DE ARAÚJO MANAUS 2008 UNIVERSIDADE FEDERAL DO AMAZONAS - UFAM FACULDADE DE TECNOLOGIA MESTRADO EM ENGENHARIA ELÉTRICA WILSON GONÇALVES DE ARAÚJO DETECÇÃO AUTOMÁTICA DE COMPONENTES DE MONTAGEM EM SUPERFÍCIE EM PLACAS DE CIRCUITO IMPRESSO Dissertação apresentada ao programa de Pós-graduação em Engenharia Elétrica da Faculdade de Tecnologia da Universidade Federal do Amazonas - UFAM, como requisito parcial para obtenção do Título de Mestre em Engenharia Elétrica. Orientador: Prof. Dr. José Luiz de Souza Pio MANAUS 2008 Ficha Catalográfica (Catalogação na fonte realizada pela Biblioteca Central – UFAM) Araújo, Wilson Gonçalves de Detecção automática de componentes de montagem em A663 superfície em placas de circuito impresso / Wilson Gonçalves de d Araújo . - Manaus: UFAM, 2007. 107 f.; il. color. Dissertação (Mestrado em Engenharia Elétrica ) –– Universidade Federal do Amazonas, 2007. Orientador: Prof. Dr. José Luiz de Souza Pio 1. Processamento de imagem 2. Placas de circuito impressos 3. Teoria de Bayes I. Pio, José Luiz de Souza II. Universidade Federal do Amazonas III. Título CDU 004.932(043.3) Aos meus filhos e meu orientador pelo incentivo para a realização desta dissertação. AGRADECIMENTOS A Deus em primeiro lugar, para quem nada é impossível ou demasiadamente difícil, lembrando-me dessa verdade, agradeço freqüentemente; Aos meus pais, minha filha Danielle e meu filho Weskley, que me deram muita força nos momentos de turbulência que eu enfrentei, mas que nada afetaram na atenção com os meus estudos; Aos meus sinceros amigos, que constantemente incentivavam a cada passo da jornada acadêmica; Aos mestres da UFAM que auxiliaram na discussão da temática e que contribuíram no delinear do caminho; Ao Centro de Tecnologia Eletrônica e da Informação – CETELI – UFAM e a SUFRAMA, através dos convênios n. 068 e 069 de 2001, que me proporcionaram todos os recursos necessários para o êxito deste projeto; Ao meu orientador, Prof. Dr. José Luiz de Souza Pio, que, dentre tantas tarefas acadêmicas, aceitou mais este desafio, cumprindo-o plenamente; Ao coordenador do curso de Mestrado em Engenharia Elétrica, Prof. Dr. João Edgard pela oportunidade e paciência e acima de tudo por ser uma pessoa extremamente humana. A auto-satisfação é inimiga do estudo. Se quisermos realmente aprender alguma coisa, devemos começar por libertar-nos disso. Em relação a nós próprios devemos ser 'insaciáveis na aprendizagem' e em relação aos outros, 'insaciáveis no ensino'. Mao Tse-Tung RESUMO Um dos maiores desafios para a indústria de placas mãe de computadores pessoais no planejamento do setor produtivo é encontrar mecanismos eficientes que reduzam o número de placas de circuito impressos defeituosas. Nesta dissertação se desenvolve uma abordagem para tratar do problema da identificação automática da ausência de componentes de montagem em superfície de placas de circuito impresso por meio da Visão de Máquina. Neste trabalho constróise uma abordagem que utiliza técnicas de Processamento de Imagens e Reconhecimento Estatístico de Padrões para a detecção da ausência/presença de componentes de montagem em superfície (SMC) em placas de circuito impresso. Os componentes de montagem em superfície são pequenos e encontram-se densamente agrupados em posições específicas das placas de circuito impresso, tornando-se alvo freqüente de defeitos oriundos do processo de Inserção Automática. A abordagem desenvolvida neste trabalho é baseada em probabilidades que modelam a incerteza associada à presença do ruído oriundo do processo de aquisição da imagem e da iluminação da placa. A metodologia é dividida em três etapas: pré-processamento, casamento de padrões e decisão da ausência do componente por meio de um modelo probabilístico baseado na teoria de Bayes. A aplicabilidade do método é testada para a inspeção visual automática em motherboards, onde a demanda destes componentes é alta. Os resultados obtidos demonstram a robustez do método em imagens com elevados níveis de ruído Gaussiano e salt and pepper e com variações da intensidade da iluminação do ambiente. Pretende-se através desta dissertação avaliar os resultados obtidos na aplicação desta metodologia em Sistemas de Inspeção Visual Automática. Palavras chaves: Processamento de Imagens, Visão de Máquinas, Teoria de Bayes, Ruído gaussiano e salt and pepper. ABSTRACT One of biggest challenges for industry of motherboards in planning of productive sector it is to find efficient mechanisms that reduce the number of printed circuit boards defectives. In this dissertation if it develops a boarding to deal the problem of automatic identification of absence of components in printed circuit boards by means of Machine Vision. In this work we discuss techniques that enhances of Images Processing and statistical recognition of standards for detention of presence/lack of assembling parts for surface mount component (SMC) in printed circuit boards. These small components are found grouped in specific circuit mounts, becoming frequent target for automated insertion process defects. The theme developed is based in probability associated with the presence or lack coming from the noise accumulated in the image. The methodology is divided in three stages: daily pay-processing, template matching and decision of absence of SMC by means of a based probabilistic model in the theory of Bayes. The applicability of method is tested for automatic visual inspection in motherboards, where the demand of these components is high. The results obtained demonstrate the robustness of method in images with high levels of gaussian noise and salt and pepper and with variations of intensity of illumination of environment. It is intended through this dissertation to evaluate the results obtained in application this methodology in systems of automatic visual inspection. Key words: Image Processing, Machine Vision, Theory of Bayes, Gaussian noise and salt and pepper. LISTA DE QUADROS Quadro 1 – Reconhecimento de componentes variando o valor de β, assumindo que P(x| W1) = 0,98 e P(x| W2) = 0,70 ........................................................................................................... 66 Quadro 2 - Reconhecimento de componentes variando o valor de β, assumindo as hipóteses que P(x| W1) = 0,80 e P(x| W2) = 0,60 ..................................................................................... 67 Quadro 3 – Comportamento do sistema com um ruido gaussiano assumindo que P(x| W1) = 0,98 e P(x| W2) = 0,90 e β=0,4 ................................................................................................. 89 Quadro 4 – Comportamento do sistema com um ruido salt and pepper aplicado assumindo que P(x| W1) = 0,98 e P(x| W2) = 0,90 e β=0,4 ..................................................................... 89 Quadro 5 - – Comportamento do algoritmo com um ruido gaussiano e salt and pepper aplicado simultaneamente na imagem de teste e assumindo que P(x| W1) = 0,98 e P(x| W2) = 0,90 e β=0,4 ............................................................................................................................. 90 Quadro 6 – O quadro mostra os resultados do teste com 48 componentes ............................. 93 Quadro 7 – O Quadro mostra os resultados do teste com 17 componentes ............................ 97 Quadro 8 - O Quadro mostra os resultados do teste com 20 componentes ........................... 102 Quadro 9 – O Quadro mostra os resultados dos testes para três níveis de iluminação ......... 102 LISTA DE FIGURAS Figura 1- Linha de produção com inspeção automatizada por meio de um sistema de visão de máquina (PIO 2007) ................................................................................................................. 16 Figura 2 - Falhas na produção de placas motherboards. (a) Curto em solda. (b) Componente mal encaixado, em posição alta. (c) Ausência de componentes SMD. (d) Falta de componente. (e) Falta de componente. (f) Ausência de componente SMD................................................... 21 Figura 3 - Inspeção visual convencional de placas motherboards ........................................... 22 Figura 4 - Taxonomia dos métodos de inspeção visual ............................................................ 27 Figura 5 - A técnica de subtração de imagens. Uma operação lógica XOR (ou exclusivo é aplicada sobre duas imagens binárias. A imagem diferença (à direita) mostra os componentes ausentes entre as duas imagens (MOGANTI et al, 1996) ........................................................ 28 Figura 6 - Morfologia Matemática aplicada na identificação de falhas em placas de circuito impresso. (a) Imagem binarizada. (b) Imagem com aplicação do operador da erosão. (c) Imagem com aplicação do operador de dilatação (BORBA e FACON, 1996) ........................ 31 Figura 7 - Etapas esquematizadas dos componentes funcionais da metodologia..................... 45 Figura 8 - Imagem de uma placa mãe usada como placa de referência (Template). Nesta imagem, todos os componentes estão presentes ....................................................................... 47 Figura 9 - Exemplo de imagem de uma placa mãe usada como placa teste ............................. 47 Figura 10 - Registro entre a imagem do template e imagem da placa de teste. Nota-se o total desalinhamento entre as imagens ............................................................................................. 48 Figura 11 - Seleção dos pontos de controle para o alinhamento das imagens. (a) Imagem da placa teste. (b) Imagem do template. (c) Seleção dos pontos de controle na placa teste. (d) Seleção dos pontos de controle no template ............................................................................. 49 Figura 12 - Imagem do template e da placa teste completamente alinhadas após as operações descritas anteriormente ............................................................................................................. 50 Figura 13 - Imagem de referência (template) após a operação de binarização ........................ 51 Figura 14 - Imagem da placa teste após a operação de binarização ......................................... 52 Figura 15 - Máscara binária de um componente ausente na posição horizontal. A área branca são as almofadas onde o componente é colado e depois tem seus terminais soldado .............. 53 Figura 16 - Máscara binária de um componente ausente na posição vertical. A área branca são as almofadas onde o componente é colado e depois tem seus terminais soldado .................... 53 Figura 17 - Almofadas de solda da máscara binária. Nesta imagem, por exemplo, o valor de NZ é de 330 pixels .................................................................................................................... 54 Figura 18 - Operação lógica and entre um componente do template (à esquerda) e a máscara binária (à direita) ...................................................................................................................... 55 Figura 19 - Operação lógica and entre o componente da placa teste (à esquerda) e a máscara binária (à direita) ...................................................................................................................... 56 Figura 20 – Seqüência de passos executados pelo algoritmo ................................................... 58 Figura 21 – Câmara para aquisição das imagens. ..................................................................... 59 Figura 22 – Probabilidades de cada componente da placa de teste para β = 0,1 ..................... 61 Figura 23 - Probabilidades de cada componente da placa de teste para β = 0,35 ................... 62 Figura 24 - Probabilidades de cada componente da placa de teste para β = 0,4 ..................... 62 Figura 25 - Probabilidades de cada componente da placa de teste para β = 0,5 ..................... 63 Figura 26 - Probabilidades de cada componente da placa de teste para β = 0,1 ..................... 64 Figura 27 - Probabilidades de cada componente da placa de teste para β = 0,35 ................... 64 Figura 28 - Probabilidades de cada componente da placa de teste para β = 0,40 ................... 65 Figura 29 - Probabilidades de cada componente da placa de teste para β = 0,50 ................... 66 Figura 30 - Imagem da placa de teste sem o acréscimo de ruído gaussiano ............................ 68 Figura 31 - Imagem da placa de teste com o acréscimo de ruído gaussiano com variância de 0,01 ........................................................................................................................................... 69 Figura 32 – Probabilidades de cada componente da placa de teste submetidos ao ruído gaussiano com variância de 0,01 .............................................................................................. 70 Figura 33 - Imagem da placa de teste com o acréscimo de ruído gaussiano com variância de 0,02 ........................................................................................................................................... 71 Figura 34 - Probabilidades de cada componente da placa de teste submetidos ao ruído gaussiano com variância de 0,02 .............................................................................................. 71 Figura 35 - Imagem da placa de teste com o acréscimo de ruído gaussiano com variância de 0,04 ........................................................................................................................................... 72 Figura 36 - Probabilidades de cada componente da placa de teste submetidos ao ruído gaussiano com variância de 0,04 .............................................................................................. 72 Figura 37 - Imagem da placa de teste com o acréscimo de ruído gaussiano com variância de 0,05 ........................................................................................................................................... 73 Figura 38 - Probabilidades de cada componente da placa de teste submetidos ao ruído gaussiano com variância de 0,05 .............................................................................................. 74 Figura 39 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,01. .................................................................................................................... 75 Figura 40 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,01 ................................................................................................. 76 Figura 41 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,04. .................................................................................................................... 76 Figura 42 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,04 ................................................................................................. 77 Figura 43 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,1 ....................................................................................................................... 77 Figura 44 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,1 ................................................................................................... 78 Figura 45 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,16 ..................................................................................................................... 78 Figura 46 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,16 ................................................................................................. 79 Figura 47 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,26 ..................................................................................................................... 79 Figura 48 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,26 ................................................................................................. 80 Figura 49 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,28. .................................................................................................................... 80 Figura 50 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,28 ................................................................................................. 81 Figura 51 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,30 ..................................................................................................................... 81 Figura 52 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,30 ................................................................................................. 82 Figura 53 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,35 ..................................................................................................................... 82 Figura 54 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,35 ................................................................................................. 83 Figura 55 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,40 ................................................................................................. 83 Figura 56 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,5 ................................................................................................... 84 Figura 57 – Placa teste contaminada com ruídos gaussiano e salt and pepper simultaneamente .................................................................................................................................................. 84 Figura 58 - Probabilidades de cada componente da placa de teste submetidos aos ruídos gaussiano e salt and pepper com variância de 0,01 e 0,1 respectivamente .............................. 85 Figura 59 - Placa teste contaminada com ruídos gaussiano e salt and pepper simultaneamente .................................................................................................................................................. 85 Figura 60 - - Probabilidades de cada componente da placa de teste submetidos aos ruídos gaussiano e salt and pepper com variância de 0,02 e 0,2 respectivamente .............................. 86 Figura 61 - Placa teste contaminada com ruídos gaussiano e salt and pepper simultaneamente .................................................................................................................................................. 86 Figura 62 - Probabilidades de cada componente da placa de teste submetidos aos ruídos gaussiano e salt and pepper com variância de 0,03 e 0,3 respectivamente .............................. 87 Figura 63 - Placa teste contaminada com ruídos gaussiano e salt and pepper simultaneamente .................................................................................................................................................. 87 Figura 64 - Probabilidades de cada componente da placa de teste submetidos aos ruídos gaussiano e salt and pepper com variância de 0,04 e 0,4 respectivamente .............................. 88 Figura 65 - Imagem da placa teste onde se percebe a ausência de sete componentes. A marca indica as almofadas onde os componentes estão ausentes ....................................................... 91 Figura 66 - Imagem da placa template onde se percebe a presença dos sete componentes. A marca indica onde estão os sete componentes .......................................................................... 91 Figura 67 - Imagem da placa teste onde se percebe a ausência de seis componentes ............. 94 Figura 68 - Imagem da placa template onde se percebe a presença dos seis componentes ..... 94 Figura 69 - Imagem da placa teste onde se percebe a presença de componentes. Não existe componente ausente em relação ao template ............................................................................ 95 Figura 70 – Imagem da placa template onde se percebe a presença dos componentes ............ 95 Figura 71 – Imagem da placa teste onde se percebe a ausência de um componente................ 96 Figura 72 – Imagem da placa template onde se percebe a presença de todos os componentes 96 Figura 73 - Imagem da placa teste onde se percebe a ausência de dois componentes em relação ao template ................................................................................................................... 98 Figura 74 - Imagem da placa template onde se percebe a presença de todos os componentes em relação a placa teste ............................................................................................................ 98 Figura 75 - Imagem da placa teste onde se percebe a ausência de um componente em relação ao template................................................................................................................................ 99 Figura 76 - Imagem da placa template onde se percebe a presença de todos os componentes em relação a placa teste ............................................................................................................ 99 Figura 77 - Imagem da placa teste onde se percebe a ausência de dois componentes em relação ao template ................................................................................................................. 100 Figura 78 - Imagem da placa template onde se percebe a presença de todos os componentes em relação a placa teste .......................................................................................................... 100 Figura 79 - Imagem da placa teste onde se percebe a presença de todos os componentes testados em relação ao template ............................................................................................. 101 Figura 80 - Imagem da placa template onde se percebe a presença de todos os componentes em relação a placa teste .......................................................................................................... 101 SUMÁRIO A663d ...................................................................................................................................................................... 4 CDU 004.932(043.3) ................................................................................................... 4 INTRODUÇÃO .......................................................................................................... 15 1 INSPEÇÃO AUTOMÁTICA DE PLACAS DE CIRCUITO IMPRESSO ............. 24 1.1 Visão Geral sobre a Inspeção Visual Automática ................................................................................... 24 1.2 Técnicas de Inspeção de Placas de Circuito Impresso ............................................................................ 26 1.2.1 Métodos Referenciais ......................................................................................................................... 27 1.2.2 Comparação de Imagens .................................................................................................................... 28 1.3 Métodos não-Referenciais ......................................................................................................................... 30 1.3.1 Processamento Morfológico ............................................................................................................... 30 1.4 Teoria da Decisão Estatística .................................................................................................................... 32 1.4.1 Classificação....................................................................................................................................... 33 2 TRABALHOS RELACIONADOS ....................................................................... 37 2.1 Visão Geral sobre a Inspeção Visual Automática ................................................................................... 37 3 METODOLOGIA ................................................................................................ 45 3.1 Pré-processamento ..................................................................................................................................... 46 3.2 Alinhamento das imagens .......................................................................................................................... 48 3.3 Binarização das imagens ........................................................................................................................... 51 3.4 Casamento de Padrões ............................................................................................................................... 52 3.4.1 Máscara Binária .................................................................................................................................. 52 3.5 Processo de Decisão usando o teorema de Bayes ..................................................................................... 56 4 EXPERIMENTAÇÃO ......................................................................................... 59 4.1 Identificação do limiar de probabilidade ................................................................................................. 60 4.2 Discussões ................................................................................................................................................... 66 4.3 Robustez do método ................................................................................................................................... 68 4.4 Discussões ................................................................................................................................................... 88 4.5 Variação da Iluminação ............................................................................................................................ 90 4.6 Discussões ................................................................................................................................................. 102 5 CONCLUSÕES E RESULTADOS FUTUROS .................................................. 103 5.1 Resultados futuros ................................................................................................................................... 104 5.2 Considerações finais................................................................................................................................. 105 REFERÊNCIAS BIBLIOGRÁFICAS ...................................................................... 106 INTRODUÇÃO O problema abordado nesta dissertação consiste na detecção visual automática da presença (ou ausência) de pequenos componentes eletrônicos em placas de circuitos impressos. Este problema está relacionado com a área conhecida como Visão de Máquina. A Visão de Máquina caracteriza-se pela sua multidisciplinaridade, podendo ser definida como a integração tecnológica de sistemas mecânicos, ópticos, eletrônicos e de computação, voltados para a observação e análise de objetos naturais, materiais, artefatos humanos e processos de manufatura, objetivando detectar defeitos, aumentar a qualidade e a eficiência operacional de produtos e processos (DAVIES, 1990). Quando aplicados ao Controle de Qualidade, as técnicas de Visão de Máquina tornamse parte integrante dos modernos Sistemas de Inspeção Automatizada (SIA) (NEWMAN e JAIN, 1995). Os sistemas de inspeção automatizada por meio de Visão de Máquina apresentam grandes vantagens para o Controle de Qualidade. A inspeção visual convencional, feita por um operador humano treinado, é efetiva para 80% a 90% dos casos inspecionados e após meia hora de trabalho tem um decaimento da acuidade visual para um único defeito. Por outro lado, os sistemas de inspeção automatizados que utilizam a Visão de Máquina garantem a inspeção de 100% do volume produzido, não tem interrupção, não diminui a velocidade da linha de produção e mantém o fluxo de produção consistente (PIO, 2007). Os sistemas de inspeção automatizada com Visão de Máquina atuam sobre os processos de manufatura por meio de câmeras especiais que capturam as imagens diretamente da linha de montagem, mesmo em esteiras que trabalham em altas velocidades. Estas imagens são digitalizadas em tempo real. Programas de computador especificamente projetados analisam as imagens em busca de defeitos, irregularidades e efetuam medições precisas sobre 15 os objetos visualizados pela câmera. Baseando-se em sua análise, esses programas são capazes de tomar decisões acerca de cada peça ou produto analisado. Estas decisões permitem a implementação de ações corretivas, que poderão ser manuais ou automatizadas. A Figura 1 ilustra um exemplo típico de linha de produção com inspeção automática por meio de Visão de Máquina. Figura 1- Linha de produção com inspeção automatizada por meio de um sistema de visão de máquina (PIO 2007) A passagem de um produto ou peça pela esteira transportadora de uma linha de produção é detectada por um sensor. O processo de aquisição de imagens é iniciado pela câmera. A imagem capturada pela câmera é enviada para um computador onde um programa específico compara a imagem da peça com um padrão que ele possui armazenado na memória. Caso a imagem coincida com o padrão, significando que a peça está perfeita, 16 nenhuma ação é tomada e o sistema passa a analisar a próxima peça. Caso a imagem não coincida com o padrão, o sistema toma uma ação, que tanto pode ser um aviso sonoro ou visual para o operador, quanto o acionamento de um robô que retira a peça da esteira. Tecnologias de inspeção desse tipo encontram diversas aplicações para assegurar e garantir um rígido Controle de Qualidade em indústrias, principalmente as do setor de eletrônica, (NEWMAN e JAIN,1995). A minituarização dos componentes eletrônicos vem atingindo escalas surpreendentes e possibilitando a fabricação de aparelhos cada vez menores e de baixo custo. A tecnologia de componentes de superfície (do inglês, Surface Mount Technology – SMT) utiliza pequenos componentes denominados de SMCs (do inglês, Surface Mount Component), ou componentes de montagem em superfície, aplicados diretamente sobre a placa de circuito impresso. Os dispositivos eletrônicos construídos por meio dessa tecnologia são chamados de SMDs (do inglês, Surface Mount Device)1. Uma característica importante dos SMDs é que eles dispensam a necessidade de furos na placa de circuito impresso, diminuindo consideravelmente o tempo de fabricação. A montagem dos SMCs se dá diretamente em locais definidos, assentados sobre uma camada de pasta de solda ou cola. Os SMCs são usados intensivamente na produção de placas mãe de computadores pessoais (motherboards). É natural que devido ao complexo processo de montagem, principalmente na passagem nos fornos da Inserção Automática, algumas placas apresentem falta desses componentes, comprometendo assim a qualidade da produção das motherboards. Neste trabalho se desenvolve uma metodologia para a detecção da ausência (ou presença) de componentes SMCs sobre a superfície de motherboards. A abordagem aqui desenvolvida está baseada na identificação dos componentes por meio de técnicas de 1 Informação obtida na internet em http://en.wikipedia.org/wiki/Surface-mount_technology. 17 Processamento Digital de Imagens e na aplicação de um processo de decisão estatística, por meio da aplicação do teorema de Bayes, para a identificação da ausência do componente de dimensões pequenas em imagens com elevado nível de ruído. 1.1 Objetivos Para melhor compreensão, os objetivos da dissertação foram divididos em geral e específicos, de acordo com as descrições das subseções seguintes. 1.1.1 Objetivo Geral O objetivo geral deste trabalho é desenvolver uma metodologia para a identificação da ausência ou presença de componentes do tipo SMCs em placas de circuito impresso para computadores. 1.1.2 Objetivos Específicos Como objetivos específicos, destacam-se: a) Modelar a identificação da ausência do componente por meio de processo probabilístico; b) Identificar os componentes por meio de técnicas usuais de Processamento Digital de Imagens e Visão de Máquina; c) Avaliar a metodologia para garantir a sua aplicação em um Sistema de Inspeção Automática. 1.2 Motivação A indústria eletrônica é uma das responsáveis pela rápida expansão da tecnologia de sistemas de Visão de Máquina, (NEWMAN e JAIN, 1995). A grande quantidade de aplicações neste segmento incentivou muitas empresas a desenvolverem soluções para atender às necessidades de inspeção de placas e outros componentes eletrônicos. 18 Sistemas de Visão de Máquinas possibilitam uma inspeção rápida e precisa de componentes e de placas eletrônicas, aumentando consideravelmente a produtividade em linhas de produção que ainda dependem de inspetores humanos. A principal motivação para o desenvolvimento deste trabalho é a demanda das indústrias de placas mãe de computadores pessoais pela automatização dos processos de inspeção e a conseqüente melhoria na qualidade de seus produtos. Com os sistemas de inspeções automatizados haverá garantia de produtos com alto índice de qualidade, aumentando a eficiência do processo produtivo, reduzindo custos e aumentando a competitividade. Sob ponto de vista teórico, outra grande motivação deve-se a utilização da teoria da decisão estatística em uma aplicação prática, agregando, assim, robustez e qualidade no processo de classificação. 1.3 Justificativa As exigências de qualidade, diminuição dos custos de produção e aumento de produtividade, fizeram os sistemas de inspeção automática saírem de uma condição de tecnologia de ponta e passassem a ser uma das mais importantes ferramentas na busca por metas de qualidade total nas empresas industriais mais competitivas (DAVIES, 1990). Na indústria manufatureira eletroeletrônica, os sistemas de Visão de Máquina são cada vez mais aplicados para inspecionar placas de circuitos impressos quanto à presença, posicionamento, soldagem e correção de seus componentes (KIM et al, 2001), (MASHOHOR et al, 2006). Muito embora as linhas de produção de motherboards sejam dotadas de máquinas de inserção de SMCs de última geração, ainda estão sujeitas a falhas. Essas falhas são, em geral, decorrentes da má aplicação da pasta de solda sobre a superfície da placa, interrupção da energia elétrica, alteração dos parâmetros de configuração do forno, falta e alimentação errada 19 de componentes para a inserção e a falta de manutenção preventiva e corretiva nas máquinas de inserção. A Figura 2 ilustra alguns exemplos de falhas que ocorrem no processo de produção de motherboards. Muitos dos problemas são devidos a curto circuito provocado por falha na soldagem do componente, visto no detalhe da Figura 2 (a), ou a inserção errada de um componente – Figura 2 (b). A maioria das falhas é decorrente da falta de componentes nas placas, como pode ser notado nos detalhes apontados pelas setas nas Figuras 2 (c), 2 (d), 2 (e) e na Figura 2 (f). Em particular destaca-se a falta de SMCs nas Figuras 2 (c) e 2 (f). Como pode ser observada nos detalhes destas duas últimas figuras, a identificação da ausência dos SMDs é muito difícil para o inspetor humano, devido, principalmente, ao pequeno tamanho dos componentes e a alta densidade desses na placa. 20 . Figura 2 - Falhas na produção de placas motherboards. (a) Curto em solda. (b) Componente mal encaixado, em posição alta. (c) Ausência de componentes SMD. (d) Falta de componente. (e) Falta de componente. (f) Ausência de componente SMD No caso particular dos SMDs, os principais defeitos, são (LOH e LU, 1999): 1 – Componentes mal colocados, aproximadamente 10%; 2 – Componentes invertidos, aproximadamente 25%; 3 – Componentes ausentes, aproximadamente 20%; 4 – Componentes com defeitos nos terminais de solda, aproximadamente 55%. 21 Na maioria dos casos, a inspeção é feita por operadores humanos colocados em pontos estratégicos a fim de evitar que defeitos passem para a próxima fase do processo produtivo. No entanto o operador humano não consegue filtrar todos os defeitos que estão nas placas. A Figura 3 mostra o processo convencional de inspeção. A inspetora do Controle de Qualidade retira aleatoriamente uma placa da linha de produção e faz uma análise visual dos componentes da placa. Figura 3 - Inspeção visual convencional de placas motherboards A principal justificativa para o desenvolvimento deste trabalho deve-se a possibilidade da aplicação de uma metodologia de Visão de Máquina eficiente em um sistema de inspeção automatizada para a identificação da presença ou ausência, em áreas da placa de circuito com elevada densidade de pequenos componentes, o que reduz o índice de defeitos e garante a produção de placas com elevado nível de qualidade. 22 1.4 Organização do Texto Esta dissertação inicia com a Introdução e está dividida em cinco capítulos. A Introdução faz comentários ao trabalho aqui desenvolvido, traça seus objetivos, motivações, justificativas e descreve a organização do texto. Capítulo 1 aborda a fundamentação teórica, destacando os principais métodos utilizados para a inspeção visual automática e descrevendo a teoria do processo de decisão estatística Bayesiana. Os trabalhos relacionados são o tópico do Capítulo 2, onde se mostra o estado da arte na detecção de diversos defeitos em placas de circuito impresso e avaliam-se os principais trabalhos relacionados com o tema da pesquisa. No Capítulo 3 será abordada a metodologia utilizada neste trabalho. O Capítulo 4 discutirá os resultados obtidos durante todo o desenvolvimento. Finalizando, o Capítulo 5 apresentará as conclusões obtidas e os resultados futuros através do presente estudo e as considerações finais. 23 CAPÍTULO 1 1 INSPEÇÃO AUTOMÁTICA DE PLACAS DE CIRCUITO IMPRESSO A base teórica para a elaboração da metodologia desenvolvida neste trabalho está descrita neste capítulo. O capítulo tem inicio ao mostrar alguns aspectos gerais inerentes aos sistemas de inspeção automática e abordar os conceitos fundamentais de Processamento Digital de Imagens e termina com a fundamentação da abordagem Bayesiana. 1.1 Visão Geral sobre a Inspeção Visual Automática Como o trabalho a ser efetuado em cada ambiente produtivo tem suas próprias exigências, Sistemas de Inspeção Automatizada são estruturas construídas sob medida para cada situação. Embora os sistemas tenham os mesmos componentes básicos, esses componentes são oferecidos com as mais diversas características, devendo ser especificados segundo as necessidades de cada projeto. Afinal, as aplicações podem variar bastante. Porém, seja qual for à aplicação, os sistemas de inspeção devem satisfazer dois requisitos muito importantes (NEWMAN e JAIN, 1995): Devem ser rápidos - Uma linha de produção não pode utilizar métodos complexos para análise de imagens sob pena de comprometer a eficiência do processo de produção. Uma solução de Visão de Máquina para o Controle da Qualidade industrial deve tipicamente ser tão ou mais rápida quanto um inspetor humano realizando esta mesma tarefa. Devem apresentar alta confiabilidade - Como o objetivo dos métodos de inspeção visual para Controle de Qualidade é o de garantir a qualidade dos produtos produzidos, detectando produtos com falhas de produção, estes métodos devem ser extremamente confiáveis e não devem introduzir mais incertezas no processo 24 produtivo. Métodos de análise de imagens muito instáveis e que produzem resultados muito variáveis não podem ser aplicados. As tarefas a serem automatizadas em um ambiente de Controle da Qualidade geralmente são tarefas extremamente estereotipadas, com variações mínimas, e que facilitam o processo de desenvolvimento. De acordo com Newman e Jain (1995), as principais características deste tipo de aplicação são: Simplicidade e boa definição da tarefa - As tarefas de análise de imagens em Controle de Qualidade são geralmente tarefas simples e sem muitas variações, que estão bem definidas, como por exemplo: encontrar uma rachadura em um bloco de cerâmica (procura por linha com determinadas características); encontrar falhas no tingimento de rolos de linha industrial (procura por variações anômalas de cor); encontrar falhas em tecelagem (procura por variações anômalas de textura); encontrar falhas em matéria prima (variações de coloração forma ou tamanho de objetos). Ambiente de aquisição de dados controlado - Na inspeção visual automática a aquisição de dados é realizada sob condições controladas e bem conhecidas. As condições de aquisição controladas das imagens permitem supor que as imagens vão estar sempre dentro de um conjunto de parâmetros bem definidos e previsíveis, viabilizando operações de processamento de imagens já estabelecidas. Isto facilita o projeto de uma aplicação e favorece a sua robustez. A utilização de Sistemas de Visão de Máquinas encontra inúmeras possibilidades em processos de inspeção de componentes e conjuntos eletro-eletrônicos. Entre as aplicações mais freqüentes encontram-se a verificação da presença de componentes em placas, a medição de distâncias entre componentes, tais como pinos em um conector e a verificação de códigos bidimensionais ou alfanuméricos para impedir a mistura de componentes no produto. 25 Os produtos freqüentemente mais inspecionados no setor eletro-eletrônico incluem-se (NEWMAN e JAIN, 1995): conectores, placas de circuito impresso, telefones celulares, periféricos de informática, inversores, interruptores, motores, baterias, aparelhos de uso doméstico, componentes industriais, entre outros. A seção seguinte aborda as principais técnicas utilizadas para a inspeção visual de placas de circuito impresso. 1.2 Técnicas de Inspeção de Placas de Circuito Impresso Os métodos de inspeção visual automática têm apresentado avanços importantes nos últimos anos, devido, principalmente, a redução dos custos e elevação do poder computacional dos processadores modernos (NEWMAN e JAIN, 1995). Até o momento atual, uma variedade muito grande de algoritmos para inspeção visual tem sido proposta na literatura especializada. A Figura 4, adaptada a partir da taxonomia geral proposta por (MOGANTI et al, 1996), classifica as principais abordagens usadas em três principais categorias: Abordagens referenciais - Fazem a análise ponto a ponto entre duas imagens da placa, uma de referência e outra de teste obtida na linha de produção; Abordagens não-referenciais - Não utilizam padrões de referência e sim um conjunto de regras definidas no projeto da placa; e os Métodos híbridos (que utilizam tanto padrões de referência como o conjunto de regras de projeto). 26 Métodos Referenciais Subtração de Imagens Comparação de Imagens Casamento de Padrões Método de Fase Única Árvores Baseado em Modelos Sintático Grafo de Atributos Métodos não-Referenciais Métodos de Inspeção Visual Automática Casamento de Grafos Processamento Morfológico Hipergrafo de Atributos de Padrões Análise de Bordas Técnicas de Codificação Codificação de Sequência (Run Length) Métodos Híbridos Métodos Genéricos Detecção de Padrões usando Análise de Bordas Algoritmos de Casamento Radial Métodos de Aprendizado Métodos de Comparação da Forma Casamento de Padrões Circulares Figura 4 - Taxonomia dos métodos de inspeção visual 1.2.1 Métodos Referenciais Os métodos referenciais executam operações ponto a ponto (ou característica a característica) entre os dados de uma imagem de referência tida como “boa” e uma imagem teste capturada na linha de produção. Esses métodos identificam erros como trilhas esquecidas, falta de terminação, aberturas e curtos nas placas de circuito impresso. As 27 principais técnicas utilizadas nos métodos referenciais são a comparação de imagens e os métodos baseados em modelos, sumariamente apresentados em seguida. 1.2.2 Comparação de Imagens Subtração de Imagens – A técnica mais simples e mais direta para tratar o problema da inspeção de placas de circuito impresso. A imagem da placa a ser analisada é comparada com uma imagem de referência. O resultado da subtração entre as duas imagens apresenta os defeitos que podem ser subseqüentemente analisados, Figura 5. Figura 5 - A técnica de subtração de imagens. Uma operação lógica XOR (ou exclusivo é aplicada sobre duas imagens binárias. A imagem diferença (à direita) mostra os componentes ausentes entre as duas imagens (MOGANTI et al, 1996) Essa abordagem apresenta como vantagens a trivialidade da implementação e ser desnecessário o emprego de hardware especializado. Outra vantagem é a viabilidade da verificação de todos os defeitos inerentes à geometria da placa. Essa técnica sofre de alguns problemas práticos como a necessidade de registro entre as imagens, a sensibilidade ao ruído e a variação da iluminação e da cor. 28 Casamento de padrões - A identificação e localização de correspondências entre imagens ou entre uma imagem e um padrão, é conhecida na literatura como casamento de imagens (image matching) ou de padrões (template matching). Como as imagens podem ser descritas por meio de representações pictoriais ou simbólicas, diversos são os métodos encontrados na literatura que procuram resolver o problema de casamento de imagens ou de padrões. Estes métodos exploram o conteúdo radiométrico (níveis de cinza) das imagens e/ou as informações simbólicas (feições pontuais, lineares ou de área) e suas inter-relações (SCHALKOFF, 1989). O casamento de padrões é uma melhoria na técnica de subtração de imagens. As características extraídas da placa de teste são comparadas com padrões adotados como modelos. A grande vantagem dessa abordagem é a possibilidade de compactação dos dados para o armazenamento enquanto, ao mesmo tempo, se reduz a sensibilidade dos dados de entrada. A maior limitação do casamento de padrões é a necessidade de se utilizar muitos padrões, tornando o processo computacionalmente muito caro (esse problema pode ser melhorado ou mesmo eliminado se as características a serem casadas são invariantes a escala, rotação e localização). Assim como a subtração de imagens, o casamento de padrões também necessita de registro e apresenta a sensibilidade ao ruído e a variação da iluminação e da cor (SCHALKOFF, 1989). Métodos de Fase Única - é um método alternativo ao método de casamento de padrões. Uma imagem de fase única é uma imagem de amplitude de densidade spectral de potência unitária em que toda a informação está contida na fase. Este método tem a propriedade de remover redundância e realçar as bordas. O método usa a Transformada de Fourier, seguida da normalização da imagem resultante, para se estender totalmente sobre o nível de cinza da imagem. Então aplica-se a Transformada de Fourier Inversa nos pares da imagem para produzir um mapa de diferenças entre 29 imagens. A correlação de qualquer par de pontos da imagem é removida e todos os componentes periódicos da imagem são suprimidos. Duas imagens similares podem ser comparadas pela criação de uma imagem composta, aplicando o método de Fase Única. Se duas imagens são muito parecidas, um forte componente periódico com período igual ao espaçamento da subimagem aparece no espectro da imagem composta. Suprimindo este componente, todos os pontos que corresponde as duas subimagens serão suprimidas e somente a diferença aparece (SCHALKOFF, 1989). 1.3 Métodos não-Referenciais 1.3.1 Processamento Morfológico A morfologia matemática é um conjunto de métodos não lineares em Processamento de Imagens e compreende o estudo das propriedades topológicas e estruturais dos objetos a partir de suas imagens. Inicialmente desenvolvida para análise de imagens binárias, posteriormente estendida para imagens em níveis de cinza e coloridas. A morfologia matemática caracteriza-se como uma ferramenta para extrair componentes da imagem úteis para representação e descrição do formato de objetos numa imagem, viabilizando o Processamento de Imagens com objetivos de realce, de segmentação, de detecção de bordas, de esqueletização, de afinamento, de análise de formas, dentre outros, Figura 6 (BORBA e FACON, 1996). Nos métodos morfológicos, as imagens são analisadas em termos de forma e tamanho utilizando padrões elementares denominados elementos estruturantes. O elemento estruturante vai interagir com cada entidade contida na imagem em estudo, modificando a sua forma, o seu tamanho, permitindo assim tirar algumas conclusões desejadas. 30 O elemento estruturante é um conjunto completamente definido e conhecido (tamanho e forma), que é comparado, a partir de uma transformação, ao conjunto desconhecido da imagem. O resultado dessa transformação permite avaliar o conjunto desconhecido. A eficiência e também a dificuldade da Morfologia Matemática reside na escolha da deformação certa para transformar a intuição intelectual em aplicação prática. A linguagem para Morfologia Matemática é a teoria dos conjuntos, em que os conjuntos representam os formatos dos objetos em uma imagem (BORBA e FACON, 1996). Os filtros utilizados na Morfologia Matemática são definidos a partir de um elemento estruturante. Esse elemento consiste de um subconjunto do plano e pode ser usado para realçar aspectos específicos das formas dos objetos, de modo que estes possam ser contados ou reconhecidos. Figura 6 - Morfologia Matemática aplicada na identificação de falhas em placas de circuito impresso. (a) Imagem binarizada. (b) Imagem com aplicação do operador da erosão. (c) Imagem com aplicação do operador de dilatação (BORBA e FACON, 1996) 31 A formalização da abordagem Bayesiana para a identificação da ausência de componentes está descrita abaixo. Aborda-se com detalhes a técnica utilizada para a identificação da presença ou ausência de componentes neste trabalho. 1.4 Teoria da Decisão Estatística A incerteza é gerada pela ausência de organização numa dada situação, ou seja, é gerada pela aleatoriedade ou, mais especificamente, pela entropia. Sendo assim, uma situação totalmente incerta ou entrópica é imprevisível. Em virtude do grau de entropia de uma situação, a capacidade de previsão dos resultados lhe será inversamente proporcional. Assim, a medição da entropia será determinada pelo grau de incerteza contida em uma dada informação. De forma genérica, pode-se afirmar que uma informação é uma função baseada no número de mensagens necessárias para reduzir completamente a incerteza da situação. Sendo a incerteza resultado da entropia de dado conjunto de informações, ela só será eliminada quando se sabe o real resultado dos fatos. A informação e a incerteza estão relacionadas com o número de dados necessários que deverá ser fornecido ou estar presente para reduzir a incerteza. Desta forma, a informação também é uma função do número de escolhas ou alternativas possíveis, para se predizer o resultado de uma situação, a partir dos dados fornecidos ou disponíveis. A importância da abordagem estatística decorre de que, na maioria das vezes, algumas alternativas ou resultados têm maior probabilidade de ocorrer do que outras, estão fortemente associadas ao seu contexto, ou aspectos gerais do meio na qual o fato ocorre. Nas abordagens em que as alternativas são igualmente prováveis, o grau de incerteza é elevado e a quantidade possível de informações a ser extraída dos dados também é elevada. Quando se aumenta a probabilidade de um dos possíveis resultados ocorrerem em relação aos demais, ocorre o decréscimo da entropia ou incerteza e menor será a informação contida. Ora, sendo a 32 informação uma medida de incerteza, quanto maior a incerteza, maior a informação inerente à situação. A redundância de uma informação é o inverso da entropia relativa. Sendo a entropia relativa à proporção de entropia presente em relação à máxima quantidade possível de entropia, a redundância é a proporção de o quanto uma situação é previsível, em outras palavras, o grau de certeza da informação. Através da redundância se consegue gerar o grau de previsibilidade de uma dada situação. 1.4.1 Classificação A classificação abrange um conjunto de técnicas que podem ser matemáticas ou estatísticas, e visam a reconhecer padrões e objetos homogêneos. As técnicas de classificar informações consistem, basicamente, em separá-las colocando-as em grupos previamente definidos. Ao se agrupar as informações em características similares (classificação), se utiliza o critério baseado na redundância destas informações. Ao se agrupar as informações, se reduz a entropia. Em sistemas altamente entrópicos, cada informação é única, mas ao serem agrupados, por sua redundância inerente ao tipo de informação que se deseja obter, diminui-se a entropia e o número de informações, e consequentemente, reduz a incerteza. Os critérios de classificação das informações irão se basear nos atributos das mesmas. Por isso, em classificadores automáticos, estes atributos precisam ser representados numericamente. No Processamento de Imagem, atributos relacionados à intensidade dos pixels são naturalmente escolhidos para representarem objetos ou regiões das imagens num classificador. O tipo de classificação pode ser dividido em duas categorias: supervisionada, que precisa de dados de treinamento para o classificador; e não-supervisionada, que funciona sem a etapa de treinamento, utilizando outros critérios de semelhança dos objetos, como por exemplo, a distância entre os mesmos objetos. 33 Pode-se então afirmar, que a classificação é uma das formas de reduzir a incerteza, ou seja, de minimizar a imperfeição da informação. Entretanto, o que se convenciona chamar tratamento de incerteza pode, na verdade, estar endereçando outras imperfeições da informação, como imprecisão, conflito, ignorância parcial, etc. Técnicas de classificação de objetos consistem, basicamente, em separá-los colocando-os em grupos previamente definidos. Pode-se dizer que a classificação é um processo de extração de informação em imagens com o objetivo de reconhecer padrões e objetos homogêneos. No Processamento de Imagem, atributos relacionados à intensidade dos pixels são naturalmente escolhidos para representarem objetos ou regiões das imagens num classificador (LILESAND e KIEFER, 1987). Sendo a informação contida num pixel de uma imagem de conotação probabilista, pode-se utilizar a teoria de probabilidades ou a teoria da evidência. A medida de probabilidade tem uma interpretação freqüentista e uma interpretação subjetiva. Na interpretação freqüentista, que é à base da utilização de informações estatísticas, P(A) representa o limite da freqüência da ocorrência do evento A em uma seqüência infinita de experiências independentes. Na interpretação subjetiva, mais freqüentemente usada em sistemas baseados em conhecimento, P(A) representa a crença de um determinado indivíduo na ocorrência de A. Neste caso, supõe-se que o indivíduo que fornece as probabilidades aos eventos em X seja capaz de exprimi-las de forma a que elas obedeçam aos axiomas acima. O teorema de Bayes provê a base para o tratamento da imperfeição da informação em diversos sistemas baseados em conhecimento (RICHARD e DICKEY, 1988). Este teorema computa a probabilidade de um dado evento, dado um conjunto de observações. Os classificadores bayesianos são classificadores estatísticos que podem predizer a probabilidade de um registro pertencer a uma determinada classe. Eles oferecem uma simples, porém poderosa técnica de classificação supervisionada assumindo que todos os atributos de 34 entrada possuam a mesma importância e são independentes entre si. Apesar dessas premissas geralmente serem falsas, o classificador bayesiano mostra-se bem satisfatório. A classificação bayesiana é baseada no teorema de Bayes e o algoritmo de classificação, conhecido como „Naïve Bayes‟, apresenta um bom desempenho em termos de velocidade e acurácia (CUROTTO, 2005). Supõe-se assim a independência de variáveis no cálculo das probabilidades. O teorema de Bayes pode ser traduzido por meio de P(wi | x) = [ p(x | wi) . P(wi)] / p(x), (2.3-1) onde p(x) = ∑ p(x | wi), i (2.3-2) Onde wi é a hipótese a ser testada e x é a evidência associada com a hipótese. Da visão de classificação a hipótese é a variável dependente e representa a classe predita. A evidência é determinada pelos valores dos atributos de entrada. P(wi|x) é a probabilidade condicional associada com x, à evidência verdadeira fornecida. P(x) é a probabilidade a priori, que denota a probabilidade da hipótese antes da apresentação de qualquer evidência. O teorema de Bayes mostra uma maneira de calcular a probabilidade a posteriori a partir das probabilidades a priori, sendo que as probabilidades condicionais e a priori são facilmente computadas a partir dos dados de treinamento (SCHALKOFF, 1989). Seja x uma amostra de dados na qual a classe é desconhecida, e W uma hipótese proposta em x. Na classificação pretende-se determinar P(W|x), ou seja, a probabilidade a posteriori da hipótese W na amostra de dados x. Ela reflete a confiança que W vale após ter-se observado os dados de x. 35 P(W) é a probabilidade a priori de W, antes de observar x e P(x) é a probabilidade de x, desde que W tenha validade. O cálculo dessas probabilidades pode ser estruturado em forma de algoritmo. Esse algoritmo tem como objetivo calcular a probabilidade que um vetor de características desconhecido pertença a cada uma das classes possíveis, ou seja, predizer a classe mais provável. Esta classificação também é chamada simples ou ingênua, pois ela considera que o efeito do valor de um vetor de características sobre uma determinada classe é independente dos valores dos outros vetores de características, o que simplifica os cálculos envolvidos. A Classificação Bayesiana obtém melhores resultados quando os valores dos vetores de características são discretos (SCHALKOFF, 1989). Outra característica deste algoritmo é que ele requer um conjunto de dados prévio que já esteja classificado, ou seja, um conjunto de linhas que já estejam separadas em classes (ou clusters). Baseado neste conjunto de dados prévio, que também é chamado de conjunto de treinamento, o algoritmo recebe como entrada uma nova amostra desconhecida, ou seja, que não possui classificação, e retorna como saída à classe mais provável para esta amostra de acordo com cálculos probabilísticos. Classificação Bayesiana não necessita de uma métrica para comparar a „distância‟ entre as instâncias e nem classifica a amostra desconhecida automaticamente, pois é necessário um conjunto de dados já classificados. 36 CAPÍTULO 2 2 TRABALHOS RELACIONADOS Este capítulo oferece uma visão geral sobre os sistemas de inspeção automática e descreve o estado da arte dos métodos e técnicas para inspeção de placas de circuito impresso. 2.1 Visão Geral sobre a Inspeção Visual Automática Sandra et al. (1988) desenvolveram um sistema automático de inspeção de terminais de solda nos furos em PCB. Duas aproximações são utilizadas, o reconhecimento de teste padrão estatístico e uma aproximação baseada em conhecimento. Um método objetivo de redução de dimensionalidade é usado para realçar o desempenho de aproximações estatísticas tradicionais de reconhecimento de teste padrão, gerando pesos característicos e reduzindo o tempo computacional. O sistema é inteligente e utiliza características bem análogas as que são utilizadas pelos inspetores na inspeção visual para classificação de defeitos. Segundo os autores, estas duas aproximações comparadas com o desempenho de inspetores humanos são bem favoráveis. David e Randy (1990) apresentam um projeto e o desempenho de um sistema experimental para medida de localização automática de componentes montados em superfícies. É usado um sistema de iluminação com infravermelho de alto ângulo para obter imagens com alto contraste das soldas e das almofadas de solda dos componentes após a montagem na placa. A localização e orientação angular são computadas pelas posições relativas dos melhores ajustes de linha através do centróide das imagens das soldas e almofadas pelo lado oposto dos componentes. O sistema desenvolvido por eles é eficiente para componentes grandes, com 84 pinos e 68 pinos, e não é adequado para componentes pequenos. 37 Wesley et al. (1991) descrevem um sistema de inspeção de placas de circuito com alta velocidade e precisão. É usado uma câmera 3D desenvolvido pela GE e é possível inspecionar placas em tempo real. É apresentado a arquitetura do sistema e o algoritmo usado para fazer medidas quantitativas da pré-solda, incluindo orientação e o tamanho da solda, bem como sua localização e forma dos furos. Eles não abordam identificação de ausência ou presença de componentes, apesar de ter todo um aparato de ferramentas de inspeção visual para trabalhar em tempo real. O trabalho de Paul e René (1992) usa uma metodologia para determinar se um sistema de inspeção visual automático é capaz de inspecionar peças dentro das especificações de projeto usando imagens binárias. É utilizada uma técnica baseada na comparação entre erros de zonas de potencialidade no processo com as especificações de projeto da peça. É uma abordagem direcionada mais a peças do que a componente de placas de circuitos impressos. Mostafa e Hwang (1993) propuseram um sistema de inspeção para medir as características elétricas de uma PCB em um ambiente de manufatura industrial. Para os autores, este sistema de inspeção pode atuar on-line, substituindo a pessoa que inspeciona e sendo de fácil adaptação em quaisquer outros sistemas manufaturados. O sistema desenvolvido é baseado no microcontrolador 8031 de 8 bits e é dividido em cinco partes a saber: placa de circuito impresso, aquisição de dados, barramento de interface, mesa de microswitch e ponta de contatos. Dois robôs são usados para auxiliar no processo. O primeiro deles pega a placa já montada na mesa denominada microswitch e coloca na esteira. O segundo é responsável para fazer as medidas das características elétricas da placa na estação de medição. Como o sistema usa robôs para auxiliar na inspeção das placas, o custo para implementar este sistema é relativamente alto. 38 Michael et al (1994) apresenta um estudo de caso, que detalha a aplicação de técnicas baseadas na plataforma do sistema de inspeção visual Orbot TF501 para detectar defeitos em placas com alta densidade de almofadas circulares. Esta técnica é capaz de detectar defeitos elétricos e não elétricos, como curtos, contaminação, etc. Esta técnica é apropriada para ser utilizada em placas sem componentes. Newman e Jain (1995) consideram que a inspeção é o processo de determinação se um produto está de acordo com um conjunto de especificações, ou seja, não ocorrem desvios a partir de um conjunto de regras determinadas sobre o produto. O trabalho mostra que muitos dos sistemas de visão comercial para inspeções automática usam imagem binária e citam várias empresas que desenvolveram sistemas de inspeção automática em diversas áreas. A metodologia de vários sistemas de inspeção automatizada é discutida no trabalho. Os autores destacam ainda que o futuro das pesquisas sobre a inspeção automatizada terá um grande impulso nos próximos anos, isto devido à tendência no aumento de sistemas de inspeção automática utilizando CAD, PC‟s, Múltiplos Processadores, Múltiplos Sensores e também um grande número destes sistemas usa técnicas de visão 3D, Raios – X, Ultra-som e outras modalidades de sensores. O custo de muitos destes sistemas ainda são altos, mas devem diminuir em breve. Os autores referidos comentam que é necessário que as comunidades de Visão de Máquinas e Visão Computacional trabalhem mais unidas na solução de problemas. Vários projetos na área de inspeção automática também são apresentados, mas sem entrar em detalhes, fazem apenas um breve comentário sobre o desenvolvimento destes sistemas. Borba e Facon (1996) desenvolveram um método de inspeção que mesmo sem prévio conhecimento da placa e sem um padrão de referência, detecta a falta ou excesso de cobre. Para a padronização de defeitos eles usaram três regras de inspeção. Segundo os autores, a imagem em escala de cinza não é a melhor solução, por isso usaram o conceito de binarização 39 da imagem. Desde que a escala de cinza da imagem tenha uma boa resolução a imagem binarizada é satisfatória e se houver algum ruído é fácil a sua eliminação com filtros. O sistema de captação da imagem em escala de cinza utilizado é composto por uma caixa com uma fonte interna de luz e uma câmera captando a imagem. Nesta configuração a câmera não cria sombras e não existem reflexos e todas as partes mais importantes da placa podem ser capturadas com uma boa resolução de escala de cinza. Como a abordagem é feita em uma placa nua e sem componentes não se tem nenhuma evidência de como se comportaria este sistema para detectar ausência ou presença de componentes, uma vez, que o sistema de inspeção não utiliza um template para fazer uma comparação com a imagem de teste captada. O trabalho de Du e Dickerson (1998) apresenta um sistema de inspeção automática para componentes passivos, para localizar componentes, medir seu tamanho e suas propriedades, suas bordas e detectar defeitos na superfície em ambos os lados. Os autores utilizam um algoritmo para detectar as bordas e os cantos. Através da segmentação da imagem, extrai e calculam as características do componente, como largura, tamanho, localização, orientação, etc., e com estas informações identifica defeitos, como componentes deslocados, pontos de ruptura na solda, mau contato na superfície. Essa técnica de inspeção não aborda informações quanto à ausência ou presença de componentes, pois na abordagem que é feita, cita a localização do componente como uma das características de identificação de defeitos. Com o avanço da tecnologia de componentes SMD, têm aparecido no mercado componentes com tamanho cada vez mais reduzido, o que torna ainda mais difícil o trabalho de inspeção. A inspeção de SMDs é tratada no trabalho de Loh e Lu (1999). O terminal de solda pode apresentar alguns defeitos peculiares, como terminais de solda em ponte, insuficiência, excesso de solda, solda aberta, soldabilidade pobre e componente deslocado. Como o índice 40 de defeitos apresentado no terminal de solda é alto, a abordagem deles é concentrada nestes defeitos. Quem determina a forma do terminal de solda é a pasta de solda. Os autores utilizam uma técnica chamada mapa de inclinação para extrair informações do terminal de solda e determinar se a mesma está boa ou está com problemas, basea-se no ângulo de inclinação da superfície do terminal de solda. O sistema utiliza um esquema de iluminação estruturado (um sistema de iluminação hemisférico com um array de Leds (Ligh Emit Device) e uma fonte de luz controlada) para realizar a inspeção. A justificativa do uso do mapa de inclinação é porque requer o mínimo ou quase nenhum esforço computacional, além de prover informações da forma do terminal de solda útil e concisa. Ko et al. (2000), propuseram um sistema de inspeção de defeitos nos terminais de solda dos BGA‟s (Ball Grid Array) montados nas placas de circuitos impressos usando uma rede Neural. A rede neural de multicamadas percepton é usada para aprender o mapeamento de características dos inspetores humanos e então classificar a qualidade de terminais de solda no cruzamento seccional na imagem de raios-X dos BGA‟s. De um total de 220 amostras de BGA‟s montadas nas PCB‟s, incluindo várias formas dos terminais de solda, 160 amostras foram selecionadas, randomicamente, para treinar a rede e 60 foram selecionadas para testar a rede. Todas as amostras foram agrupadas por um inspetor experiente em três classificações: Insuficiência de solda (I), Aceitabilidade da soldagem (A) e o Excesso de solda (E). O tamanho das imagens de cada amostra é de 120 x 120 pixels. O sistema de inspeção de placas em Kim et al (2001) apresenta uma técnica baseada no método referencial para detectar defeitos nas placas em movimento na esteira. A abordagem desenvolvida utiliza um algoritmo de Processamento de Imagem que faz correção no deslocamento translacional e rotacional da placa. O algoritmo é implementado em uma arquitetura SIMD (Single Instructions Multiple Data) para reduzir o tempo de processamento. Algumas dúvidas ficam pendentes, já que não se sabe se o método pode ser aplicado para 41 detectar defeitos em componentes montados na placa, uma vez, que o método apresentado só faz referências à detecção de falhas em trilhas de cobre, como trilhas em curto e trilhas em aberto. Zuwairie et al (2002) propôs um algoritmo de inspeção visual automática para localização de defeitos em PCB na qual se utiliza uma imagem de referência e uma imagem de teste. Na imagem resultante é aplicada uma técnica baseada em transformadas Wavelets. Wavelet é uma função de média zero e satisfaz a condição de admissibilidade definida por: Onde Ψ é uma função fixa, chamada mother wavelet e Ψ. A constante é a Transformada de Fourier de é a constante de admissibilidade. O CWT (Contínous Wavelet Transform) de uma função f é definida por: O parâmetro a é chamado de fator de dilatação e a > 0 e b é um número real e é chamado de parâmetro de translação. A transformada de Wavelet decompõe um sinal f(t) em vários coeficientes, que são as funções de escala (dilatação) e posição (translação). Apesar de ser uma técnica interessante, ela é utilizada em PCB sem componentes. Portanto esta abordagem usada por eles deixa dúvidas em relação à identificação de presença ou ausência de componentes na placa. Tsai e Yang (2005) propuseram um método de inspeção visual baseado em uma medida de similaridade utilizando autovalores entre uma imagem de referência (template) e uma imagem da cena. É plotada no plano 2D a distribuição do nível de cinza das duas 42 imagens comparadas, resultando em um mapa, que eles denominam mapa de correspondência 2D, no qual a distribuição do nível de cinza é uma linha reta diagonal se as imagens forem idênticas e terá uma forma não linear se as imagens forem diferentes. Esta abordagem desenvolvida pelos autores identifica vários tipos de defeitos em componentes, mas não é feita uma análise do que aconteceria se o componente estivesse ausente na placa. O Sistema de Inspeção desenvolvido por Cho e Chung (2005), consiste de uma mesa de inspeção para tecidos, equipamento de iluminação e um sistema de Processamento de Imagem. Segundo eles, o custo é muito importante nas aplicações industriais, mas o uso de equipamentos baratos usados para reduzir custos acaba por comprometer o desempenho do sistema, aumentando os erros na inspeção e diminuindo a velocidade por causa de algoritmos complicados. Os autores propuseram um algoritmo de inspeção em tempo real para uso em aplicações industriais nas fábricas de tecidos. Para reduzir custos, usaram no sistema de inspeção um computador, uma placa DSP (Digital Signal Processing) e buffer de memória para processamento paralelo. As características da lente, iluminação e os problemas de varredura de linhas pela câmara foram considerados no projeto no intuito de aumentar a velocidade e a exatidão da inspeção. O processo de inspeção é feito por linhas e armazenado na memória. Um filtro médio foi usado para remover o ruído de alta freqüência. Para compensar a distribuição não uniforme do brilho na imagem, usaram um método de limiar adaptativo. O tamanho e a posição dos defeitos são identificados a partir da imagem, e em seguida é feita o armazenamento dos dados e logo após os resultados são mostrados na tela do monitor. O sistema desenvolvido por Acciani e Brunetti (2006) é baseado em um sistema de inspeção ótico utilizando uma rede neural para detectar defeitos em terminais de solda nas placas de circuito impresso. Neste sistema, cinco tipos de terminais de solda são classificados em relação ao acúmulo de pasta de solda. As imagens das placas de testes são capturadas e 43 processadas para extrair a região de interesse do diagnóstico. Três tipos de vetores de características são avaliados em cada região que são a exploração das propriedades da onda, as características geométricas e o pré-processamento das imagens. O desempenho de três diferentes classificadores que são o perceptron multicamadas, o vetor de quantização linear e um classificador de vizinhança são comparados para ajudar a selecionar a melhor arquitetura para os classificadores neurais. Os resultados têm mostrado que a rede neural MLP (MultiLayer Percepton) é que tem a melhor taxa de reconhecimento. Esta técnica não é usada para determinar se os componentes estão ausentes na placa. Syamsiah et al (2006) desenvolveram um algoritmo genético baseado em um framework que é usado para estimar transformações geométricas de posições arbitrárias de PCB‟s na esteira sem nenhuma informação a priori tal como informações de dados do CAD (Computer Aided Design). O algoritmo genético acessa uma biblioteca de funções de processamento de imagens dentro de um framework inteligente. As funções incluem operações como multi-limiares fixos, detecção de bordas Sobel, subtração de imagens e filtros de ruídos. As simulações com imagens reais realizadas por eles demonstraram que o algoritmo genético é robusto o bastante para detectar alguns componentes faltando e algumas formas e tamanho de terminais de solda. O tempo computacional é reduzido em relação a alguns trabalhos equivalentes. O capítulo a seguir mostra a metodologia desenvolvida nesta dissertação. Parte dessa metodologia tem por base algumas técnicas de Processamento de Imagens como a subtração e o casamento de padrões, descritas nos capítulos anteriores. Outra parte referencia a abordagem Bayesiana para a identificação da ausência do componente da placa sob observação. 44 CAPÍTULO 3 3 METODOLOGIA A metodologia desenvolvida neste trabalho esta subdividida em três etapas principais e esquematizada conforme Figura 7. São elas: 1) Pré-processamento; 2) Casamento de Padrões; 3) Reconhecimento probabilístico da ausência do componente. Figura 7 - Etapas esquematizadas dos componentes funcionais da metodologia O pré-processamento consiste na captura de uma imagem de uma placa por uma câmera fotográfica digital colorida Olympus de 6 Megpixels que será a imagem de referência 45 (template). Essa imagem é transformada em tons de cinza. Em seguida tem seus componentes referenciados e é então binarizada. O processamento de imagens consiste no conjunto de operações como extração de características e registro das imagens. Esses procedimentos são executados a cada passagem das placas pelo campo de visão da câmera, são comparadas e devidamente registradas com a imagem de referência. A última etapa da metodologia trata da identificação da ausência dos componentes. Essa identificação é realizada por meio da construção de uma função de decisão probabilística. Essa função atua sobre as características dos componentes e informa a eventual falta de um componente na placa. Cada etapa da metodologia será discutida em detalhes nas seções seguintes. 3.1 Pré-processamento A imagem colorida capturada pela câmera é enviada para um computador no qual é feita a conversão da imagem para a escala de cinza. A imagem de referência tem um papel fundamental no processo, uma vez que haverá o processamento e a análise feita pelo programa de duas ou mais imagens de placas de uma mesma cena e que resultará em encontrar semelhanças entre componentes que estão presentes nas imagens. Após esta etapa é feita a captura da imagem da placa teste. A imagem da placa teste também é enviada para o computador para ser convertida para a escala de cinza. As Figuras 8 e 9 são exemplos de imagens de referência (template) e da placa teste, respectivamente. Com cuidadosa observação, pode-se notar na área marcada na Figura 9 a ausência de sete componentes, enquanto a imagem de referência possui todos seus componentes. 46 Figura 8 - Imagem de uma placa mãe usada como placa de referência (Template). Nesta imagem, todos os componentes estão presentes Figura 9 - Exemplo de imagem de uma placa mãe usada como placa teste 47 3.2 Alinhamento das imagens Problemas de alinhamento são comuns quando se tem imagens de placas capturadas em esteiras, principalmente devido a mudanças súbitas que ocorrem no processo de captação. O registro é utilizado para coincidir duas ou mais imagens obtidas em diferentes tempos ou de diferentes pontos focais. A tarefa do registro consiste em se determinar a transformação que leva a primeira imagem a coincidir com a segunda. Na Figura 10 temos duas imagens sobrepostas completamente desalinhadas. Figura 10 - Registro entre a imagem do template e imagem da placa de teste. Nota-se o total desalinhamento entre as imagens O registro de imagens pode ser definido como sendo um mapeamento entre as duas imagens de forma que essas diferenças sejam minimizadas (MARTINEZ e CAMPOS, 2001). As funções de transformação entre as imagens são fx e fy como segue: _ _ u = fx(x, y) e v = fy(x, y). Estas funções relacionam as coordenadas da imagem de referência na forma (x, y) com as coordenadas da imagem destino na forma (u, v). 48 O processo de registro de imagens pode ser dividido em três passos (MARTINEZ e CAMPOS, 2001): Seleção dos pontos de controle, Correspondência desses pontos e Estimativa da função de mapeamento. No primeiro passo, são determinados dois conjuntos de pontos de controle. Ou seja, são determinados dois subconjuntos de pontos C1 e C2, um da imagem I1 (template) e outro _ da imagem I2 (imagem da placa teste). Considere como exemplo a Figura 11 onde a imagem do lado direito é a imagem de referência e lado esquerdo é a placa teste. São nestes quadrados superiores que é determinado os dois subconjuntos de pontos. As imagens na parte inferior da figura apresentam os pontos de controle devidamente posicionados. (a) (b) (c) (d) Figura 11 - Seleção dos pontos de controle para o alinhamento das imagens. (a) Imagem da placa teste. (b) Imagem do template. (c) Seleção dos pontos de controle na placa teste. (d) Seleção dos pontos de controle no template 49 No segundo passo, os pontos em C1 devem ser correspondentes aos pontos em C2, isto é, para cada ponto em C1(template) que representa uma porção da imagem existe um ponto em C2(placa teste) que representa a mesma porção da imagem. Esses pontos são chamados de pontos de controle. A seleção dos pontos foram feitas manualmente usando o MATLAB 7.0. Finalmente, no terceiro passo, esses pontos correspondentes são utilizados para estimar uma função de mapeamento que possa relacionar os pontos restantes nas imagens. O resultado desse conjunto de operações citados anteriormente é o alinhamento das duas placas, conforme a Figura 12. Figura 12 - Imagem do template e da placa teste completamente alinhadas após as operações descritas anteriormente 50 3.3 Binarização das imagens Como as imagens já estão perfeitamente alinhadas à próxima etapa é a binarização do template e da placa teste. Segundo (GONZALEZ e WOODS, 2000), uma maneira óbvia de separar objetos do fundo é através da seleção de um limiar T que separe os dois grupos. Então, cada ponto (x, y) tal que f(x, y) > T é denominado um ponto do objeto; caso contrário, o ponto é denominado um ponto do fundo. Com a binarização vai ser possível separar os componentes da placa em relação ao fundo. As Figuras 13 e 14 mostram as imagens do template e da cena após o processo de binarização com um limiar de 0,6 realizado com o MATLAB 7.0. Figura 13 - Imagem de referência (template) após a operação de binarização 51 Figura 14 - Imagem da placa teste após a operação de binarização 3.4 Casamento de Padrões 3.4.1 Máscara Binária A partir das imagens binarizadas, começa a etapa de casamento de padrões, na qual os componentes serão comparados a uma máscara binária. A máscara é um procedimento que visa a remover pixels NZ (not zero), pixel de valor 1, exteriores a área das almofadas de solda. Devido à posição dos componentes distribuídos na placa temos componentes na horizontal e na vertical em relação à câmera. Neste processo é feita uma operação lógica and entre a máscara binária e todos os componentes com as mesmas características presentes tanto no template como na placa de teste. É necessária então, uma máscara binária na posição horizontal e outra na posição vertical, para que estas operações possam ser realizadas, Figuras 15 e 16. 52 Figura 15 - Máscara binária de um componente ausente na posição horizontal. A área branca são as almofadas onde o componente é colado e depois tem seus terminais soldado Figura 16 - Máscara binária de um componente ausente na posição vertical. A área branca são as almofadas onde o componente é colado e depois tem seus terminais soldado 53 As coordenadas da posição do componente são identificadas e armazenadas. Após a identificação das coordenadas, a máscara binária será um padrão de referência para comparação com outros componentes que tenham as mesmas características. A máscara binária possui um total de NZ , como observado na Figura 17. Figura 17 - Almofadas de solda da máscara binária. Nesta imagem, por exemplo, o valor de NZ é de 330 pixels É realizada uma operação lógica and entre à máscara binária e os componentes do template com as mesmas características. A partir desta operação todos os componentes do template terão o total de pixels NZ identificados. A identificação do total de pixels destes componentes é necessária, pois será aplicado mais na frente quando se estiver usando a abordagem probabilística. Na Figura 18, tem-se um componente do template e a máscara binária. Realizando a operação lógica and entre o componente e à máscara binária obtem-se um componente resultante. Observe que todos os pixels NZ exteriores em relação aos pixels NZ da almofada de solda da máscara binária foram eliminados após a operação lógica and. 54 and Figura 18 - Operação lógica and entre um componente do template (à esquerda) e a máscara binária (à direita) O mesmo procedimento é feito entre a máscara binária e todos os componentes que têm as mesmas características na placa teste. Realizando a operação lógica and entre o componente da placa teste e à máscara binária obtem-se um componente resultante conforme a Figura 19. Observe que alguns pixels NZ exteriores em relação aos pixels NZ da almofada de solda da máscara binária foram eliminados após a operação lógica and. 55 and Figura 19 - Operação lógica and entre o componente da placa teste (à esquerda) e a máscara binária (à direita) 3.5 Processo de Decisão usando o teorema de Bayes O processo de decisão utiliza uma função estocástica para a tomada de decisão baseada no teorema de Bayes apresentado no Capítulo 1. Na abordagem aqui desenvolvida consideram-se as seguintes classes: W1 é uma classe definida como componente; W2 é uma classe definida como almofada. P(W1) é definida como a razão entre D1/(D1+D2) e P(W2) é definida como a razão entre D2/(D1+D2), onde D1 é a diferença do número de pixels NZ do componente do template pelo número de pixels NZ da máscara binária e D2 é a diferença do número de pixels NZ do componente da placa teste pelo número de pixels NZ da máscara binária . Estas são as probabilidades a priori das classes W1 e W2, respectivamente. 56 P(x) é uma função de densidade de probabilidade, ou seja é a frequência com a qual encontram-se uma determinda característica. Considere x um vetor de características formado pelo número de pixels NZ extraidos de um componente da imagem. A probabilidade P(W1| x) é a probabilidade que o componente pertença a classe W1 dado a característica x. A probabilidade P(W2| x) é a probabilidade que o componente pertença a classe W2 dado a característica x. Usando o teorema de Bayes , pretende-se determinar qual a probabilidade do componente está na placa de teste dado que se sabe a priori que o componente está no template? Em outras palavras, deseja-se determinar P(W2| x). Usando o teorema de Bayes que é dado por meio P(Wi| x) = [P(x| Wi).P(Wi)] / P(x), onde 2 P(x) = ∑ P(x| Wi). P(Wi). i=1 Esse valor quantifica as probabilidades para cada um destes acontecimentos, supondo que x ocorreu. Além disso é preciso conhecer P(x| W1) e P(x| W2). P(x| W1) é a probabilidade com a qual se encontra uma determinada característica x dado que a mesma pertenca a classe W1. P(x| W2) é a probabilidade com a qual se encontra uma determinada característica x dado que a mesma pertenca a classe W2. O processo de decisão é realizado a partir da definição empírica de um limiar de probabilidade β, ou seja, se P(W2| x) > β então o componente está presente, caso contrário o componente está ausente. Na Figura 20 está a sequência de passos executados pelo algoritmo. 57 Imagem da Placa Teste Imagem do Template Algoritmo Converte as imagens para tons de cinza Alinhamento das imagens Binariza as imagens Limiar = 0,6 Operações Lógicas Decisão - Teorema de Bayes β < 0,4 Não Sim Componente Ausente Figura 20 – Seqüência de passos executados pelo algoritmo 58 Componente Presente CAPÍTULO 4 4 EXPERIMENTAÇÃO Na fase experimental a captura das imagens foi feita por uma câmera fotográfica digital colorida Olympus de 6 Megpixels. O tamanho da imagem capturada é de 640 x 480 pixels VGA (Vídeo Grafics Array) no formato JPEG (Joint Photographic Experts Group) sem compressão. As imagens capturadas foram processadas em um computador com processador Mobile AMD Sempron™ 3400 +789 MHz e 1G de memória RAM. A câmera na qual as imagens das placas foram capturadas está na Figura 21. A iluminação é feita com lâmpadas eletrônicas branca da marca Artek. Foi usado na iluminação 02 lâmpadas eletrônicas de 8W que segundo o fabricante corresponde a 40W de iluminação, cada uma. Figura 21 – Câmara para aquisição das imagens. O procedimento metodológico experimental foi dividido em três conjuntos de testes: Identificação do limiar de probabilidade; Robustez do método; Variação da iluminação. A identificação do limiar consiste na determinação experimental do valor para o qual o algoritmo reconhece a ausência do componente na placa. Este limiar será determinado por um processo empírico. A partir dos resultados obtidos é possível avaliar o grau de confiabilidade do valor do limiar para a identificação da ausência do componente. 59 Os experimentos para avaliar a robustez do método visam testar a acuidade do método frente à adição de ruído. Para estes fins foram adicionados separadamente a imagem teste dois tipos de ruídos: o ruído gaussiano e o ruído salt and pepper. Em seguida foram adicionados os dois ruídos simultaneamente a imagem teste. Grande parte dos problemas de espalhamento do ruído nas imagens é causada pela iluminação. Outros problemas podem também ocorrer, como por exemplo, sombras, presença de obstruções na imagem, pouco contraste e outras irregularidades. Ao visar uma melhor avaliação do potencial do método em relação à iluminação, foram realizados experimentos variando a potência da iluminação sobre as placas no instante de aquisição da imagem. 4.1 Identificação do limiar de probabilidade Para a identificação do valor de probabilidade adequado para a separabilidade dos conjuntos de características foi utilizada uma placa real identificada como defeituosa em um processo de inspeção visual. Para identificar o limiar de probabilidade β foi realizado um conjunto de testes com diferentes valores de β com o intuito de identificar um valor ou uma faixa de probabilidade confiável. Para uma melhor visualização após a comparação entre a situação dos componentes na placa teste em relação ao template, o algoritmo identifica na planilha o valor status=0, quando o componente está presente, caso contrário status=1. Para realização deste experimento assumiu-se as hipóteses que P(x| W1) = 0,98 e P(x| W2) = 0,70. Verificou-se então o comportamento da metodologia para diferentes valores de β. Para β = 0,1 os resultados são apresentados no gráfico combinado clássico com linhas plotadas sobre dois eixos da Figura 22. O eixo do lado esquerdo indica a probabilidade a posteriori P(W2 | x) de cada componente que estão representados pelos marcadores em forma de triângulos. O eixo do lado direito indica o status do componente. Eles estão sendo 60 representados pelos marcadores em forma de círculos. Status=1 indica que o componente está ausente e status=0 indica que o componente está presente. Na horizontal está indicada a quantidade de componentes testados na placa. A representação gráfica mostra que apenas um componente foi identificado como ausente. Como β = 0,1, a probabilidade deste componente está na placa teste é menos de 10% o que realmente se confirma. Percebe-se que os valores das probabilidades dos sete componentes estão abaixo do limiar de 0,3 e a probabilidade destes componentes está na placa teste é menor que 30%. 1,00 0,90 0,80 1 Verdadeiro Negativo 0,70 0,60 0,50 0,40 0,30 0,20 Falsos positivos 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 22 – Probabilidades de cada componente da placa de teste para β = 0,1 Para β = 0,35 os resultados são apresentados no gráfico combinado clássico com linhas plotadas sobre dois eixos da Figura 23. Observe que todos os componentes que estão ausentes têm a probabilidade a posteriori P(W2 | x) menor do que 0,35 e a probabilidade destes componentes estarem presentes na placa teste são menores que 35%. O algoritmo identificou os sete componentes como ausentes e que realmente se confirma. Para β = 0,4 os resultados são apresentados no gráfico combinado clássico com linhas plotadas sobre dois eixos da Figura 24. Observe que além dos componentes que estão 61 ausentes, com este valor de β o sistema identificou mais cinco componentes, sendo estes cinco componentes falsos negativos. O que se percebe é que o limiar de probabilidade acima de 0,40 influencia nos resultados, pois acima deste limiar o algoritmo começa a identificar falsos negativos. 1,00 0,90 0,80 1 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 23 - Probabilidades de cada componente da placa de teste para β = 0,35 1,00 1 0,90 0,80 Falsos Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 24 - Probabilidades de cada componente da placa de teste para β = 0,4 62 Para β = 0,5 os resultados apresentados no gráfico combinado clássico com linhas plotadas sobre dois eixos da Figura 25 mostram que o algoritmo reconheceu praticamente todos os componentes como se eles estivessem ausentes, e a maioria são falsos negativos. Nota-se que se confirma a afirmação anterior, ou seja, com o limiar acima de 0,4 o sistema começa a reconhecer componentes que estão presentes como ausentes, ou seja, além dos 7 verdadeiros negativos o algoritmo identificou 41 falsos negativos. 1,00 1 0,90 0,80 0,70 0,60 Verdadeiros Negativos Falsos Negativos 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 25 - Probabilidades de cada componente da placa de teste para β = 0,5 Assumindo agora as hipóteses que P(x| W1) = 0,80 e P(x| W2) = 0,60. Verificou-se então o comportamento da metodologia para diferentes valores de β. Para β = 0,1 os resultados são apresentados no gráfico combinado clássico com linhas plotadas sobre dois eixos da Figura 26. Observe no gráfico que apenas um componente foi identificado como ausente e há indicação de seis falsos negativos. Percebe-se ao analisar o gráfico que os componentes que estão ausentes na placa estão com probabilidades menores do que 0,30. 63 1,00 0,90 1 Verdadeiro Negativo 0,80 0,70 0,60 0,50 0,40 0,30 Falsos Positivos 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 26 - Probabilidades de cada componente da placa de teste para β = 0,1 Para β = 0,35 os resultados são apresentados no gráfico combinado clássico com linhas plotadas sobre dois eixos da Figura 27. Observe que todos os componentes que estão ausentes têm a probabilidade a posteriori P(W2 | x) menor que 0,35 e o algoritmo identificou os sete componentes que estão ausentes. 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 27 - Probabilidades de cada componente da placa de teste para β = 0,35 64 Para β = 0,40 os resultados são apresentados no gráfico combinado clássico com linhas plotadas sobre dois eixos da Figura 28. O algoritmo reconheceu os sete componentes ausentes mais identificou dois falsos negativos. 1,00 1 0,90 0,80 0,70 Verdadeiros Negativos Falsos Negativos 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 28 - Probabilidades de cada componente da placa de teste para β = 0,40 Para β = 0,50 os resultados são apresentados no gráfico combinado clássico com linhas plotadas sobre dois eixos da Figura 29. Como pode ser observado a partir dos resultados para o valor de 0,50, nota-se que o sistema identifica mais de 80% dos componentes como se eles estivessem ausentes. 65 1,00 1 0,90 0,80 0,70 0,60 Verdadeiros Negativos Falsos Negativos 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 29 - Probabilidades de cada componente da placa de teste para β = 0,50 4.2 Discussões Baseado neste primeiro experimento, o critério para definir o valor da separabilidade a partir de limiares que garanta que o sistema reconheça o componente como ausente pode ser sintetizado pelo Quadro 1 a seguir: β 0,1 0,35 0,40 0,50 Verdadeiros Verdadeiros Falsos Falsos Sensibilidade Negativos Positivos Positivos Negativos do Método VN VP FP FN (%) 1 7 7 7 49 49 44 8 6 0 0 0 0 0 5 41 100 100 89,8 16,3 Quadro 1 – Reconhecimento de componentes variando o valor de β, assumindo que P(x| W1) = 0,98 e P(x| W2) = 0,70 66 O método é bem confiável quando se leva em consideração que o limiar de separabilidade é definido de forma empírica. Como se pode perceber, o valor do limiar de separabilidade entre os conjuntos de características é menor do que 0,4. Nota-se que as probabilidades P(x| W1) e P(x| W2) pouco influencia e não é muito relevante frente ao valor de β, Quadro 2. β 0,1 0,35 0,40 0,50 Verdadeiros Verdadeiros Falsos Falsos Sensibilidade Negativos Positivos Positivos Negativos do Método VN VP FP FN (%) 1 7 7 7 49 49 47 10 6 0 0 0 0 0 2 39 100 100 95,9 20,4 Quadro 2 - Reconhecimento de componentes variando o valor de β, assumindo as hipóteses que P(x| W1) = 0,80 e P(x| W2) = 0,60 O valor ideal adotado para a separabilidade probabilística dos conjuntos de características é β = 0,4. Isso leva ao seguinte critério de decisão experimentalmente. Se β < 0,4 então o componente está ausente, caso contrário o componente está presente. Entende-se também que para β < 0,4 está se classificando o objeto como almofada e para β > 0,4 como componente. 67 4.3 Robustez do método O ruído é um sinal elétrico indesejado e é gerado por instabilidades do sensor de captura da imagem. Estes ruídos acabam confundindo o sensor e aparecem como milhares de pequenos pontos coloridos e dar uma impressão de “granulação” ou pouca definição. Nesta etapa é testada a robustez do método com relação a ruídos inseridos nas imagens. Foram gerados dois tipos de ruídos e acrescentados nas imagens. Primeiro o ruído gaussiano e em seguida o ruído salt and pepper. Na figura 30, tem-se a imagem da placa de teste sem o acréscimo de ruído gaussiano. Na figura 31, tem-se a imagem da placa de teste com o acréscimo do ruído gaussiano com variância de 0,01. Figura 30 - Imagem da placa de teste sem o acréscimo de ruído gaussiano 68 Figura 31 - Imagem da placa de teste com o acréscimo de ruído gaussiano com variância de 0,01 Para realização deste experimento assumimos as hipóteses que P(x| W1) = 0,98 e P(x| W2) = 0,90 e β = 0,4. Verificar-se-á então o comportamento da metodologia para diferentes níveis de ruído. Iniciar-se-á com um ruído gaussiano com variância 0,01. Os resultados são apresentados em um gráfico combinado clássico onde as linhas são plotadas em dois eixos, conforme Figura 32. Analisando os resultados percebe-se que o algoritmo identificou os 7 componentes que estão ausentes na placa mesmo com a presença do ruído gaussiano. O eixo vertical do lado esquerdo indica as probabilidades de cada componente (representada pelos indicadores em forma de triângulo) e o eixo vertical do lado direito indica o status do componente (representada pelos indicadores em forma de círculos), ou seja, quando o status = 1 o componente está ausente, quando status = 0, componente está presente na placa. 69 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 32 – Probabilidades de cada componente da placa de teste submetidos ao ruído gaussiano com variância de 0,01 Na figura 33, tem-se a imagem da placa de teste com o acréscimo do ruído gaussiano com variância de 0,02. Nesta etapa da análise, o algoritmo processa a imagem ruidosa e os resultados são apresentados em um gráfico com linhas plotadas sobre dois eixos, conforme Figura 34. O algoritmo identifica os sete componentes que estão ausentes na placa mesmo com a presença do ruído gaussiano com variância de 0,02. Notam-se apenas alterações nos valores das probabilidades dos componentes, mas eles permanecem abaixo do limiar de 0,4. Em seguida é aplicado na imagem um ruído gaussiano com variância de 0,04. Percebe-se que a imagem já está bastante ruidosa, Figura 35. O desempenho do algoritmo começou a ser afetado, pois apareceu um falso positivo, Figura 36. Apesar do algoritmo não reconhecer o componente, nota-se que sua probabilidade está bem próxima de 0,4. 70 Figura 33 - Imagem da placa de teste com o acréscimo de ruído gaussiano com variância de 0,02 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 34 - Probabilidades de cada componente da placa de teste submetidos ao ruído gaussiano com variância de 0,02 71 Figura 35 - Imagem da placa de teste com o acréscimo de ruído gaussiano com variância de 0,04 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 Falso Positivo 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 36 - Probabilidades de cada componente da placa de teste submetidos ao ruído gaussiano com variância de 0,04 Com um ruído gaussiano com variância de 0,05, Figura 37, o algoritmo só reconheceu quatro componentes e três componentes são falsos positivos, Figura 38. Observe que os três 72 componentes que não foram identificados estão com os valores da probabilidade bem próximo do limiar de 0,4. Apesar destes dois últimos níveis de ruídos aplicados na imagem ter afetado o desempenho do algoritmo, pois ele não reconheceu completamente os componentes que estão ausentes, os resultados podem ser considerados satisfatórios, uma vez que, alterando o valor do limiar de tal forma que o sistema reconheça os componentes podemos evitar os falsos positivos. Figura 37 - Imagem da placa de teste com o acréscimo de ruído gaussiano com variância de 0,05 73 1,00 1 0,90 Verdadeiros Negativos 0,80 0,70 0,60 0,50 0,40 0,30 Falsos Positivos 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 38 - Probabilidades de cada componente da placa de teste submetidos ao ruído gaussiano com variância de 0,05 Nesta etapa a robustez do método é testada com uma imagem contaminada com o ruído salt and pepper. Foram feitos testes com densidade iniciando com valor de 0,01. Os resultados obtidos da imagem e o gráfico estão representados nas Figuras 39 e 40. Uma inspeção visual sobre o resultado obtido revela um bom desempenho do algoritmo, uma vez que os sete componentes foram identificados. A partir de 0,02 os valores foram incrementados de 0,02 até atingir a densidade de 0,26. Para facilitar a interpretação visual dos resultados obtidos, são mostradas algumas imagens contaminadas com o ruído salt and pepper, com densidade de 0.04, 0.1, 0.16 e 0.26 e seus respectivos gráficos, conforme Figuras 41 a 48. Analisando os resultados percebe-se o bom desempenho do algoritmo, pois os sete componentes foram identificados e não ocorreu até o momento nenhum falso positivo ou falso negativo. Observando os gráficos todos os pontos que identificam os sete componentes estão abaixo do limiar de 0,4. Entretanto nota-se que ocorrem alterações nos valores das probabilidades, mas eles permanecem abaixo do limiar de 0,4. 74 As Figuras 49 e 50 apresentam o resultado obtido com a imagem contaminada com ruído salt and pepper com densidade de 0,28. Analisando o gráfico nota-se o aparecimento de dois falsos positivos, ou seja, o algoritmo começa a ser afetado pelo ruído, pois reconheceu apenas cinco componentes como verdadeiros negativos. Com um ruído com densidade de 0,30 e em seguida com densidade de 0,35 o algoritmo deixou de reconhecer apenas um componente, conforme Figuras 51 a 54. Com ruído salt and pepper com densidade de 0,40 e 0,50 o algoritmo teve seu desempenho afetado conforme Figuras 55 e 56. Nota-se que para a densidade de 0,4 o algoritmo só reconheceu quatro componentes como verdadeiros e com densidade 0,50 reconheceu apenas três componentes como negativos verdadeiros. Figura 39 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,01. 75 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 40 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,01 Figura 41 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,04. 76 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 42 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,04 Figura 43 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,1 77 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 44 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,1 Figura 45 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,16 78 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 46 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,16 Figura 47 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,26 79 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 48 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,26 Figura 49 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,28. 80 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 Falsos Positivos 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 50 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,28 Figura 51 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,30 81 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 Falso Positivo 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 52 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,30 Figura 53 - Imagem da placa de teste contaminada com o ruído salt and pepper com densidade de 0,35 82 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 0,10 Falso Positivo 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 54 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,35 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 Falsos Positivos 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 55 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,40 83 1,00 1 0,90 0,80 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 Falsos Positivos 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 56 - Probabilidades de cada componente da placa de teste submetidos ao ruído salt and pepper com densidade de 0,5 A robustez do método agora é testada com uma imagem contaminada com os ruídos gaussiano e salt and pepper simultaneamente. Foram feitos testes inicialmente com o valor da variância em 0,01 para o ruído gaussiano e 0,1 para o ruído salt and pepper. A Figura 57 mostra a imagem contaminada com ambos os ruídos. Figura 57 – Placa teste contaminada com ruídos gaussiano e salt and pepper simultaneamente 84 Os resultados obtidos estão no gráfico da Figuras 58. Uma inspeção visual sobre o resultado obtido revela um bom desempenho do algoritmo, uma vez que não ocorreu nenhum falso positivo. 1,00 0,90 1 Verdadeiros Negativos 0,80 0,70 0,60 0,50 0,40 0,30 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 58 - Probabilidades de cada componente da placa de teste submetidos aos ruídos gaussiano e salt and pepper com variância de 0,01 e 0,1 respectivamente A Figura 59 apresenta a imagem contaminada com os ruídos gaussiano e salt and pepper simultaneamente com variância de 0,02 e 0,2 respectivamente. Figura 59 - Placa teste contaminada com ruídos gaussiano e salt and pepper simultaneamente 85 Ao se analisar o gráfico da Figura 60, percebe-se que ocorreu um falso positivo. O desempenho do algoritmo começa a ser afetado pelos ruídos, pois reconheceu apenas seis componentes como verdadeiros negativos. 1,00 0,90 0,80 1 Verdadeiros Negativos 0,70 0,60 0,50 0,40 0,30 0,20 Falso Positivo 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 60 - - Probabilidades de cada componente da placa de teste submetidos aos ruídos gaussiano e salt and pepper com variância de 0,02 e 0,2 respectivamente A Figura 61 apresenta a imagem contaminada com os ruído gaussiano e salt and pepper simultaneamente com variância de 0,03 e 0,3 respectivamente. Figura 61 - Placa teste contaminada com ruídos gaussiano e salt and pepper simultaneamente 86 O resultado obtido está no gráfico da Figura 62. Apareceram cinco falsos positivos, o que demonstra que o desempenho do algoritmo começa a ser seriamente afetado pelos ruídos. 1,00 0,90 1 Verdadeiros Negativos 0,80 0,70 0,60 0,50 0,40 0,30 0,20 Falsos Positivos 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 62 - Probabilidades de cada componente da placa de teste submetidos aos ruídos gaussiano e salt and pepper com variância de 0,03 e 0,3 respectivamente A Figura 63 apresenta a imagem contaminada com os ruídos gaussiano e salt and pepper simultaneamente com variância de 0,04 e 0,4 respectivamente. Figura 63 - Placa teste contaminada com ruídos gaussiano e salt and pepper simultaneamente 87 Ao se analisar os resultados apresentados no gráfico da Figura 64, o algoritmo não reconheceu nenhum componente que está ausente. O desempenho do algoritmo mostrou-se muito sensível quando submetidos à contaminação simultânea dos ruídos gaussiano e salt and pepper com variância de 0,04 e 0,4 respectivamente. Baseado na análise dos testes anteriores percebe-se que esta sensibilidade se deve principalmente a influência do ruído gaussiano quando aplicado na imagem. 1,00 1 0,90 0,80 0,70 0,60 0,50 0,40 0,30 Falsos Positivos 0,20 0,10 0,00 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 P_W2_x Status Figura 64 - Probabilidades de cada componente da placa de teste submetidos aos ruídos gaussiano e salt and pepper com variância de 0,04 e 0,4 respectivamente 4.4 Discussões O tratamento do ruído é uma etapa fundamental para o Processamento Digital de Imagens. Para este experimento foram adicionados as imagens dois tipos de ruidos, o gaussiano e o ruido salt and pepper. Diante dos resultados apresentados nos Quadros 3 ,4 e 5 é bastante conclusivo que o algoritmo se comportou muito melhor com à aplicação do ruído salt and pepper do que com o ruído gaussiano. Percebe-se que a vulnerabilidade do algoritmo é maior em relação ao ruído gaussiano. Com o ruído gaussiano o algoritmo começou a ser afetado com uma variância 0,04. 88 Com o ruído salt and pepper o algoritmo só começou a ser afetado para valores da variância a partir de 0,28, o que demonstra que o algoritmo é muito menos susceptíveis ao ruído salt and pepper que com o ruído gaussiano. Com o ruído gaussiano e salt and pepper aplicados simultaneamente na imagem com variância a partir de 0,02 e 0,2 respectivamente, o desempenho do algoritmo começou a ser afetado. Como o algoritmo teve seu desempenho mais afetado com o ruído gaussiano do que com o ruído salt and pepper, é fácil perceber a maior sensibilidade do algoritmo para reconhecer os componentes como verdadeiros negativos quando a imagem está contaminada com ambos os ruídos. Variância 0,01 0,02 0,04 0,05 Verdadeiros Verdadeiros Falsos Falsos Sensibilidade Negativos Positivos Positivos Negativos do Método VN VP FP FN (%) 7 7 6 4 49 49 49 49 0 0 1 3 0 0 0 0 100 100 100 100 Quadro 3 – Comportamento do sistema com um ruido gaussiano assumindo que P(x| W1) = 0,98 e P(x| W2) = 0,90 e β=0,4 Variância 0,01 0,04 0,10 0,16 0,26 0,28 0,30 0,35 0,40 0,50 Verdadeiros Verdadeiros Falsos Falsos Sensibilidade Negativos Positivos Positivos Negativos do Método VN VP FP FN (%) 7 7 7 7 7 5 6 5 4 3 49 49 49 49 49 49 49 49 49 49 0 0 0 0 0 2 1 2 3 4 0 0 0 0 0 0 0 0 0 0 100 100 100 100 100 100 100 100 100 100 Quadro 4 – Comportamento do sistema com um ruido salt and pepper aplicado assumindo que P(x| W1) = 0,98 e P(x| W2) = 0,90 e β=0,4 89 Variância 0,01/01 0,02/0,2 0,03/03 0,04/0,4 Verdadeiros Verdadeiros Falsos Falsos Sensibilidade Negativos Positivos Positivos Negativos do Método VN VP FP FN (%) 7 6 2 0 49 49 49 49 0 1 5 7 0 0 0 0 100 85,7 28,6 0 Quadro 5 - – Comportamento do algoritmo com um ruido gaussiano e salt and pepper aplicado simultaneamente na imagem de teste e assumindo que P(x| W1) = 0,98 e P(x| W2) = 0,90 e β=0,4 4.5 Variação da Iluminação Os experimentos com a iluminação foram feitos com a placa no interior da câmera de madeira, onde na parte de cima tem uma abertura onde foi colocada a máquina fotográfica digital OLYMPUS de 6 Megpixel para captura das imagens. Internamente a placa é iluminada com 02 luzes eletrônicas brancas da marca Artek. A princípio todos os testes foram realizados usando lâmpadas eletrônicas brancas de 8W, correspondente a 40W de iluminação. Para caracterizar o bom funcionamento do algoritmo foram feitos testes com lâmpadas eletrônicas da mesma marca de 20W e 25W que corresponde a 90W e 120W de iluminação, respectivamente. Internamente após a placa está iluminada, não ocorreram sombras, baixo contraste ou outras irregularidades. Na Figura 65 está a identificação dos componentes que estão faltando na placa teste. Observe na imagem que faltam sete componentes. 90 Figura 65 - Imagem da placa teste onde se percebe a ausência de sete componentes. A marca indica as almofadas onde os componentes estão ausentes Na Figura 66 temos a imagem da placa template e observe que os sete componentes estão presentes. Estas imagens estão com uma iluminação de 40W de potência. Figura 66 - Imagem da placa template onde se percebe a presença dos sete componentes. A marca indica onde estão os sete componentes 91 No processo de identificação dos componentes o programa realiza todas as fases descritas no Capítulo 3 e retorna um quadro com dados sobre os componentes testados e o status de cada um, se ele está ausente ou não. Os resultados estão apresentados no Quadro 6. A coluna NZT indica a quantidade de pixels com valor 1 em cada componente testado na placa do template. A coluna NZMB indica a quantidade de pixels de valor 1 da máscara binária. A coluna D1 é a diferença em valor absoluto dos valores da coluna NZT e da coluna NZMB. A coluna NZTest indica a quantidade de pixels de valor 1 de cada componente testado na placa teste. A coluna D2 é a diferença em valor absoluto dos valores da coluna NZTest e da coluna NZMB. A coluna D1 + D2 é a soma das respectivas colunas. A coluna P_W1_x é a probabilidade a posteriori P(W1 | x) de cada componente da placa template. A coluna P_W2_x é a probabilidade a posteriori P(W2 | x) de cada componente da placa teste. A coluna status indica se o componente está ausente ou não. O valor status=0 indica que o componente está presente, e status=1 indica que o componente está ausente. C286 C283 C284 BC10 C290 BC20 BC21 C291 C292 BC16 BC22 C288 BC11 BC17 C228 C242 R348 C241 C230 C234 C233 C243 C236 Nº. NZT NZMB 1 224 337 2 201 337 3 197 337 4 203 337 5 231 337 6 200 337 7 185 337 8 174 337 9 195 337 10 181 337 11 194 337 12 170 337 13 164 337 14 157 337 15 194 337 16 207 337 17 208 337 18 240 337 19 241 337 20 233 337 21 203 337 22 245 337 23 231 337 D1 NZTest 113 308 136 337 140 304 134 316 106 310 137 265 152 257 163 157 142 176 156 161 143 141 167 142 173 146 180 125 143 207 130 187 129 209 97 211 96 212 104 209 134 166 92 184 106 170 D2 D1 +D2 P_W1_x P_W2_x Status 29 142 0,81 0,19 1 0 136 1,00 0,00 1 33 173 0,82 0,18 1 21 155 0,87 0,13 1 27 133 0,81 0,19 1 72 209 0,67 0,33 1 80 232 0,67 0,33 1 180 343 0,50 0,50 0 161 303 0,49 0,51 0 176 332 0,49 0,51 0 196 339 0,44 0,56 0 195 362 0,48 0,52 0 191 364 0,50 0,50 0 212 392 0,48 0,52 0 130 273 0,54 0,46 0 150 280 0,49 0,51 0 128 257 0,52 0,48 0 126 223 0,46 0,54 0 125 221 0,46 0,54 0 128 232 0,47 0,53 0 171 305 0,46 0,54 0 153 245 0,40 0,60 0 167 273 0,41 0,59 0 92 C255 24 132 337 205 129 208 413 0,52 C250 25 164 337 173 135 202 375 0,48 C268 26 143 337 194 141 196 390 0,52 C267 27 159 337 178 172 165 343 0,54 C265 28 133 337 204 114 223 427 0,50 R368 29 258 337 79 253 84 163 0,51 R378 30 243 337 94 240 97 191 0,51 R379 31 267 337 70 250 87 157 0,47 R380 32 277 337 60 265 72 132 0,48 R381 33 256 337 81 244 93 174 0,49 R369 34 227 337 110 232 105 215 0,53 R370 35 271 337 66 268 69 135 0,51 C202 36 223 337 114 217 120 234 0,51 R290 37 231 337 106 229 108 214 0,52 R286 38 209 337 128 202 135 263 0,51 R255 39 179 337 158 182 155 313 0,53 R253 40 170 337 167 194 143 310 0,56 R162 41 231 337 106 201 136 242 0,46 R161 42 176 337 161 175 162 323 0,52 R156 43 169 337 168 185 152 320 0,55 R160 44 210 337 127 197 140 267 0,50 C143 45 261 337 76 205 132 208 0,39 C168 46 236 337 101 199 138 239 0,44 R170 47 238 337 99 244 93 192 0,54 R171 48 250 337 87 268 69 156 0,58 Quadro 6 – O quadro mostra os resultados do teste com 48 componentes 0,48 0,52 0,48 0,46 0,50 0,49 0,49 0,53 0,52 0,51 0,47 0,49 0,49 0,48 0,49 0,47 0,44 0,54 0,48 0,45 0,50 0,61 0,56 0,46 0,42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Na Figura 67 estão identificados os componentes que estão faltando na placa teste. Observe na imagem que faltam seis componentes. Na Figura 68 tem-se a imagem da placa template com os seis componentes presentes. Para o tipo de imagem testada foi usada uma iluminação com lâmpadas eletrônicas branca Artek de 90W de potência. Apesar da iluminação de 90W, a análise dos resultados obtidos mostraram-se bastantes eficientes com relação à identificação dos componentes ausentes, Quadro 7. 93 Figura 67 - Imagem da placa teste onde se percebe a ausência de seis componentes Figura 68 - Imagem da placa template onde se percebe a presença dos seis componentes Na Figura 69 estão identificados os componentes que estão na placa teste. Na Figura 70 tem-se a imagem da placa template com os componentes presentes. Neste caso específico não existe componente ausente na placa teste. 94 Figura 69 - Imagem da placa teste onde se percebe a presença de componentes. Não existe componente ausente em relação ao template Figura 70 – Imagem da placa template onde se percebe a presença dos componentes Na Figura 71 estão identificados os componentes que estão na placa teste. Observe que falta um componente em relação ao template, Figura 72. 95 Figura 71 – Imagem da placa teste onde se percebe a ausência de um componente Figura 72 – Imagem da placa template onde se percebe a presença de todos os componentes 96 Nº. NZT NZMB D1 NZTest D2 D1+D2 P_W1_x P_W2_x Status C228 1 166 250 84 244 6 90 0,94 0,06 1 C242 2 141 250 109 241 9 118 0,93 0,07 1 R348 3 147 250 103 224 26 129 0,81 0,19 1 C241 4 153 250 97 228 22 119 0,83 0,17 1 C230 5 153 250 97 228 22 119 0,83 0,17 1 C234 6 109 250 141 147 103 244 0,60 0,40 0 C233 7 167 250 83 175 75 158 0,55 0,45 0 C243 8 180 250 70 237 13 83 0,85 0,15 1 R294 9 80 250 170 103 147 317 0,56 0,44 0 C202 10 147 250 103 159 91 194 0,55 0,45 0 R286 11 117 250 133 143 107 240 0,58 0,42 0 R290 12 152 250 98 177 73 171 0,59 0,41 0 R152 13 137 250 113 224 26 139 0,83 0,17 1 R153 14 133 250 117 158 92 209 0,58 0,42 0 R151 15 174 250 76 172 78 154 0,51 0,49 0 R123 16 190 250 60 178 72 132 0,48 0,52 0 R122 17 149 250 101 164 86 187 0,56 0,44 0 Quadro 7 – O Quadro mostra os resultados do teste com 17 componentes Nas Figuras 73 a 80 estão identificados os componentes que estão faltando na placa teste em relação ao template. Observe nas imagens que faltam seis componentes. Para o tipo de imagem testada foi usada uma iluminação com lâmpadas eletrônicas brancas Artek de 120W de potência. Apesar da iluminação de 120W, a análise dos resultados obtidos mostraram-se bastantes eficiente com relação à identificação dos componentes ausentes, Quadro 8. Todos os componentes que estavam ausentes foram identificados pelo algoritmo e não ocorreu nenhum falso negativo ou falso positivo. Através destes experimentos com a variação da iluminação nota-se que os resultados obtidos foram satisfatórios, pois não ocorreu nenhum falso negativo ou falso positivo entre os componentes testados em todas as imagens correspondentes. 97 Figura 73 - Imagem da placa teste onde se percebe a ausência de dois componentes em relação ao template Figura 74 - Imagem da placa template onde se percebe a presença de todos os componentes em relação a placa teste 98 Figura 75 - Imagem da placa teste onde se percebe a ausência de um componente em relação ao template Figura 76 - Imagem da placa template onde se percebe a presença de todos os componentes em relação a placa teste Observe que na imagem do template o componente R125 está deslocado em relação ao mesmo componente da placa teste (seta branca). Este componente foi identificado como ausente. Apesar deste componente não está ausente o algoritmo mostrou que pode identificar componentes com alguma alteração em relação a sua base de fixação (almofada). 99 Figura 77 - Imagem da placa teste onde se percebe a ausência de dois componentes em relação ao template Figura 78 - Imagem da placa template onde se percebe a presença de todos os componentes em relação a placa teste 100 Figura 79 - Imagem da placa teste onde se percebe a presença de todos os componentes testados em relação ao template Figura 80 - Imagem da placa template onde se percebe a presença de todos os componentes em relação a placa teste 101 Nº. NZT NZMB D1 NZTest D2 D1+D2 P_W1_x P_W2_x Status C176 1 202 300 98 235 65 163 0,62 0,38 0 C179 2 220 300 80 229 71 151 0,55 0,45 0 C180 3 189 300 111 267 33 144 0,79 0,21 1 R217 4 185 300 115 221 79 194 0,61 0,39 0 R218 5 206 300 94 292 8 102 0,93 0,07 1 R124 6 161 300 139 200 100 239 0,60 0,40 0 R126 7 180 300 120 221 79 199 0,62 0,38 0 R130 8 183 300 117 203 97 214 0,57 0,43 0 R141 9 169 300 131 202 98 229 0,59 0,41 0 C108 10 165 300 135 211 89 224 0,62 0,38 0 R125 11 225 300 75 261 39 114 0,68 0,32 1 R128 12 147 300 153 258 42 195 0,80 0,20 1 C69 13 218 300 82 244 56 138 0,61 0,39 0 R84 14 202 300 98 248 52 150 0,67 0,33 1 C101 15 238 300 62 283 17 79 0,80 0,20 1 R97 16 240 300 60 226 74 134 0,47 0,53 0 R304 17 76 300 224 131 169 393 0,59 0,41 0 R306 18 54 300 246 145 155 401 0,63 0,37 0 R303 19 97 300 203 179 121 324 0,65 0,35 0 C225 20 60 300 240 130 170 410 0,61 0,39 0 Quadro 8 - O Quadro mostra os resultados do teste com 20 componentes 4.6 Discussões Foi analisado o comportamento do algoritmo quando variamos a iluminação e diante dos resultados apresentado no Quadro 9 percebe-se que mesmo com a elevação da iluminação de 40 W para 90W e em seguida para 120W o algoritmo continuou a identificar os componentes que estão ausentes na placa. A influência da iluminação na cena não resultou em falsos positivos ou negativos, evidencia-se assim o bom desempenho do algoritmo em identificar os componentes que estão ausentes. Iluminação(W) 40 90 120 Verdadeiros Verdadeiros Falsos Falsos Sensibilidade Negativos Positivos Positivos Negativos do Método VN VP FP FN (%) 7 7 6 49 10 14 0 0 0 0 0 0 100 100 100 Quadro 9 – O Quadro mostra os resultados dos testes para três níveis de iluminação 102 CAPÍTULO 5 5 CONCLUSÕES E RESULTADOS FUTUROS Neste trabalho desenvolveu-se uma metodologia para a detecção da ausência (ou presença) de componentes SMCs sobre a superfície de placas motherboards. A aplicação desta metodologia em um sistema de visão de máquinas tornará mais ágil à produção das placas bem como garantirá um melhor Controle de Qualidade. A abordagem está baseada em um processo probabilístico usando a Teoria Bayesiana para modelar a identificação da ausência do componente na placa e também foram utilizadas técnicas usuais de Processamento Digital de Imagens e Visão de Máquinas. Os testes desenvolvidos mostram a aplicabilidade da metodologia em sistema de inspeção automática. A abordagem está dividida em três etapas: pré-processamento, casamento de padrões e reconhecimento da ausência de componentes a partir de uma abordagem probabilística. A primeira fase utiliza-se uma câmera fotográfica digital da marca OLYMPUS de 6 Megpixels para captura das imagens. Na segunda fase foi feito o registro das imagens, pois sem um alinhamento perfeito fica impossível aplicar o casamento de padrões para identificar os componentes. Sabe-se que problemas com alinhamento são muito comuns em captura de imagens, principalmente em esteiras em movimento. A fase de casamento de padrões é uma etapa importante do processo de identificação dos componentes, pois desta fase sai informações para a fase seguinte que é a aplicação de uma abordagem probabilística. Por fim, este método é inovador por ser capaz de identificar a ausência de componentes na placa por uma abordagem probabilística, aplicação do teorema de Bayes. A aplicação deste teorema mostrou ser bastante eficiente. Foram feitos vários testes com relação à robustez do 103 algoritmo, com a aplicação de ruídos do tipo gaussiano e “salt and pepper” nas imagens e com a variação da iluminação. Os resultados obtidos garantem a viabilidade da utilização desta abordagem no processo de manufaturas de motherboards. Os testes foram realizados em placas reais obtidas diretamente da linha de produção. O template, ou imagem de referência, era uma placa padrão usual utilizada para comparação nas inspeções do Controle de Qualidade de uma empresa de manufatura de motherboards. Mesmo sendo as imagens submetidas a situações extremas de ruído e iluminação os resultados apresentaram-se aceitáveis dentro do limiar de separabilidade de probabilidade utilizado, garantindo assim a viabilidade da abordagem. 5.1 Resultados futuros A continuidade da aplicação deste sistema em trabalhos futuros torna-se muito interessante e desafiadores, porém é necessário avaliar melhor o potencial do método aqui desenvolvido através da realização de mais experimentos com imagens de resolução e conteúdo diferentes. O primeiro grande desafio é tornar a metodologia totalmente automática e capaz de atuar sobre um processo de manufatura por meio de câmeras específicas para este fim e detectar o componente que está ausente na placa. O processamento do registro das imagens deve ser automatizado, o que torna o processo mais rápido. Com as imagens alinhadas, as técnicas anteriormente citadas ficam mais fáceis de serem implementadas para identificar os componentes que estão ausentes na placa. Com relação ao tempo de processamento do programa, este deve ser o menor possível para não interferir no processo produtivo, pois evita assim atrasos e aumento de custos. Às condições de iluminação no sistema de captação por câmaras em uma linha de produção com esteiras em movimento também são desafiadores, pois sabe-se que a influência da iluminação 104 em sistemas reais de captura interfere muito nas imagens, gerando sombras, baixo contraste e outras irregularidades. 5.2 Considerações finais Esta dissertação teve como objetivo principal o desenvolvimento de uma metodologia para a detecção da ausência de componentes SMC‟s em placas de circuito impresso. Mostrou-se que é possível a utilização das técnicas de classificação probabilística em SMC‟s de motheboards sobre condições de ruído e variação dos níveis de iluminação. Entende-se que este trabalho deverá compor em um futuro próximo a base de um sistema de inspeção visual automática. É certo que a efetivação futura de um sistema de inspeção nestes moldes aprimorará consideravelmente o processo produtivo, garantindo elevados padrões de qualidade nas empresas. 105 REFERÊNCIAS BIBLIOGRÁFICAS ACCIANI, Giuseppe; Brunetti, Gioacchino e Fornarelli, Girolamo. Application of Neural Networks Optical Inspection and Classification of Solder Joints in surface Mount Technology, 2006. BARTLETT, Sandra L. et all. Automatic Solder Joint Inspection. Ieee Transactions on Pattern Analysis and Machine Intelligence, Vol. 10. NO.1, JANUARY 1988. BORBA, João Francisco e Facon, Jacques. A Printed Circuit Board Automated Inspection System. 0-7803-2972-4/96$5.00. 1996. CAPSON, David W. e Tsang, Randy M. C. Automatic Visual Measurement of SurfaceMount Device Placement. Ieee Transactions on Robotics and Automation. VOL. 6. NO 1. FEBRUARY 1990. CHO, Che-Seung; Chung, Byeong-Mook e Park, Moo-Jin. Vision-Based Fabric Inspection System, 2005. Development of Real-Time CUROTTO, C. L. ; Ebecken, N. F. F. Implementing Data Mining Algorithmos in Microsoft SQL Server, 2005. DAVIES, E. R. Machine Vision: theory, algorithms, praticalities. Academic Press Inc., 1990. DU, Winncy Y. e Dickerson, Stephen L. Passive Component Inspection Using Machine Vision, 1998. GONZALEZ, Rafael C. e Woods, Richard E. Processamento de Imagens Digitais. Rio de Janeiro. EDITORA EDGARD BLUCHER, 2000. GRIFFIN, Paul M e Villalobos, J. René. Process Capability of Automated Visual Inspection Systems, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 22, NO.3, MAY/JUNE 1992. IBRAHIM, Zurwairie et all. Coarse Resolution Defect Localization Algorithm for an Automated Visual Printed Circuit Board Inspection. 0-7803-7474-6/02/$17.00 2002 IEEE. KIM, Nam-Hyeong; Pyun, Jae-Young; Choi, Kang-Sun; Choi, Byeong-Doo e KO, Sung-Jea. Real-Time Inspection System for Printed Circuit Boards, 2001. KO , Kuk Won; Roh ,Young Jun; Cho ,Hyung Suck e Kim, Hyung Cheol. A Neural Network Approach to the Inspection of Ball Grid Array Solder Joints on Printed Circuit Boards, 2000 . LILLESAND, T.; M, Kiefer, R. W. Remote Sensing and Image Interpretation, 1987. LOH, Horng-Hai e Lu, Ming-Sing. Printed Circuit Board Inspection Using Image Analysis, 1999. 106 MARTINEZ ,Valguima V. V. A. Odakura ; Campos, Geraldo Lino. Uma Técnica para Alinhamento de Imagens de Documentos Antigos, 2006. _ MASHOHOR, Syamsiah; Evans, Jonathan R. e Erdogan, Ahmet T. Automatic Hybrid Genetic Algorithm Based Printed Circuit Board Inspection. Proceedings of the First NASA/ESA Conference on Adaptive Hardware and Systems (AHS‟06) 0-7695-2614-4/06 $20.00.2006 IEEE. MOGANTI, Madhav; Ercal Fikret e Dagli, Cihan H. Automatic PCB Inspection Algorithms: A Survey, 1996. MOSTAFA , Dulal G.M. e Hwang, Santai. Design of an Inspection System for Electrical Characteristics of a PC Board”, 1993. NEWMAN, Timothy S. e Jain, Anil K. - A Survey of Automated Visual Inspection, Computer Vision and Image Understanding, 1995. PIO, José Luiz de S. Visão de Máquina: uma introdução aos sistemas de inspeção automatizada, UEA editoras, no prelo, 2007. RICHARD, Jean Francois e Dickey, James M. Bayesian Full Information Analysis of Simultaneous Equation Models Using Integration by Monte Carlo, 1988. SCAMAN, E. Michael; Economikos, Laertis e Lambright, Julius. Computer Vision for Automatic Inspection of a High Density Grid of Pads on Mult-Chip Modules. IEEE TRANSACTIONS ON COMPONENTS, PACKAGING, AND MANUFACTURING TECHNOLOGY – PART B, VOL. 17, NO. 3, AUGUST 1994. SCHALKOFF, Robert J. Digital Image Processing and Computer Vision – Canada, 1989. SNYDER, Wesley E. et al. Circuit Board Inspection Using a Range Camera. IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS. VOL. 38. NO.2. APRIL 1991. TSAI, Du-Ming e Yang, Ron-Hwa. application in defect detection, 2005. An eigenvalue-based similarity measure and its 107