Data-Efficient Graph Embedding Learning for PCB Component Detection

Chia-Wen Kuo

Georgia Institute of Technology

albert.cwkuo@gatech.edu

Jacob D. Ashmore

Georgia Tech Research Institute

jacob.ashmore@gtri.gatech.edu

David Huggins

Georgia Tech Research Institute

david.huggins@gtri.gatech.edu

Zsolt Kira

Georgia Institute of Technology,

Georgia Tech Research Institute

zkira@gatech.edu

Abstract

This paper presents a challenging computer vision task, namely the detection of generic components on a PCB, and a novel set of deep-learning methods that are able to jointly leverage the appearance of individual components and the propagation of information across the structure of the board to accurately detect and identify various types of components on a PCB. Due to the expense of manual data labeling, a highly unbalanced distribution of component types, and significant domain shift across boards, most earlier attempts based on traditional image processing techniques fail to generalize well to PCB images with various quality, lighting conditions, etc. Newer object detection pipelines such as Faster R-CNN, on the other hand, require a large amount of labeled data, do not deal with domain shift, and do not leverage structure. To address these issues, we propose a three stage pipeline in which a class-agnostic region proposal network is followed by a low-shot similarity prediction classifier. In order to exploit the data dependency within a PCB, we design a novel Graph Network block to refine the component features conditioned on each PCB. To the best of our knowledge, this is one of the earliest attempts to train a deep learning based model for such tasks, and we demonstrate improvements over recent graph networks for this task. We also provide in-depth analysis and discussion for this challenging task, pointing to future research.

Problem Description

Goal: Generate a bill of components for a printed circuit board (PCB) and match to design documents, with applications in reverse engineering and validation.

Problem: Detection of individual components on a PCB. ​

  • Input: High-resolution images, which can be 15 megapixels or more in resolution. ​
  • Output: A list of component types and their bounding boxes.​
  • Requires high resolution images, dense annotation (~500 components per PCB), and professional labeling. There are very few high-quality datasets.
  • High intra-class variance and low inter-class variance for certain types of components.
  • Skewed distribution

Approach: Leverage similarity learning and spatial structure through graphs.

PCB Dataset

We develop, annotate, and release a dataset with

a) 47 high-resolution images

b) 31 component types

c) ~62k component instances.

The distribution is extremely skewed with most of the components being resistors, capacitors, and connectors.

Example of high intra-class variance.

Examples of low inter-class variance.

There is a high intra-class variance, where components are the same but look very different due to the large variety of types available.

There is also low inter-class variance, where components that are different look very similar due to similar packaging.

Proposed Method

We seek to leverage additional information through graphs:

1. Capture the spatial regularities in component layouts.

2. Capture the global statistics of the whole board.

3. Incorporate one template per type in query board within graph

> Refine the feature of object proposals based on these additional sources of information.

> Everything is learned and jointly optimized including graph edges and node features.

> Typical graph convolution networks require fixed, known connectivity. Instead we use similarity prediction to initialize the connectivity and then further optimize it.

Please see our paper for more details.

Results




Blue: correct type and precise bounding box location

Cyan: imprecise bounding box location

Magenta: miss-detected component

Yellow: precise bounding box location but wrong type

Citation

@inproceedings{kuo2019data,
    title = {Data-Efficient Graph Embedding Learning for PCB Component Detection},
    author = {Kuo, Chia-Wen and Ashmore, Jacob and Huggins, David and Kira, Zsolt},
    booktitle={2019 IEEE Winter Conference on Applications of Computer Vision (WACV)},
    year = {2019},
    organization={IEEE}
}