U
NIVERSIDADE
T
ECNOLÓGICA
F
EDERAL DO
P
ARANÁ
P
ROGRAMA DE
P
ÓS
-G
RADUAÇÃO EM
C
OMPUTAÇÃO
A
PLICADA
T
HOMAS
J
OSÉ
M
AZON DE
O
LIVEIRA
I
DENTIFICAÇÃO
A
UTOMÁTICA DE
A
DULTERAÇÕES EM
P
LACAS DE
C
IRCUITO
I
MPRESSO
C
ONTROLADORAS
DE
B
OMBAS DE
C
OMBUSTÍVEL
B
ASEADA
EM
I
MAGENS
DISSERTAÇÃO DE MESTRADO
CURITIBA 2017
U
NIVERSIDADE
T
ECNOLÓGICA
F
EDERAL DO
P
ARANÁ
P
ROGRAMA DE
P
ÓS
-G
RADUAÇÃO EM
C
OMPUTAÇÃO
A
PLICADA
T
HOMAS
J
OSÉ
M
AZON DE
O
LIVEIRA
I
DENTIFICAÇÃO
A
UTOMÁTICA DE
A
DULTERAÇÕES EM
P
LACAS DE
C
IRCUITO
I
MPRESSO
C
ONTROLADORAS
DE
B
OMBAS DE
C
OMBUSTÍVEL
B
ASEADA
EM
I
MAGENS
Dissertação submetida ao Programa de Pós-Graduação em Computação Aplicada da Uni-versidade Tecnológica Federal do Paranácomo requisito para a obtenção do título de Mestre em Computação Aplicada.
Área de concentração: Engenharia de Sistemas Computacionais
Orientador: Bogdan Tomoyuki Nassu Co-orientador: Marco Aurélio Wehrmeister
CURITIBA 2017
Dados Internacionais de Catalogação na Publicação
O48i 2017
Oliveira, Thomas José Mazon de
Identificação automática de adulterações em placas de circuito impresso controladoras de bombas de combustível baseada em imagens / Thomas José Mazon de Oliveira.– 2017.
74 f. : il. ; 30 cm
Texto em português com resumo em inglês
Disponível também via World Wide Web Dissertação (Mes-trado) - Universidade Tecnológica Federal do Paraná. Programa de Pós-graduação em Computação Aplicada, , 2017
Bibliografia: f. 71-74
1. Combustíveis – Medição - Adulteração e inspeção. 2. Com-bustíveis fósseis - Adulteração e inspeção. 3. Postos de serviços - Controle de qualidade. 4. Algoritmos computacionais. 5. Má-quinas de vetores de suporte. 6. Imagem (computadores) - Inter-pretação. 7. Computação - Dissertações. I. Nassu, Bogdan To-moyuki. II. Wehrmeister, Marco Aurélio. III. Universidade Tecno-lógica Federal do Paraná. Programa de Pós-graduação em Compu-tação Aplicada. IV. Título.
CDD: Ed. 23 – 621.39 Biblioteca Central da UTFPR, Câmpus Curitiba
[...] Não importa quem você é. Não importa até onde você vai na sua vida. Em algum momento você vai precisar de alguém para ficar ao seu lado!
Agradecimentos
Primeiramente agradeço meus familiares — minha mãe Maria Lucia (Dona Maria), meu pai Antonio Liu (Seu Liu), meus irmãos Adriano Dumont, Victor Hugo, Fernando Henri-que e Clariana — por todo apoio, carinho e compreensão. Agradeço por todo esforço e dedi-cação que fizeram de mim o homem que sou hoje. Obrigado! Muito obrigado por serem meus exemplos, com certeza serão sempre o pilar principal de qualquer sucesso de minha vida.
Mas preciso registrar meu agradecimento e reconhecimento em especial a três pes-soas: minha querida mãe, pois apesar de tudo que passou neste ano, você se manteve firme, me apoiando, me incentivando e sendo a mãe que admiro; ao grande e eterno amigo Fabrizzio Ma-chado da Silva que me apoiou desde o inicio desta empreitada. Sempre acreditou no potencial e benefícios que podemos entregar com este projeto; por fim agradeço a Deus por dar forças e acolher seu filho querido, além de não me deixar desistir, pois Nele acredito e sei que ainda me falta maturidade para entender suas escolhas.
Agradeço aos meus orientadores Professor Bogdan Tomoyuki Nassu e Professor Marco Aurelio Wehrmeister pelos diversos ensinamentos e ajuda no processo de elaboração do presente trabalho que pacientemente acompanharam e orientaram de forma participativa e flexível. Souberam direcionar as atividades pelo melhor caminho, demonstrando confiança e motivação muito além do estritamente necessário e, sem os quais não conseguiria atingir este objetivo no curto período de tempo que possuía.
Por fim, quero agradecer muitos outros amigos pela amizade que dura além de todos os momentos de concentração que me ajudaram a esfriar a cabeça. Àqueles que direta ou indiretamente, contribuíram para a realização deste trabalho.
Com muito carinho e afeto dedico este meu trabalho à minha família. Meus pais, Maria Lucia e Antonio Liu e a meus irmãos: Adriano Du-mont, Victor Hugo, Fernando Hen-rique e Clariana Mazon pela fé, confiança e amor.
E com muito prazer e merecimento, também dedico este trabalho ao meu eterno amigo Fabrizzio Ma-chado da Silva, por me apoiar, aju-dar e acreditar desde o inicio. De onde esteja, fica meu abraço a você meu amigo!
Resumo
OLIVEIRA, Thomas José Mazon de., IDENTIFICAÇÃO AUTOMÁTICA DE ADULTERAÇÕES EM PLACAS DE CIRCUITO IMPRESSO CONTROLADORAS DE BOMBAS DE COMBUSTÍVEL BASEADA EM IMAGENS. 74 f. Dissertação de Mestrado -Programa de Pós-Graduação em Computação Aplicada. Curitiba, 2017.
Fraudes envolvendo modificações ilegais em bombas de combustível prejudicam os clientes e corroboram com crimes como lavagem de dinheiro e evasão fiscal. Atualmente, a busca por adulterações é realizada por um inspetor humano, por meio de análise visual, uma prática extenuante e não confiável devido à miniaturização dos componentes. Este trabalho apresenta uma abordagem baseada em imagens para apoio ao inspetor humano, detectando re-giões suspeitas em placas de circuito impresso controladoras de bombas de combustível. A abordagem proposta começa com o alinhamento de um conjunto de imagens a uma imagem de referência. Essas imagens podem conter distorções de perspectiva, ruído, e variações de ilu-minação, utilizando técnica de registro de imagens baseada em transformação projetiva planar (homografia), estimada a partir de correspondências obtidas pelo algoritmo Scale-Invariant Fe-ature Transform(SIFT). As imagens alinhadas são particionadas em regiões menores. Essas regiões são manipuladas independentemente. Descritores são extraídos de cada região, com dois algoritmos tendo sido considerados: Histograms of Oriented Gradients (HOG) e uma vari-ação do algoritmo SIFT. Um classificador SVM (Support Vector Machine) é treinado para cada região. As amostras para treinamento foram extraídas de placas em perfeitas condições, porém as amostras adulteradas foram geradas artificialmente. Para a inspeção o objetivo dos clas-sificadores é identificar regiões que diferem significativamente das regiões correspondentes às amostras de treinamento. Isso permite a detecção de adulterações desconhecidas, e não somente aquelas observadas durante o treinamento. Os resultados podem ser integrados e apresentados como um mapa de calor a um inspetor humano, a quem caberá a decisão final sobre a existên-cia de adulterações. Experimentos foram realizados sobre um conjunto contendo 649 imagens de um modelo de placa, incluindo imagens contendo adulterações adicionadas manualmente. Usando descritores SIFT, foi atingida uma precisão de 0, 7739, um recall de 0, 9638, e uma F-measure de 0, 8503, indicando que nossa abordagem pode efetivamente identificar regiões suspeitas, fornecendo ajuda inestimável ao inspetor humano.
Palavras-chave: Detecção automática de adulterações em placas de circuito impresso. De-tecção de fraudes em bombas de combustível. Visão computacional. Registro de imagem. Aprendizado de máquina. Pontos de interesse .
Abstract
OLIVEIRA, Thomas José Mazon de., IMAGE-BASED DETECTION OF MODIFI-CATIONS IN PRINTED CIRCUIT BOARDS FROM FUEL PUMP CONTOLLER. 74 f. Dis-sertação de Mestrado - Programa de Pós-Graduação em Computação Aplicada. Curitiba, 2017.
Frauds involving illegal modifications to fuel pumps harm customers and collaborate with crimes such as money laundering and tax evasion. Currently, the search for adulterations is performed by a human inspector through visual analysis, a tiring and unreliable practice due to the miniaturization of components. This paper presents an image-based approach to support the human inspector, detecting suspect regions on printed circuit boards for fuel pump con-trollers. The proposed approach begins with the alignment of a dataset of images, which may contain perspective distortions, noise, and illumination variations, to a reference image, using an image registration technique based on a planar projective transformation (homography), es-timated from matches obtained by the Scale-Invariant Feature Transform (SIFT) algorithm. Aligned images are partitioned into regions, which are manipulated independently. Descriptors are extracted from each region, considering two algorithms: Histograms of Oriented Gradients (HOG) and a variation of the SIFT algorithm. An SVM classifier (Support Vector Machine) is trained for each region, using samples with and without tampering. Samples were extracted from perfect condition plates, with adulterated samples having been generated artificially. Du-ring inspection, the classifiers look at the input images by regions that differ significantly from the regions corresponding to the training samples. That allows the detection of unknown adul-terations, not just those observed during training. The results can be integrated and presented as a heatmap to a human inspector, who has the final decision on the presence of adulterations. Experiments were performed on a dataset containing 649 images of a plate model, including images containing modification manually added. Using SIFT descriptors, was achieved a pre-cision of 0.7739, a recall of 0.9638 and an F-measure of 0.8503 when we try to maximize the F-measure, indicating that our approach can effectively identify suspicious regions, providing invaluable help to the human inspector.
Keywords: Image-based detection of modifications in printed circuit boards. Fraud detection in fuel pumps. Computer vision. image registration. machine learning. Points of interest .
Lista de Figuras
1.1 Exemplo de PCI contendo adulteração. A região destacada e ampliada mostra
um cabo estreito entre dois componentes. Fonte: Autoria própria. . . 18
1.2 Etapas da abordagem proposta. Fonte: Autoria própria. . . 20
2.1 Exemplo de oitavas. Cada oitava tem 5 imagens. Cada imagem é for-mada pelo aumento da “escala” (a quantidade de suavização). O con-junto de imagens forma uma pirâmide Gaussiana. Fonte: Adaptado de http://aishack.in/tutorials/sift-scale-invariant-feature-transform-scale-space/. . . 26
2.2 Processo de construção das imagens resultantes da Diferença de Gaussianas DoG. Fonte: Adaptado de [Lowe, 2004]. . . 27
2.3 Detecção de extremos no espaço de escala. Fonte: Adaptado de [Lowe, 2004]. . 27
2.4 Exemplo de detecção de pontos de interesse. Visão aproximada de uma região da PCI. Fonte: Autoria própria. . . 28
2.5 Determinação da orientação principal do ponto de interesse. Fonte: Adaptado de [Lowe, 2004] . . . 28
2.6 Mapa de gradientes para n = 2 regiões e k = 4 pixels. Fonte: Adaptado de [Lowe, 2004]. . . 29
2.7 Exemplo de casamento de pontos de interesse entre duas imagens utilizando o algoritmo SIFT. Fonte: Autoria própria. . . 30
2.8 Mapeamento de pontos entre dois planos. Fonte: Adaptado de [Hartley and Zisserman, 2003] . . . 32
2.9 Hiperplano de separação ótimo. Fonte: Adaptado de [Gunn, 1998]. . . 35
4.1 Etapas da abordagem proposta. Fonte: Autoria Própria. . . 40
4.2 Exemplo de um modelo PCI após registro. Fonte: Autoria Própria. . . 42
4.3 Exemplo particionamento de regiões. (a) com sobreposição (b) sem sobreposi-ção. Fonte: Autoria própria. . . 43
4.4 Exemplo resultado particionamento com sobreposição de região. Fonte: Auto-ria própAuto-ria. . . 44
4.5 Exemplo resultado particionamento sem sobreposição de região. Fonte: Autoria própria. . . 44
4.6 Exemplo de região a ser descartada. Fonte: Autoria própria. . . 45
4.7 Exemplo de amostra positiva gerada artificialmente. Fonte: Autoria própria. . . 46
4.8 Resultado final, codificado como um “mapa de calor”. Fonte: Autoria própria. . 47
5.1 Técnica utilizando divisão das regiões SEM sobreposição. (a até c) exemplo de região sem modificação. (d até f) respectiva região contendo modificação. . . . 50
5.2 Técnica utilizando divisão das regiões COM sobreposição. (a até c) região sem modificação. (d até f) respectiva região contendo modificação. . . 51
Lista de Figuras 10
5.3 Exemplo de amostra de uma região descartada por conter mais de 50% de pixels preto vindos de fora da imagem original não registrada. Fonte: Autoria própria. 51 5.4 Projeto do sistema de captura de imagens. Na imagem uma visão aérea do
sistema, compreendendo suas dimensões. Fonte: Autoria própria. . . 52 5.5 Projeto do sistema de captura de imagens. Fonte: Autoria própria. . . 52 5.6 Técnicas empregadas para divisão entre região. Fonte: Autoria própria. . . 53 5.7 Técnica utilizando divisão das regiões COM sobreposição. (a até c) região sem
modificação. (d até f) respectiva região contendo modificação. Fonte: Autoria própria. . . 54 5.8 Estrutura da Matriz de Confusão. Fonte: Autoria própria. . . 56 5.9 Gráficos dos resultados em nível global utilizando a técnica de separação de
regiões com passo de 128 × 128 e descritores HOG. Fonte: Autoria própria. . . 58 5.10 Gráficos dos resultados para a melhor região [18-2] utilizando a técnica de
se-paração de regiões com passo de 128 × 128 e descritores HOG. Fonte: Autoria própria. . . 58 5.11 Gráficos dos resultados para a pior região [24-17] utilizando a técnica de
sepa-ração de regiões com passo de 128 × 128 e descritores HOG. Fonte: Autoria própria. . . 59 5.12 Regiões que obtiveram melhor e pior resultado utilizando a técnica de separação
de regiões com passo de 128 × 128 e descritores HOG. Fonte: Autoria própria. 59 5.13 Gráficos dos resultados em nível global utilizando a técnica de separação de
regiões com passo de 128 × 128 e descritores SIFTb. Fonte: Autoria própria. . 60 5.14 Gráficos dos resultados para a melhor região [18-2] utilizando a técnica de
se-paração de regiões com passo de 128 × 128 e descritores SIFTb. Fonte: Autoria
própria. . . 60 5.15 Gráficos dos resultados para a pior região [24-17] utilizando a técnica de
sepa-ração de regiões com passo de 128 × 128 e descritores SIFTb. Fonte: Autoria
própria. . . 61 5.16 Regiões que obtiveram melhor e pior resultado utilizando a técnica de separação
de regiões com passo de 128 × 128 e descritores SIFTb. Fonte: Autoria própria. 61
5.17 Gráficos dos resultados em nível global utilizando a técnica de separação de regiões com passo de 256 × 256 e descritores HOG. Fonte: Autoria própria. . . 62 5.18 Gráficos dos resultados para a região [13-4] com melhor resultado utilizando
a técnica de separação de regiões com passo de 256 × 256 e descritores HOG. Fonte: Autoria própria. . . 62 5.19 Gráficos dos resultados para a região [9-1] com pior resultado utilizando a
téc-nica de separação de regiões com passo de 256 × 256 e descritores HOG. Fonte: Autoria própria. . . 63 5.20 Regiões que obtiveram melhor e pior resultado utilizando a técnica de separação
de regiões com passo de 256 × 256 e descritores HOG. Fonte: Autoria própria. 63 5.21 Gráficos dos resultados em nível global utilizando a técnica de separação de
regiões com passo de 256 × 256 e descritores SIFTb. Fonte: Autoria própria. . 64
5.22 Gráficos dos resultados para a região [12-7] com o melhor resultado utilizando a técnica de separação de regiões com passo de 256 × 256 e descritores SIFTb.
5.23 Gráficos dos resultados para a região [12-9] com pior resultado utilizando a técnica de separação de regiões com passo de 256 × 256 e descritores SIFTb.
Fonte: Autoria própria. . . 65 5.24 Regiões que obtiveram melhor e pior resultado utilizando a técnica de separação
Lista de Tabelas
5.1 Resultados da aplicação das técnicas - resultado geral . . . 66
5.2 Resultados da aplicação das técnicas - melhor região . . . 66
5.3 Resultados da aplicação das técnicas - pior região . . . 66
Lista de Abreviações
AG Algoritmo Genético
ANP Agência Nacional do Petróleo, Gás Natural e Biocombustíveis AOI Automatic Optical Inspection
AM Aprendizado de Máquina CI Circuito Integrado DoG Difference of Gaussian FN Falso Negativo
FP Falso Positivo
GP Genetic Programming
HOG Histogram of Oriented Gradients IA Inteligência Artificial
INMETRO Instituto Nacional de Metrologia, Qualidade e Tecnologia IPEM Instituto de Pesos e Medidas
LBP Local Binary Pattern
OpenCV Open Source Computer Vision PCA Principal component analysis PCI Placas de Circuito Impresso
PPGCA Programa de Pós-Graduação em Computação Aplicada RANSAC Random Sampling Consensus
ROI Region of Interest - Região de Interesse SIFT Scale Invariant Feature Transform SURF Speeded Up Robust Features SVM Support Vector Machines
TEA Teoria de Aprendizado Estatístico TFT Thin-Film Transistor
UTFPR Universidade Tecnológica Federal do Paraná VN Verdadeiro Negativo
Sumário
1 Introdução 16 1.1 Motivação e justificativa . . . 16 1.2 Objetivos . . . 19 2 Fundamentação Teórica 22 2.1 Imagem digital . . . 222.2 Inspeção automática de placas de circuito impresso . . . 22
2.3 Descritores . . . 23
2.4 Scale-Invariant Feature Transform(SIFT) . . . 24
2.5 Histogram of Oriented Gradients(HOG) . . . 31
2.6 Matriz de homografia . . . 31
2.7 Registro de imagens . . . 32
2.8 RANdom SAmple Consensus(RANSAC) . . . 33
2.9 Aprendizado de máquina . . . 33 2.10 Classificador SVM . . . 34 2.11 Discussão . . . 35 3 Trabalhos relacionados 37 3.1 Discussão . . . 39 4 Abordagem Proposta 40 4.1 Imagens de entrada . . . 40 4.2 Registro de imagem . . . 41 4.3 Particionamento . . . 41 4.4 Extração de características . . . 43 4.5 Classificação . . . 45
4.6 Integração dos resultados . . . 47
4.7 Discussão . . . 47
5 Experimentos 49 5.1 Open Source Computer Vision(OpenCV) . . . 49
5.2 Base de imagens . . . 49
5.3 Metodologia de experiência . . . 53
5.4 Validação dos resultados . . . 55
5.5 Métricas para avaliação . . . 55
5.6 Resultados . . . 57
5.7 Discussão . . . 66
Sumário 15
6 Conclusão 68
6.1 Considerações finais . . . 69 6.2 Trabalhos futuros . . . 70
Capítulo 1
Introdução
O problema abordado nesta dissertação consiste na detecção automática de não-conformidades em placas de circuitos impressos (PCI) controladoras de bomba de combustível como, por exemplo, a presença/ausência de componentes eletrônicos, ou a troca de componen-tes. Este problema está relacionado com a área de conhecimento denominada Visão de Compu-tacional e, quando aplicadas ao Controle de Qualidade, as técnicas tornam-se parte integrante dos Sistemas de Inspeção Automatizada [Newman and Jain, 1995].
Apesar da importância, a inspeção visual realizada por um agente humano apresenta acentuada diminuição de sua eficiência com o passar do tempo do ato de inspeção. Moganti et al. (1996) e Hilton et al. (1994) apontam que erros de identificação na ordem de 50% são fre-quentes. Diante disto, além do interesse em aumentar a confiabilidade da inspeção, há também o aspecto de maior agilidade na execução da inspeção de PCI de bombas de combustíveis.
1.1
Motivação e justificativa
A principal motivação deste trabalho é o desenvolvimento de um método automati-zado que auxilie o fiscal (agente fiscaliautomati-zador humano) na inspeção das placas eletrônicas con-troladoras de bomba de combustível durante a ação em campo. Tal método é baseado em uma abordagem que utiliza técnicas de visão computacional, capaz de de apontar regiões suspeitas da placa, mesmo que nessa região exista um elevado número de componentes, permitindo que o fiscal concentre seus esforços e atenção em regiões especificas ao invés de considerar a placa como um todo, diminuindo o tempo necessário para a inspeção, além de diminuir a quantidade de erros provenientes da a fadiga associada ao processo manual e exaustivo de inspeção visual. Atualmente a sociedade moderna é altamente dependente de combustíveis derivados de petróleo, principalmente para o abastecer de seus veículos de transportes. No Brasil, onde o principal sistema de transporte é o rodoviário1, o número de veículos em circulação aumenta a cada ano, tornando um posto de combustível um negócio altamente lucrativo e rentável. Po-rém, a carga tributária incidente sobre o setor de combustíveis (produção, distribuição, venda, e outros) pode chegar à 66% do preço do produto, transformando o setor em uma das principais fontes de arrecadação para o governo. Contudo, este cenário também abre espaço para vários tipos de fraudes. O primeiro tipo de fraude que geralmente vem a mente das pessoas é a adul-teração química, isto é, adição de elementos químicos na composição dos produtos, como por
1http://www.transportes.gov.br/transporte-rodoviario-relevancia.html
1.1 Motivação e justificativa 17
exemplo: adição de etanol (superior ao permitido que é de 27%) ou metanol2 à gasolina ou então, uma forma mais simples e menos perigosa que é a adição de água ao etanol. Este tipo de adulteração pode ser facilmente descoberta, obrigando os criminosos a migrarem e desenvolver novas formas de enganar suas vítimas.
Atualmente, o tipo mais comum de fraude encontrada em postos de gasolina brasilei-ros é volumétrico. Fraudes volumétricas se apresentam em duas variações: (i) cobrar por um volume de combustível incorreto, isto é, durante o abastecimento, a bomba registra uma quan-tidade maior em comparação ao volume de combustível real preenchido no tanque do veículo; ou (ii) adquirir combustível sem emissão da nota fiscal, ou seja, a operação é invisível para o departamento de tributação do governo, o que torna esta última a preferida dos criminosos por ser mais lucrativa, uma vez que o posto de gasolina recebe o pagamento proporcional ao volume ilícito vendido e o governo não consegue emitir a tributação adequadamente.
Para melhor compreensão do problema é preciso entender como os combustíveis co-mercializados pelos postos são tributados. A venda de combustíveis é tributada sobre o regime de substituição tributária que consiste no pagamento dos tributos no momento da aquisição do produto do distribuidor e não na emissão da nota fiscal ao consumidor.
Entretanto independente do método utilizado, ao final, será necessário ocultar a dife-rença no volume de combustível registrado, uma vez que durante uma fiscalização é realizada a conferência da quantidade volumétrica vendida — cuja informação está armazenada na própria bomba de combustível — em comparação com a quantidade adquirida e previamente registrada junto ao órgão fiscalizador responsável.
Nos últimos anos durante as fiscalizações, auditores do Instituto de Pesos e Medidas (IPEM)3 e do Instituto Nacional de Metrologia, Qualidade e Tecnologia (INMETRO)4 desco-briram modificações ilegais em placas de circuito impresso (PCI) que controlam a bomba de combustível. Estas modificações possibilitam a manipulação/alteração dos valores registrados na memória interna contida na PCI da bomba. Essas modificações incluem a substituição de componentes por outros que possuem funcionalidades extras; modificações em componentes originais capazes de alterar o comportamento original do sistema; e até a substituição completa da placa por outra placa não certificada (e ilegal) denominada clone.
Atualmente o processo de inspeção das PCIs controladoras das bombas de combustí-vel é feito por uma simples verificação visual realizada por um ser humano, que inspeciona a placa buscando encontrar elementos suspeitos (e.g. componentes). Um fator que agrava esta si-tuação é que os inspetores responsáveis em muitas vezes, não possuem formação na área
eletrô-2Metanol: também conhecido como álcool metílico, é um composto químico com fórmula química CH3OH.
Líquido, inflamável, possui chama invisível, fundindo-se a cerca de -98
Efeitos adversos a saúde humana: a ingestão, mesmo de pequenas quantidades (30 a 100 ml) pode causar ce-gueira ou morte. Os efeitos de doses sub-letais podem ser náuseas, dores de cabeça, dores abdominais, vômitos e perturbações visuais, desde visão enevoada à sensibilidade à luz. Inalação de concentrações altas: irritação das membranas mucosas, dores de cabeça, sonolência, náuseas, vertigens, cefaléias, narcotismo, fracasso respiratório, pressão baixa, depressão do SNC, confusão, perda de consciência, perturbações digestivas e visuais e morte. Altas concentrações de vapor ou contato com o líquido: irritação dos olhos, lacrimejar e queimaduras. Pode ser absor-vido através da pele em quantidades tóxicas ou letais.
Fonte: Universidade de São Paulo - USP, CIPA, 2016.
3IPEM - agência governamental responsável pelas perícias técnicas de métodos de medição, instrumentos de
medição e medidas materializadas
4INMETRO - agência governamental responsável por verificar a observância das normas técnicas e legais, no
1.1 Motivação e justificativa 18
nica e, mesmo quando possuem a formação, não possuem conhecimento específico ao contexto do problema. Buscando minimizar o problema e aumentar a acertabilidade, os profissionais responsáveis recebem treinamentos.
Durante fiscalização quando existe suspeita de adulteração, a placa é então removida e encaminhada para uma segunda análise desta vez mais aprofundada, realizada em um labora-tório de perícia oficial, onde a placa suspeita é comparada a uma outra placa original em perfeito estado. Ao constatar-se qualquer tipo de modificação ilegal, ações legais são tomadas. A figura 1.1 apresenta um exemplo de modificação onde é possível verificar a dificuldade em identificar as modificações devido à grande quantidade de pequenos componentes na PCI.
Figura 1.1: Exemplo de PCI contendo adulteração. A região destacada e ampliada mostra um cabo estreito entre dois componentes. Fonte: Autoria própria.
Neste trabalho será apresentada uma abordagem de inspeção baseada em imagens para detecção automática de adulterações em PCIs controladoras de bombas de combustível. É importante ressaltar que embora este trabalho tenha o foco em PCIs controladoras de bombas de combustível, a abordagem também é aplicável em outros cenários de características seme-lhantes.
——————-1.2 Objetivos 19
1.2
Objetivos
1.2.1
Objetivos gerais
O objetivo principal deste trabalho é propor um novo método automatizado para ins-peção de PCIs controladoras de bombas de combustível baseada em imagens. O trabalho é focado na melhoria do desempenho na localização e constatação de fraudes em comparação às técnicas atuais, levando em consideração o desempenho computacional e a capacidade de utilização do sistema proposto durantes fiscalização em campo. Esse trabalho visa contribuir na tomada de decisão, visando melhorar a acurácia e a confiabilidade das perícias.
1.2.2
Objetivos específicos
• Propor e avaliar técnicas de detecção automatizada de adulterações em PCIs controladoras de bomba de combustível.
• Testar e avaliar técnicas de aprendizado de máquina para o reconhecimento de adulte-rações em PCIs, visando buscar uma técnica robusta, capaz de superar problemas de iluminação e perspectiva.
• Avaliar as técnicas de classificação em situações onde há variação de iluminação e pers-pectiva.
• Propor um método que englobe a união de técnicas de detecção e de classificação.
1.2.3
Visão geral
Os trabalhos encontrados com o tema de inspeção de PCI estão, em sua grande mai-oria, divididos em duas abordagens: focado em localizar problemas na linha de montagem dos equipamentos eletrônicos ou identificação de falhas no processo de solda dos componentes. Nesses trabalhos ou a inspeção é realizada sobre a placa “nua”, isto é, sem componentes, ou então na localização de componentes ausentes, o que exige o pré-cadastramento de cada com-ponente a ser localizados, o que limita a utilização.
A abordagem seguirá os passos apresentados na figura 1.2.
Para a execução do trabalho, foi necessário o desenvolvimento de uma base de ima-gens consistente e de alta quantidade de dados para o treinamento dos classificadores. Mesmo não sendo necessário uma grande quantidade de imagens para o treinamento eficiente de uma SVM, os exemplos contidos nas bases de dados encontradas na literatura não possuíam as ca-racterísticas esperadas e desejadas, que se aproximassem das encontradas em situações reais.
Inicialmente a imagem de entrada é alinhada para uma perspectiva próximo a ima-gem referência. Referência é uma imaima-gem de uma placa de mesmo modelo ao analisado, em uma posição considerada ideal, isto é, onde seja possível visualizar o máximo de elementos e detalhes da placa. Isso é feito usando o popular método SIFT [Lowe, 2004] e um algoritmo de registro de imagem padrão [Szeliski, 2010], descrito na Sec. 4.2.
Após alinhada, a imagem é então particionada em regiões menores e para cada re-gião, um descritor de características é extraído. Para a extração dos descritores, utilizou-se as técnicas: Histograma de Gradientes Orientados (HOG do inglês Histogram of Oriented Gradi-ents) [Dalal et al., 2006]. Esses descritores então são classificados pela máquinas de vetores de
1.2 Objetivos 20
Figura 1.2: Etapas da abordagem proposta. Fonte: Autoria própria.
suporte (SVM, do inglês Support Vector Machines) [Chang and Lin, 2011], que foram previa-mente treinados para detectar características que diferem muito das encontradas em uma placa não modificada. O resultado de cada região pode ser integrado para ser apresentado ao inspetor humano.
1.2.4
Contribuições
Este trabalho contribui propondo novos métodos para a construção de um sistema de inspeção automatizado capaz de identificar e indicar possíveis adulterações em PCIs. Destaca-mos o grau de liberdade quanto ao modelo e especificação da câmera fotográfica e principal-mente quanto ao posicionamento da câmera (ângulo e distância) para a captura das imagens. Normalmente, neste tipo de abordagem são utilizadas câmeras fotográficas com alta resolução e posicionadas de forma fixa a garantir uma captura sempre na mesma posição. Este traba-lho também contribui com uma base de imagens de placas de circuito impresso prontas para o treinamento de classificadores.
Cabe ressaltar que durante o desenvolvimento deste trabalho, o governo brasileiro aumentou os tributos que incidem sobre os combustíveis derivados de petróleo, com o objetivo de cobrir um buraco nas receitas públicas. Este fato contribui ainda mais para que mais e novas fraudes sejam descobertas.
Adicionalmente um artigo intitulado Detecting Modifications in Printed Circuit Bo-ards from Fuel Pump Controllers, baseado na abordagem descrita nesta dissertação, foi elabo-rado e aceito para apresentação no evento 30th Conference on Graphics, Patterns and Images — SIBGRAPI 2017 (Qualis B1). Além disso, um pedido de registro de patente de invenção junto ao Instituto Nacional da Propriedade Industrial (INPI) está sendo elaborado.
1.2.5
Estrutura do trabalho
Este trabalho organiza-se da seguinte forma. A fundamentação teórica (capítulo 2) apresenta os conhecimentos relativos aos conceitos das técnicas utilizadas neste trabalho, como SIFT e registro de imagem, características HOG e SVM. O capítulo 3 apresenta o Estado da Arte, evidenciando trabalhos relacionados ao tema de identificação automática de adulterações
1.2 Objetivos 21
de componentes em PCI, destacando as metodologias empregadas em cada trabalho. No ca-pítulo 4, está descrito a abordagem proposta detalhadamente, onde são descritos o contexto e quais as técnicas desenvolvidas neste trabalho. O capítulo 5 descreve os experimentos realiza-dos, apresentando os resultados obtidos para serem discutirealiza-dos, analisados e em seguida registrar as devidas considerações. Por fim, no capítulo 6 conclui o documento apresentando as conclu-sões gerais deste trabalho e propõe possibilidades de diferentes abordagens para para trabalhos futuros.
Capítulo 2
Fundamentação Teórica
Os principais conceitos necessários, além de uma contextualização para melhor com-preensão deste trabalho, são apresentados neste capítulo. Após a definição de uma notação para representar imagens, discutimos o problema da inspeção automática de placas de circuito im-presso (PCI). Em seguida, são apresentadas diversas técnicas que serão utilizadas no sistema de inspeção automatizada.
Definiremos o conceito de descritor, e em seguida descrevemos dois algoritmos para a extração de descritores: SIFT (Scale-Invariant Feature Transform) e HOG (Histogram of Orien-ted Gradients). Na sequência, explicaremos a aplicação de transformações projetivas através de matrizes de homografia, o seu emprego no registro de imagens, e o RANSAC (Random Sam-pling Consensus), um algoritmo para registro baseado no casamento de pontos de interesse. Por fim, apresentaremos o conceito de aprendizado de máquinas, e as SVMs (Support Vector Machines), uma abordagem que pode ser usada para classificação de descritores extraídos de imagens.
2.1
Imagem digital
Uma imagem digital pode ser definida como uma função discreta bidimensional f(x, y), onde (x, y) são as coordenadas espaciais, e o valor de f representa a intensidade ou nível de cinza do ponto na imagem, também chamado de pixel [Ballard and Brown, 1982]. Em uma imagem colorida que possui mais de um canal de cor temos uma função representando cada canal, como no padrão RGB (Red, Green, Blue).
Em grande parte deste trabalho, serão consideradas imagens em escala de cinza, com cada pixel sendo representado por um número de ponto flutuante de 32 bits, com 0 represen-tando o preto e 1 o branco. Esta representação permite que se manipulem valores negativos e maiores que 1, e com uma precisão maior do que seria possível se fosse usada, por exemplo, a representação clássica com um inteiro de 8 bits por pixel.
2.2
Inspeção automática de placas de circuito impresso
As técnicas de inspeção automática de placas de circuito impresso podem ser dividi-das em duas classes: métodos com contato e métodos sem contato [Moganti et al., 1996]. Os métodos sem contato são baseados em diferentes tecnologias, e as mais utilizadas são:
2.3 Descritores 23
ção por raio-X, laminografia, inspeção acústica, inspeção térmica e inspeção automática visual. Métodos com contato são utilizados apenas para encontrar erros de curto circuito ou circuito aberto. Outro porém é o custo necessário para se inspecionar uma placa utilizando métodos elétricos, pois quando se envolve uma engenharia de precisão, os acessórios necessários para se avaliar uma PCI são caros e complexos.
Este trabalho concentra-se na inspeção automática visual, que é realizada através da análise de imagens visando a identificação de falhas em superfície, ou seja, não é possível identificar defeitos internos de componentes, ou escondidos [Savage et al., 1993].
Nos últimos anos, várias técnicas inovadoras de processamento de imagem e clas-sificação foram aplicadas para resolver problemas de inspeção mais críticos na indústria de engenharia e fabricação de precisão [Huang and Pan, 2015]. Os sistemas atuais de inspeção podem ser categorizados em:
• Métodos de projeção: o conceito básico está em modelar a correlação entre amostras de aprendizagem e determinar um espaço mais discriminatório para representar essas amos-tras [Huang and Pan, 2015]. Um exemplo de aplicação é a análise de componentes prin-cipais (PCA, do inglês Principal Component Analysis), utilizada por [Lu and Tsai, 2005] durante inspeção de defeitos em superfície de painéis Thin-Film Transistor (TFT) que causaram falhas visuais e elétricas.
• Abordagem baseada em aprendizagem: são desenvolvidos com aprendizado de máquina e algoritmos de reconhecimento de padrão. Os algoritmos de aprendizagem mais utilizados são redes neurais artificiais, algoritmos genéticos (AG) e máquinas de vetores de suporte (SVM) [Huang and Pan, 2015].
• Métodos híbridos: são sistemas que combinam vários tipos de técnicas de inspeção para realizar tarefas complexas. [Chen et al., 2013] utiliza uma abordagem de inspeção em duas etapas para implementar um sistema de inspeção: um algoritmo de alinhamento de imagem foi adotado inicialmente e uma abordagem híbrida combinando diferença de imagem adaptativa e estratégia de regras de projeto foram utilizados para detectar defeitos de chips de semicondutores.
A abordagem proposta no presente trabalho pode ser classificada como método hí-brido, visto que para alcançar o objetivo proposto, diversas técnicas são combinadas, como: alinhamento de imagem, extração de características e aprendizado de máquina.
2.3
Descritores
Descritores são vetores que codificam características de uma imagem ou de deter-minadas regiões de uma imagem, e que podem ser usados para se comparar imagens dife-rentes. Estes vetores de características podem ser divididos em descritores locais ou globais [Zhang and Lu, 2004].
Um descritor local se manisfesta como um padrão dentro da imagem que difere de sua vizinhança. Propriedades que podem ser usadas para determinar esta diferença incluem intensidade, cor ou textura, podendo ser representadas por pontos de interesse, bordas ou trechos da imagem [Bay et al., 2008].
2.4 Scale-Invariant Feature Transform (SIFT) 24
Descritores globais têm a propriedade de generalizar uma imagem inteira com apenas um vetor de características [Lisin et al., 2005]. Geralmente algoritmos que extraem informa-ções globais tendem a ser mais rápidos e simples, e com boa tolerância a ruídos. Contudo, características globais localizam poucos detalhes e são ineficientes quando a imagem sofre al-guma alteração em sua perspectiva [Grauman and Leibe, 2011].
Descritores representam quantidades que possam ser medidas, como intensidade de luz, gradientes locais, características estatísticas, e momentos [Krig, 2014]. Dentre os métodos mais conhecidos encontram-se o SIFT (Scale-Invariant Feature Transform) [Lowe, 2004] e o SURF (Speeded Up Robust Features) [Bay et al., 2008].
Neste trabalho, serão considerados descritores locais, extraídos utilizando as técnicas SIFT (Scale Invariant Feature Transform - Sec. 2.4) e HOG (Histogram of Oriented Gradients - Sec.2.5) [Dalal et al., 2006].
2.4
Scale-Invariant Feature Transform (SIFT)
O algoritmo SIFT (Scale Invariant Feature Transforms) foi proposto por Lowe para a extração de características de modo a possibilitar a correspondência de pontos e objetos sobre diferentes pontos de perspectiva, após terem sofrido alguma transformação, seja na escala, rota-ção ou iluminarota-ção [Lowe, 2004]. As características de invariância a rotarota-ção e escala, e robustez a variações de iluminação e perspectiva, tornaram o algoritmo bastante reconhecido.
Descritores obtidos com o SIFT são altamente distintivos, ou seja, um determinado ponto pode ser corretamente encontrado com alta probabilidade em um banco de imagens. Um aspecto importante do SIFT é a geração de um número grande de descritores que conseguem cobrir densamente uma imagem em diferentes escalas e localizações. A quantidade de descri-tores é particularmente importante para o reconhecimento de objeto, já que a capacidade de se encontrar pequenos objetos em ambientes desordenados requer ao menos 3 pontos encontrados para uma identificação confiável [Silveira et al., 2011].
O algoritmo SIFT baseia-se nas etapas de detecção de pontos de interesse, atribui-ção de orientaatribui-ção aos descritores, e construatribui-ção de descritor local para os pontos de interesse. As próximas subseções descreverão estas etapas. Neste trabalho, SIFT foi utilizado em dois momentos: durante o processo de registro de imagem (Sec. 4.2), onde utilizou-se o algoritmo completo e, posteriormente uma versão modificada que não inclui a detecção de pontos de in-teresse nem os ajustes que garantem invariância a escala e rotação. Nesta seção, descrevemos o algoritmo completo. A versão modificada da técnica será descrita em detalhes na Seção 4.4.
2.4.1
Detecção de pontos de interesse
No primeiro passo do algoritmo SIFT, são identificados pontos de interesse, que con-sistem em regiões da imagem que são, de forma geral, mais claras ou mais escuras que os seus arredores.
A partir de uma imagem de entrada i(x, y), novas versões da imagem são geradas pela aplicação sucessiva de um filtro de suavização Gaussiano, g(x, y, σg), conforme mostra a
equação 2.1, onde σg denota o desvio padrão do filtro Gaussiano e define a escala ou nível da
imagem filtrada f (x, y, σg):
2.4 Scale-Invariant Feature Transform (SIFT) 25
onde:
• f é a imagem filtrada;
• g é o operador de suavização Gaussiano; • i é a imagem de entrada;
• x, y são as coordenadas de localização;
• σ é o parâmetro escala. Quanto maior o valor, maior será a suavização;
• * é a operação de convolução em x e y. Ela “aplica” a suavização Gaussiana g na imagem i.
O conjunto de imagens resultantes é chamado de oitava. Seguidamente, uma destas imagens tem seu tamanho reduzido à metade e serve de entrada para a próxima oitava. O processo pode ser repetido várias vezes até que se obtenha o número de oitavas desejado (Fig. 2.1).
A utilização da função Gaussiana tem o objetivo de obter amostras onde detalhes indesejados são suavizados ou eliminados e características fortes são realçadas. A variação de σgpermite encontrar tais características em diferentes escalas.
Depois da geração da pirâmide de Gaussianas, em cada oitava é calculada a diferença entre imagens filtradas com escalas variadas por uma constante k. Esta operação é implemen-tada usando uma função DoG (Difference of Gaussians) definida pela Eq. 2.2 onde kσ g e σ g representam escalas adjacentes da pirâmide Gaussiana e o resultado da aplicação da equação é a chamada pirâmide de diferença de Gaussianas, mostrada na Fig. 2.2.
d(x, y, σg) = f (x, y, kσg) − f (x, y, σg) (2.2)
O próximo passo é detectar valores de máximo ou mínimo locais em cada nível da pirâmide ou cada d(x, y, σ ), que podem ser obtidos comparando-se a intensidade de cada ponto com as intensidades de seus oito vizinhos na sua escala, com os nove pontos vizinhos na es-cala superior, e os nove vizinhos na eses-cala inferior, representados na Figura 2.3, onde o ponto marcado com “X” é comparado com seus vizinhos marcados como “O”.
O próximo passo tem o propósito de melhorar a exatidão da localização de cada um dos pontos selecionados no passo anterior. Todos os pontos candidatos encontrados na etapa anterior devem ser ajustados para a localização, escala, usando técnicas de interpolação. Neste passo, também são descartados extremos com valor absoluto muito pequeno, o que indica baixo contraste, e pontos que se localizam sobre bordas, usando a mesma estratégia do detector de cantos de Harris [Harris and Stephens, 1988].
Um exemplo de detecção e localização de pontos de interesse é mostrado na Fig. 2.4
2.4.2
Definição da orientação dos descritores
Nesta etapa, a cada ponto de interesse é atribuída uma orientação correspondente à direção predominante do gradiente em torno do ponto de interesse, que será utilizada mais adiante para se construir descritores invariantes quanto à rotação. Essa invariância é obtida através das características locais da imagem.
2.4 Scale-Invariant Feature Transform (SIFT) 26
Figura 2.1: Exemplo de oitavas. Cada oitava tem 5 imagens. Cada imagem é formada pelo aumento da “escala” (a quantidade de suavização). O conjunto de imagens forma uma pi-râmide Gaussiana. Fonte: Adaptado de http://aishack.in/tutorials/sift-scale-invariant-feature-transform-scale-space/.
Para tanto, seleciona-se a imagem filtrada, f (x, y, σg), no nível da pirâmide Gaussiana
com a escala mais próxima ao ponto de interesse avaliado. A seguir, a magnitude m(x, y) e a orientação θ (x, y) do gradiente na vizinhança em torno de cada ponto são calculados por:
mx= F(x + 1, y) − f (x − 1, y) (2.3) my= F(x, y + 1) − f (x, y − 1) (2.4) m(x, y) = q m2 x+ m2y (2.5)
2.4 Scale-Invariant Feature Transform (SIFT) 27
Figura 2.2: Processo de construção das imagens resultantes da Diferença de Gaussianas DoG. Fonte: Adaptado de [Lowe, 2004].
Figura 2.3: Detecção de extremos no espaço de escala. Fonte: Adaptado de [Lowe, 2004].
θ (x, y) = tan−1(my mx
) (2.6)
Para cada região, monta-se um histograma de orientações do gradiente divido em 10 intervalos, cobrindo todas as orientações possíveis de 0◦a 360◦, como mostrado na Fig.2.5. Na montagem dos histogramas, a contribuição de cada ponto da vizinhança é ponderada por dois pesos. Um é baseado na magnitude (pixels com gradiente fraco contribuem menos no histograma), e o outro na distância para o centro da região (pixels mais próximos do centro contribuem mais). Com esses pesos, o histograma é atualizado.
2.4 Scale-Invariant Feature Transform (SIFT) 28
Figura 2.4: Exemplo de detecção de pontos de interesse. Visão aproximada de uma região da PCI. Fonte: Autoria própria.
Figura 2.5: Determinação da orientação principal do ponto de interesse. Fonte: Adaptado de [Lowe, 2004]
Os picos no histograma de orientação representam as direções dominantes dos gra-dientes locais. Além do pico máximo, também são usados, para definir a orientação, os picos com valor acima de 80% em relação ao maior. Nestes casos, são criadas cópias do ponto de interesse, com diferentes orientações. Finalmente, é possível construir os descritores para cada ponto de interesse definido, que agora possui quatro dimensões: posição em x, posição em y, escala e orientação.
2.4 Scale-Invariant Feature Transform (SIFT) 29
2.4.3
Extração de descritores
Para construir os descritores, inicialmente são calculados os gradientes em uma vizi-nhança ao redor de cada ponto de interesse (Eq. 2.3 e 2.6), os quais são ilustrados com pequenas setas no lado esquerdo da Fig. 2.6. Os gradientes são ponderados por uma janela de suavização Gaussiana com desvio padrão igual à metade da janela do descritor. Esta ponderação evita mu-danças súbitas do descritor causadas por pequenas mumu-danças na posição da janela, e também reduz a ênfase nos gradientes mais afastados do centro da região, que são os mais afetados por erros.
Após recalcular o peso de cada pixel do descritor, a vizinhança em torno do ponto de interesse é dividida em n × n regiões de k × k pixels. Para cada região, monta-se um histograma para 8 direções com base nas magnitudes dos pixeis, a partir do qual o descritor é construído. Para o caso de um conjunto 4 × 4 de histogramas com 8 células de acumuladores, gera-se um vetor resultante de 128 elementos para cada ponto de interesse, conforme mostrado na Fig. 2.6. É importante notar que as orientações dos gradientes são medidas em relação à ori-entação do ponto de interesse. Dessa forma, o uso de direções relativas ao invés de direções absolutas faz com que o descritor seja invariante quanto à rotação. Além disso, o tamanho da região é determinado pela escala do ponto de interesse, tornando o descritor invariante a mudanças de escala.
Figura 2.6: Mapa de gradientes para n = 2 regiões e k = 4 pixels. Fonte: Adaptado de [Lowe, 2004].
Todavia, duas imagens de um mesmo objeto podem possuir variações de luminosidade que modifiquem sensivelmente os descritores obtidos. Para evitar isto, o vetor é normalizado e impõe-se um limiar máximo para que as direções com magnitudes muito acentuadas não prevaleçam na representação do descritor. Depois, valores excessivamente altos são truncados, e o vetor é normalizado novamente. Este passo visa obter a invariância à iluminação.
2.4.4
Casamento de pontos de interesse
A ideia de correspondência de pontos de interesse entre duas imagens é encontrar pontos confiáveis mesmo quando há diferenças de iluminação, rotação e/ou de resoluções, ide-almente, repetido em todas as imagens e também único em cada uma delas, como exemplificado na Figura 2.7. A comparação de pontos é baseada na similaridade dos descritores correspon-dentes. A obtenção de uma solução robusta para o problema da busca de pontos homólo-gos pode ser considerada como um elemento chave na automação das tarefas fotogramétricas [Schenk, 1999].
2.4 Scale-Invariant Feature Transform (SIFT) 30
Figura 2.7: Exemplo de casamento de pontos de interesse entre duas imagens utilizando o algoritmo SIFT. Fonte: Autoria própria.
A correspondência dos pontos de interesse entre imagens é realizada por meio do cálculo da distância entre seus respectivos vetores de características. A métrica de distância normalmente usada é a distância euclidiana, L2, a qual calcula a menor distância (linha reta) entre dois pontos p e q em um espaço n-dimensional [Deza and Deza, 2009] (Eq. 2.7) . Desta forma, a distância entre um vetor e todos os vetores da outra imagem é calculada, o vetor que estiver mais próximo no espaço de características n-dimensional (n depende da dimensão do vetor de características, no caso do SIFT convencional é igual a 128) é escolhido como correspondência.
Para reduzir o número de falsas correspondências, definimos uma distância máxima para uma correspondência, neste trabalho, optamos por selecionar apenas os pontos que estejam a uma distância máxima de 0.6. Também consideramos que a razão entre a distância até o ponto mais próximo e o segundo ponto mais próximo deve ser maior do que um limiar (neste trabalho, consideramos o valor 7 isto ajuda a reduzir o número de correspondências em situações onde há ambiguidades. Desta forma, um par de pontos será considerado correspondente se, simul-taneamente: a distância Euclidiana entre seus descritores for menor que o limiar proposto; e a menor distância Euclidiana em relação à segunda menor distância for maior do que um segundo limiar.
d(p, q) = q
(p1− q1)2+ (p2− q2)2+ ... + (pi− qi)2+ ... + (pn− qn)2 (2.7)
Pelo fato das correspondências serem calculadas automaticamente, é possível que exitam pontos incorretamente correspondidos – outliers.
2.5 Histogram of Oriented Gradients (HOG) 31
2.5
Histogram of Oriented Gradients (HOG)
Histogram of Oriented Gradients(HOG), proposto por [Dalal and Triggs, 2005] é um descritor utilizado para o reconhecimento objetos em imagens. HOG têm como base o trabalho de [Lowe, 2004], porém, ao contrário do SIFT, que calcula os histogramas de gradientes em volta de pontos de interesse invariáveis a escala, o descritor HOG calcula os histogramas de gradientes em uma densa e sobreposta grade de células uniformemente espaçadas na imagem.
O algoritmo HOG divide a imagem a qual se deseja operar em regiões menores, cha-madas células. O tamanho padrão destas células para detecção é de 64 × 128 pixels. O elemento básico para a construção de característica tem 8 × 8 pixels. Assim, uma janela de detecção é dividida em 8 × 16 = 128 células [Zhang et al., 2017].
Para cada uma destas células, um histograma 1-D é computado levando-se em con-sideração as orientações e intensidades dos gradientes, computados da mesma forma que no algoritmo SIFT. As orientações dos gradientes são divididas uniformemente em nove recipien-tes cobrindo 20◦cada. O histograma de orientações de gradiente em uma célula de imagem é calculado levando em consideração as contribuições de todos os pixels na célula. Ao fim do processo, estes histogramas são combinados para que se tenha uma representação de toda a imagem [Gritti et al., 2008].
Com o intuito de melhorar os resultados ao aumentar a invariância da técnica a con-dições de iluminação e contraste, um método de normalização é utilizado, geralmente baseada nos métodos de normalização L1 e L2, considerando os histogramas locais de células adjacen-tes, utilizado o conceito de janelas deslizanadjacen-tes, onde as células são agrupadas em blocos, e que os blocos se sobrepõem entre si.
Além do tamanho das células e dos blocos e do tipo de normalização a ser empregada, outros parâmetros do HOG precisam ser ajustados. Os trabalhos de [Dalal and Triggs, 2005] e [Gritti et al., 2008] destacam aspectos que precisam ser considerados para o uso deste descritor, como o tipo de máscara usada para o cálculo dos gradientes (máscaras 1-D [-1 0 1], filtros de Sobel e Prewitt), faixas do histograma de orientação (sinalizado [180◦] ou não-sinalizado [360◦]) e o percentual de sobreposição entre células.
2.6
Matriz de homografia
Duas imagens de uma mesma cena estão relacionadas por uma homografia, tam-bém chamada de transformação projetiva planar, colineação ou projetividade. A homogra-fia consiste em uma transformação que mapeia os pontos de um plano para outro plano [Hartley and Zisserman, 2003]. A Figura 2.8 ilustra este processo, no qual o ponto p no plano π é mapeado para o seu ponto correspondente p’ no plano π ’.
Um ponto 2D em uma imagem p = (x, y) pode ser representado como um vetor 3D na forma p = (x1, x2, x3) (Eq. 2.8), onde x = xx13 e y = xx23. Esta representação é chamada de
coordenada homogênea. Dada a matriz de homografia H (Eq. 2.9) – uma matriz 3 × 3 não-singular – que descreve o mapeamento de um conjunto de pontos correspondentes pi ↔ p0i
entre dois planos. A homografia entre os planos pode ser escrita em coordenadas homogêneas como p0i= Hpi(Eq. 2.10 [Hartley and Zisserman, 2003].
2.7 Registro de imagens 32
Figura 2.8: Mapeamento de pontos entre dois planos. Fonte: Adaptado de [Hartley and Zisserman, 2003]
p= x1 x2 x3 (2.8) H= h11 h12 h13 h21 h22 h23 h31 h32 h33 (2.9) x01 x02 x03 = h11 h12 h13 h21 h22 h23 h31 h32 h33 x1 x2 x3 (2.10)
2.7
Registro de imagens
O registro de imagens é o processo de alinhamento de duas ou mais imagens da mesma cena capturadas de diferentes ângulos, em diferentes momentos e de diferentes sensores , supe-rando problemas como rotação, escala, inclinação, etc., [Zitová and Flusserv, 2003]. Em termos simples, a ideia é colocar duas ou mais imagens de uma mesma cena ou objeto em um mesmo alinhamento espacial e para tal, utiliza-se uma imagem, denominada referência para compara-ção contra as chamadas de imagens de teste.
Neste trabalho, optou-se pela utilização de um algoritmo baseado em correspondência de pontos de interesse devido a sua capacidade de trabalhar com imagens contendo variações tanto de tamanho, escala e perspectiva, enquanto um algoritmo baseado, por exemplo, em cor-relação de fases funciona somente entre imagens contendo variações de translação e rotação. As etapas foram: detecção de características, onde pontos de interesse são extraídos automati-camente usando o algoritmo SIFT, conforme descrito na Seção 2.4. Em seguida é estabelecida a
2.8 RANdom SAmple Consensus (RANSAC) 33
correspondência entre as características detectadas na imagem de teste e aquelas detectadas na imagem de referência (Sec. 2.4.4). Através destas correspondências é possível estimar a matriz de homografia (Sec. 2.6) utilizada para realizar o alinhamento efetivo da imagem de teste.
2.8
RANdom SAmple Consensus (RANSAC)
O algoritmo RANSAC (RANdom SAmple Consensus) foi proposto por [Fischler and Bolles, 1981] como uma abordagem robusta para extração de dados, pro-jetada para lidar com conjuntos de dados contendo grandes quantidades de observações incorretas (outliers). Neste trabalho, este algoritmo foi usado para estimar uma matriz de homografia (Sec. 2.6) para o registro das imagens. Os conjuntos de dados são as correspon-dências entre os pontos de interesse extraídos pelo algoritmo SIFT (Sec. 2.4) da imagem de referência e das imagens de teste.
A descrição do algoritmo com base em [Derpanis, 2005] é feita a seguir:
1. Selecionar aleatoriamente a menor quantidade de observações necessárias para estimar os parâmetros do modelo matemático. No caso da matriz de homografia, são necessárias 4 correspondências entre pontos de interesse não-colineares.
2. Solucionar os parâmetros do modelo matemático para esse conjunto de dados.
3. Determinar quantos pontos de interesse (zi) do conjunto inicial atendem ao critério
esta-belecido.
4. Se a quantidade de pontos de interesse zifor maior que o conjunto consenso, infere-se que
a solução atual é melhor e deve tomar seu lugar. Caso a iteração atual não for a última, retorna-se ao primeiro passo.
5. Ao atingir o limite de iterações, deve-se estimar por mínimos quadrados os parâmetros do modelo utilizando todos as observações do consenso.
Segundo [Derpanis, 2005], a quantidade de iterações é escolhida como sendo alta o suficiente para garantir, com uma probabilidade p (geralmente selecionada como 0, 99), que ao menos um dos conjuntos de entrada selecionados não contenha pontos incorretos. O RANSAC é um algoritmo não determinístico, no sentido de que ele produz apenas uma resposta aceitável de acordo com uma determinada probabilidade, sendo que a probabilidade cresce à medida que a quantidade de iterações aumenta.
2.9
Aprendizado de máquina
“Um programa de computador “aprende” da experiência E com respeito a uma classe de tarefas T e uma medida de performance P, se sua performance das tarefas T, medida por P, melhora com a experiência E”
2.10 Classificador SVM 34
Aprendizado de máquina, no contexto da Inteligência Artificial, é a disciplina que estuda e desenvolve métodos computacionais que têm a capacidade de aprimorar o seu desem-penho dinamicamente à medida que são aplicados a massas de dados cada vez maiores.
Para problemas de classificação, um sistema de aprendizado pode ser visto como um método que por si só constrói um meio de tomada de decisão, denominado classificador [Monard and Baranauskas, 2003]. Um algoritmo de aprendizado de máquina possui dispo-nível um conjunto finito de exemplos de casos previamente resolvidos, e é capaz de apren-der a representar (ou agrupar) as entradas submetidas segundo uma medida de qualidade [Souto et al., 2003].
Neste trabalho, o conceito de classificação é abordado de forma mais restrita. O pro-blema consiste em desenvolver uma função capaz de atribuir uma classe, entre duas possibilida-des (contém ou não contém adulteração), a cada exemplar. A classificação é realizada com base em um conjunto de descritores de características para cada região de cada um dos exemplares pertencentes ao conjunto de treinamento.
Em aprendizado de máquina, existem duas categorias de métodos: supervisionado e não-supervisionado. Os algoritmos do tipo não-supervisionado analisam exemplos não classi-ficados, com o objetivo de identificar diferenças entres estes, que possibilitem separá-los em agrupamentos diversos, para posteriormente serem analisados a fim de identificar seus seus sig-nificados no contexto do problema. Já no aprendizado supervisionado são dados exemplos já classificados (rotulados). Em nosso trabalho, utilizaremos o método supervisionado, pois du-rante o treinamento sabemos previamente quais os exemplos adulterados e os não adulterados.
2.10
Classificador SVM
O SVM (Support Vector Machines) [Chang and Lin, 2011] é uma técnica de apren-dizado de máquina largamente utilizada na prática para problemas de classificação. Os resul-tados de aplicação dessa técnica são comparáveis e muitas vezes superiores aos obtidos por outros algoritmos de aprendizado, como as redes neurais artificiais. Exemplos de aplicações de sucesso podem ser encontrados em diversos domínios, como na categorização de textos [Joachims, 2002], na análise de imagens [Kim et al., 2002] e em bioinformática [Noble, 2004]. As SVMs são embasadas pela teoria de aprendizado estatístico em problemas de classificação binária, desenvolvida por [Vapnik, 1995] a partir de estudos iniciados em [Vapnik and Chervonenkis, 1971]. Essa teoria estabelece uma série de princípios que devem ser seguidos na obtenção de classificadores com boa generalização, definida como a sua capaci-dade de prever corretamente a classe de novos dados do mesmo domínio em que o aprendizado ocorreu [Lorena and de Carvalho, 2007].
Algumas características que motivam o uso de SVM são:
• Boa capacidade de generalização, ou seja, uma vez que as SVM são apresentadas ao con-junto de treinamento, são capazes de aprender a regra que pode classificar corretamente outro conjunto de objetos [Smola and Bartlett, 2000];
• O uso das chamadas funções kernel torna possível a construção de um hiperplano de separação ótimo no espaço de características;
2.11 Discussão 35
• Possui uma base teórica bem estabelecida na matemática e estatística. Isso faz com que sejam robustas quando lidam com objetos de grandes dimensões, como imagens [Smola and Bartlett, 2000].
O problema de classificação pode ser restrito à análise de um problema binário sem perda de generalidade [Gunn, 1998], onde o objetivo é separar duas classes por uma função que é induzida dos exemplos disponíveis conjunto de treinamento. Esta função, denominada hiperplano de separação deve ter um bom desempenho na separação de exemplos não vistos, isto é, ela deve ter uma boa generalização.
Considere a figura 2.9 onde existem vários hiperplanos que podem separar os dados. Dentre estes hiperplanos, existe somente um que maximiza a margem (distância entre o hiper-plano e o ponto mais próximo de cada classe). Entretanto nem sempre é possível construir um hiperplano de separação sem deparar-se com erros de classificação. No entanto, é possível encontrar um hiperplano ótimo que minimiza a probabilidade de erros de classificação.
Figura 2.9: Hiperplano de separação ótimo. Fonte: Adaptado de [Gunn, 1998].
A SVM faz uso de funções de kernel, responsáveis por mapearem os dados do espaço de entrada para um espaço de características com dimensionalidade muito superior, possibili-tando que os dados não separáveis linearmente tornem-se separáveis no espaço de caracterís-ticas. A ideia de utilização de funções de kernel foi empregada pela primeira vez em 1964, no mesmo período em que Vapnik e Chervonenkis [Vapnik and Chervonenkis, 1971] desenvol-veram a ideia do hiperplano de separação ótima. Este hiperplano separa as diferentes classes, maximizando a margem entre os pontos extremos de cada classe.
2.11
Discussão
Neste capítulo foram apresentados diversos conceitos e técnicas relevantes para o de-senvolvimento de sistemas para inspeção baseada em imagens de placas de circuito impresso. Todos estes conceitos são importantes para o bom entendimento deste trabalho.
Para que haja um alinhamento e melhor compreensão do contexto deste trabalho a Sec. 2.1 traz uma formalização de imagem digital e sua representação. Em seguida a Sec. 2.2 apresenta os trabalho mais relevantes quanto a inspeção automática e as principais técni-cas utilizadas para o desenvolvimento. Uma definição e explicação do que são descritores de características e sua usabilidade é dado na Sec. 2.3.
2.11 Discussão 36
Depois de apresentar os descritores, o passo seguinte é apresentar as técnicas utiliza-das para a extração dos mesmo. Desta forma, são apresentautiliza-das duas técnicas de extração: SIFT (Sec 2.4) e HOG (Sec. 2.5). Os descritores serão utilizados para o alinhamento das imagens (Sec. 2.7) e também no aprendizado de máquina (2.9), para o trenamento do classificador SVM (2.10).
Capítulo 3
Trabalhos relacionados
A seguir são apresentados trabalhos relacionados à inspeção de placas de circuito impresso (PCI), juntamente com uma análise a respeito das limitações observadas. Inúmeros algoritmos de inspeção de PCI fora encontrados na revisão de literatura, mas poucos trabalhos tem como objetivo a inspeção em busca de de modificações ou adulterações em componentes de placas montadas.
Ardhy and Hariadi (2016) apresentam um sistema para detecção de imperfeição em PCI montadas, utilizando um sistema composto por dispositivos de baixo custo, como Rasp-berry PI e Arduino Uno. A posposta realiza a inspeção pela comparação de uma imagem de teste contra uma imagem referência. Em posse da imagem de referência e imagem de teste, o primeiro passo é a conversão das imagens para escala de cinza. Em seguida, aplica-se filtro mediano para remoção de ruídos óticos e também diminuir o efeito de desfocagem quanto a detalhes da imagem. No próximo passo, realiza-se a binarização das imagens utilizando limiar gaussiano adaptativo, porém durante o trabalho, realizam comparação com técnica de detec-ção de bordas Sobel e Canny. Por fim, obtêm-se a diferença por meio de subtradetec-ção simples das imagens. Os autores concluirão que ao utilizar detecção de bordas Sobel, obtiveram me-lhores resultados do que quando foi utilizada a técnica de Canny na identificação de bordas complexas; é importante destacar que ambas as técnicas falharam na detecção de componentes ausentes. Em compensação, com a técnica de Limiar Gaussiano Adaptativo obteve-se sucesso para detectar bordas complexas e também o componente ausente. Neste trabalho, como ponto fraco, esta a obrigatoriedade de se trabalhar com imagens obtidas em mesmo ângulo, posição e iluminação, caso contrario, o simples deslocamento resulta em falsos negativos.
No trabalho de [Xie et al., 2013] é apresentado um software para a inspeção visual capaz de realizar a detecção automática de defeitos em placas de circuito impresso montados. O método baseado em programação genética (GP do inglês Genetic Programming) não requer conhecimento do layout da placa, nem condições de iluminação e características visuais dos componentes. Segundo os autores seus experimentos demonstraram que o software é capaz de identificar todas as falhas, enquanto algumas áreas suspeitas também são destacadas. A me-todologia utiliza um imagem sem defeitos como referência que será comparada as imagens a serem testadas. Para realizar a diferenciação, as imagens precisam estar alinhadas. Possíveis diferenças no alinhamento, não afetam o resultado da GP. A deficiência aqui listada está na utilização da imagem completa como entrada da GP, pois a quantidade de componentes, as-sociada ao tamanho e a distancia entre eles, são considerados excesso de informação para um
38
treinamento preciso. Neste caso, para um descritor ser capaz de classificar diferenças muito pequenas, exigirá um número elevado de dimensões.
Bhardwaj (2012) propôs um algoritmo de Inspeção Óptica Automatizada (AOI do in-glês Automatic Optical Inspection) que realiza medição e detecção de defeitos nos furos (onde os componentes são encaixados, montados e soldados) durante o processo de fabricação da placa, utilizando diferentes etapas e metodologia. A cada imagem inspecionada, filtro de pas-sagem baixa e de destaque de detalhe são aplicados. O próximo passo é a normalização da imagem, transformando os valores dos pixels de 0 a 255 para 0 a 1, isto separa os objetos em consideração do fundo. Para a detecção de defeitos, usa-se morfologia avançada para remover partes indesejadas da imagem. Na imagem resultante aplica-se Funções de Análise de Partículas para detecção de círculo e medição dos furos. Os resultados são dados pela analise em termos do raio dos furos e sua posição na placa, utilizando as coordenadas (x, y). Como pontos fracos nesta abordagem, a principal limitação está em buscar defeitos apenas nos furos de encaixe dos componentes e também a capacidade de trabalhar com imagens de placas desmontadas, isto é, sem qualquer componente anexado.
O trabalho de Zhang, Hong e WU et al., (2010) foca na inspeção de placas monta-das, mais especificamente, no posicionamento dos componentes. Os defeitos são divididos em quatro classes: componente ausente, componente rotacionado, componente deslocado e com-ponente errado. Para reduzir o tempo computacional existe uma etapa de treinamento, na qual é utilizado um classificador bayesiano1para identificar as classes dos componentes, baseando-se na cor (RGB) destes. Essa abordagem é adequada para inspecionar a montagem de PCI que utilizam componentes sem serigrafia. Portanto, componentes do tipo CI (Circuito Integrado) não estão cobertos por esse tipo de técnica.
Em Zong Lin et al. (2009) é proposto um sistema de inspeção baseado no reconhe-cimento de padrões e morfologia matemática de um determinado componente. A etapa de pré-processamento inclui principalmente técnica de filtragem mediana, segmentação baseada no histograma, diminuição de imagens com base em morfologia matemática, também chamado de esqueletização [yun You and chun Wang, 2003], extração de descritores e classificação ba-seada em redes neurais. Para cada técnica, um índice é gerado que servirá como entrada para a rede neural. Como resultado, a rede neural classifica a imagem como contendo: componente correto, ausente, deslocado ou invertido. Uma deficiência da abordagem é que, para cada tipo de componente, é necessário estabelecer-se manualmente uma segmentação tornando esse pro-cesso oneroso. Dentre as várias técnicas testadas, os autores sugerem a utilização de correlação cruzada na primeira etapa, objetivando reduzir a quantidade de falsos negativos. Entretanto, essa técnica é sensível à variações na iluminação, bem como, ranhuras na superfície dos com-ponentes. Outra ressalva é que a classificação baseada em redes neurais é altamente dependente do conjunto de imagens utilizado no treinamento, logo para se obter bons resultados é necessá-rio utilizar um grande conjunto de imagens.
1No aprendizagem de máquina, os classificadores Bayes são uma família de classificadores probabilísticos
simples baseados na aplicação do teorema de Bayes com suposições de independência fortes (ingênuas) entre as características.[Chakrabarti, 2002]