KR20220152785A - PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform - Google Patents

PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform Download PDF

Info

Publication number
KR20220152785A
KR20220152785A KR1020210060147A KR20210060147A KR20220152785A KR 20220152785 A KR20220152785 A KR 20220152785A KR 1020210060147 A KR1020210060147 A KR 1020210060147A KR 20210060147 A KR20210060147 A KR 20210060147A KR 20220152785 A KR20220152785 A KR 20220152785A
Authority
KR
South Korea
Prior art keywords
pcb
image
machine learning
defect
vision
Prior art date
Application number
KR1020210060147A
Other languages
Korean (ko)
Inventor
배수영
김정시
석종수
이문수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020210060147A priority Critical patent/KR20220152785A/en
Publication of KR20220152785A publication Critical patent/KR20220152785A/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/956Inspecting patterns on the surface of objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8854Grading and classifying of flaws
    • G01N2021/8861Determining coordinates of flaws
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8887Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/956Inspecting patterns on the surface of objects
    • G01N2021/95638Inspecting patterns on the surface of objects for PCB's

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biochemistry (AREA)
  • Software Systems (AREA)
  • Chemical & Material Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Analytical Chemistry (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)

Abstract

Proposed are a printed circuit board (PCB) exterior inspection apparatus and method, which are able to easily reuse a software or transplant the same to another platform in a domain requiring a low power and a high performance, such as an embedded system, and provide an accelerated vision processing function optimized for the system. The present invention realizes a PCB exterior inspection system on various heterogeneous embedded platform systems, finds a candidate of defect through a low power accelerated vision processing, and determines a defective PCB by machine learning. To this end, the PCB exterior inspection apparatus of the present invention comprises: an image input unit receiving an input of a PCB image; an accelerated vision detection unit for detecting a defect candidate area by the embedded accelerated vision processing; and a machine learning determination unit determining the presence or absence of a defect by machine learning for the defect candidate area.

Description

이종 임베디드 플랫폼에서 비전 가속 처리와 머신러닝을 활용한 PCB 외관검사 장치 및 방법 {PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform}PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform {PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform}

본 발명의 기술분야는 임베디드 비전 가속 처리, 머신러닝, PCB 외관검사, OpenVX에 관련된 것이다.The technical field of the present invention is related to embedded vision accelerated processing, machine learning, PCB visual inspection, and OpenVX.

일반적으로 인쇄회로기판(PCB)의 외관 검사(Visual Inspection)는 탑재된 부품의 불량 여부를 자동으로 검사하는 자동광학검사(AOI: Automated Optical Inspection)와 검수자가 현미경을 사용하여 직접 육안으로 검사하는 육안외관검사(Visual Inspection)로 구분된다. In general, visual inspection of a printed circuit board (PCB) includes Automated Optical Inspection (AOI), which automatically inspects mounted components for defects, and Visual Inspection, which is directly inspected by the inspector using a microscope. It is classified as Visual Inspection.

자동광학검사는 생산 공정에서 고가의 장비를 이용하여 진행되며, 육안외관검사는 AOI 장비를 통해 검출된 많은 불량 후보군에 대해서 진성불량 여부를 판단하기 위한 재검사에 활용되거나, 대량 양산이 아닌 소규모로 생산되는 PCB의 결함 검사에 활용된다. 육안외관검사는 작업자의 숙련도, 피로도 등에 따른 인적 오류(Human Error) 발생 가능성이 있고, 복수 부품에 대한 검사시 부품의 개수가 증가하는 만큼 속도와 효율이 낮아지므로 안정적이고 빠르게 검사하기 위한 자동화 방법 및 장치를 필요로 한다. Automatic optical inspection is performed using expensive equipment in the production process, and visual appearance inspection is used for re-examination to determine whether there is a genuine defect for many defect candidates detected through AOI equipment, or small-scale production rather than mass-production It is used for defect inspection of PCBs. In visual appearance inspection, there is a possibility of human error due to worker's proficiency and fatigue, and when inspecting multiple parts, as the number of parts increases, the speed and efficiency decrease. device is required.

육안 검사를 대신하여, 검사 속도를 높이면서 설치 비용이 부담스럽지 않는 PCB 외관 검사 장치를 구성하기 위해서는 비교적 저렴한 임베디드 보드의 활용이 권장된다. 그러나, 제한된 하드웨어와 소프트웨어 리소스를 갖는 임베디드 보드 상에서 고효율 비전 응용 서비스의 개발은 쉽지 않은 일로서, 실행 성능은 최대화하고 전력소비는 최소화하기 위해 많은 노력이 필요하다. 일반적으로, 임베디드 비전 응용의 성능 향상 작업은 알고리즘 관점에서 가속화를 제공하는 비교적 접근하기 쉬운 방식으로 이루어지며, 전력소비와 대역폭 부하, 저지연, 프로세서간의 통신 오버 헤드 등의 전체 시스템 관점에서 비효율성과 병목 현상은 늘 해결이 어려운 문제로 남는다.Instead of visual inspection, it is recommended to use a relatively inexpensive embedded board to configure a PCB appearance inspection device that increases inspection speed and does not burden installation costs. However, it is not easy to develop a high-efficiency vision application service on an embedded board with limited hardware and software resources, and much effort is required to maximize execution performance and minimize power consumption. In general, the task of improving the performance of embedded vision applications is done in a relatively accessible way that provides acceleration from an algorithmic point of view, and inefficiencies and bottlenecks from an overall system point of view, such as power consumption, bandwidth load, low latency, and communication overhead between processors. The phenomenon always remains a difficult problem to solve.

본 발명은 임베디드 시스템과 같이 저전력, 고성능을 요구하는 도메인에서 소프트웨어 재사용 및 타 플랫폼 이식이 용이하며, 시스템에 최적화된 비전 처리의 가속 기능을 제공하는 PCB 외관 검사(Visual Inspection) 장치 및 방법을 제안한다. The present invention proposes a PCB visual inspection device and method that facilitates software reuse and portability to other platforms in a domain requiring low power and high performance, such as an embedded system, and provides a system-optimized vision processing acceleration function. .

본 발명은 PCB 외관 검사 시스템을 다양한 이종 임베디드 플랫폼 시스템상에서 구현하는 것으로, 저전력의 가속 비전 처리를 통해 결함후보를 찾고 머신러닝에 의해 결함 PCB 판정을 하도록 한다.The present invention implements a PCB appearance inspection system on various heterogeneous embedded platform systems, finds defect candidates through low-power accelerated vision processing, and determines defective PCBs by machine learning.

구체적으로 본 발명에 따르면, 인쇄회로기판 영상을 입력 받는 영상 입력부, 임베디드 비전 가속 처리에 의해 결함후보를 검출하는 비전 가속 검출부, 머신러닝에 의해 결함을 판별하는 머신러닝 판별부로 구성된다. Specifically, according to the present invention, it is composed of an image input unit for receiving a printed circuit board image, a vision acceleration detection unit for detecting defect candidates through embedded vision acceleration processing, and a machine learning discrimination unit for discriminating defects through machine learning.

영상 입력부는 카메라를 통해 정상의 참조 PCB 영상 및 검사대상 PCB 영상을 실시간으로 입력 받는 부분이다. 비전 가속 검출부는 임베디드 시스템에서의 비전 가속 처리에서 다양한 영상처리 알고리즘을 적용하여 참조 PCB 영상과 검사대상 PCB 영상을 비교하여 실시간으로 검사대상 인쇄회로기판 내의 결함 가능성이 있는 결함 후보영역(위치, 좌표 등)을 검출한다. 머신러닝 판별부는 검출된 결함 후보영역에 대해 기학습 데이터를 기반으로 머신러닝 추론 기법으로 실제 결함 여부를 판정하고, 결함일 경우 그 결함내용이나 종류 등을 분류하여 알려준다.The image input unit is a part that receives a normal reference PCB image and an inspection target PCB image in real time through a camera. The vision acceleration detection unit compares the reference PCB image and the inspection target PCB image by applying various image processing algorithms in the vision acceleration processing in the embedded system and compares the inspection target printed circuit board in real time with possible defect candidate areas (position, coordinates, etc.) ) is detected. The machine learning discriminating unit determines whether or not there is an actual defect in the detected defect candidate area based on pre-learned data using a machine learning inference technique, and in case of a defect, classifies and informs the defect content or type.

또한 임베디드 응용 개발자는, 전체 시스템 수준의 최적화와 하드웨어, 소프트웨어 가속기를 통한 알고리즘 수준의 최적화를 동시에 고려할 수 있는 OpenVX 표준 프레임워크 상에서 본 발명에 따른 PCB 외관 검사가 수행되도록 하여 실행 성능을 높이고 전력 소모를 줄일 수 있게 된다. 카메라가 연결된 저사양 임베디드 플랫폼을 이용하여 저비용으로 구축이 가능하고, 다른 임베디드 기기에 대한 이식이 가능하도록 구성할 수 있다. In addition, embedded application developers can improve execution performance and reduce power consumption by ensuring that the PCB exterior inspection according to the present invention is performed on the OpenVX standard framework, which can simultaneously consider overall system-level optimization and algorithm-level optimization through hardware and software accelerators. be able to reduce It can be built at low cost using a low-specification embedded platform connected to a camera, and can be configured to be portable to other embedded devices.

이상에서 소개한 본 발명의 구성 및 작용은 이후에 도면과 함께 설명하는 구체적인 실시예를 통하여 더욱 명확해질 것이다.The configuration and operation of the present invention introduced above will become more clear through specific embodiments to be described later along with the drawings.

본 발명에 따르면, 다양한 분야의 많은 종류의 PCB 검사에도 용이하게 적용 가능하여 활용성을 높일 수 있다. 또한 저렴한 비용으로 PCB 외관 검사 장치를 구축하여, 단일 영역 및 복수 영역의 검사를 빠른 시간 내에 한꺼번에 진행할 수 있어서, 기존 현미경을 이용한 육안 검사를 대체하여 숙련도와 피로도 등 여러 인적 자원에 영향을 받는 한계와 오류를 줄여 안정적인 비전 처리를 통한 검사를 진행할 수 있다.According to the present invention, it can be easily applied to many types of PCB inspections in various fields, thereby increasing usability. In addition, by building a PCB appearance inspection device at a low cost, inspection of single and multiple areas can be performed at once, replacing the visual inspection using an existing microscope to overcome limitations affected by various human resources such as skill level and fatigue. Inspection can be performed through stable vision processing by reducing errors.

단일 실장된 부품 검사에서부터 여러 개 부품에 대해 한꺼번에 진행하는 복합 검사까지 빠른 속도로 검사할 수 있으며, 여러 PCB 보드에 자유롭게 적용 가능하다. 또한, 저전력 가속 비전 처리를 통한 불량 후보 검출과 AI를 이용한 불량 판단으로, 효율성과 정확성을 높이는 동시에 다양한 임베디드 시스템 상에서의 구성이 가능하여 설치 비용을 최소화하고 운용 비용 절감 효과를 얻는다.It can inspect at high speed from single mounted component inspection to complex inspection of multiple components at once, and can be freely applied to multiple PCB boards. In addition, by detecting defect candidates through low-power accelerated vision processing and determining defects using AI, efficiency and accuracy are increased, while configuration on various embedded systems is possible, minimizing installation costs and reducing operating costs.

PCB 외관 불량 검사 기능은 많은 불량 포인트를 추출해 내는 자동 광학 검사의 불량 후보군에 대해 진성 불량과 가성 불량을 판단하기 위한 검사와 소규모로 생산되는 PCB 검사에 대해 기본적으로 활용될 수 있으며, IOT, 반도체, 디스플레이, 2차전지 등 다양한 산업 분야에서 PCB가 사용됨에 따라 다양한 PCB 제품의 양부 판정에 사용될 수 있어 확장 범위를 다양하게 넓혀 갈 수 있다.The PCB appearance defect inspection function can be basically used for inspections to determine true defects and false defects in the defect candidate group of automatic optical inspection that extracts many defect points, and for PCB inspections produced on a small scale. As PCB is used in various industrial fields such as displays and secondary batteries, it can be used to determine the quality of various PCB products, so the range of expansion can be expanded in various ways.

도 1은 본 발명의 실시예에 따른 인쇄회로기판 외관 검사 장치의 구성도이다.
도 2는 PCB 외관 검사 장치의 내부 모듈의 상세 구성을 보인다.
도 3은 본 발명의 PCB 외관 검사에 응용된 OpenVX의 프로세스 그래프이다.
도 4는 도 3의 실행 단계별 영상과 결함 후보영역들이 검출된 예를 보인다.
도 5는 PCB 외관 검사 장치의 결과 예시도이다.
1 is a configuration diagram of a printed circuit board exterior inspection apparatus according to an embodiment of the present invention.
Figure 2 shows the detailed configuration of the internal module of the PCB appearance inspection device.
3 is a process graph of OpenVX applied to the PCB appearance inspection of the present invention.
FIG. 4 shows an example in which the image of each execution stage of FIG. 3 and defect candidate regions are detected.
5 is an exemplary view of a result of a PCB appearance inspection device.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprise)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작, 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작, 및/또는 소자의 존재 또는 추가를 배제하지 않는다. Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs. It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Meanwhile, terms used in this specification are for describing the embodiments and are not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, "comprise" and/or "comprising" means that a stated component, step, operation, and/or element is one or more other components, steps, operations, and/or elements. does not exclude the presence or addition of

도 1은 본 발명의 실시예에 따른 인쇄회로기판 외관 검사 장치 및 방법의 구성도이다. 1 is a configuration diagram of an apparatus and method for inspecting a printed circuit board appearance according to an embodiment of the present invention.

본 발명의 구성은 인쇄회로기판 영상을 입력 받는 영상 입력부(10), 임베디드 비전 가속 처리에 의해 결함 후보영역을 검출하는 비전 가속 검출부(20), 머신러닝에 의해 결함 후보영역의 실제 결함여부를 판별하는 머신러닝 판별부(30)로 구성된다. The configuration of the present invention includes an image input unit 10 that receives a printed circuit board image, a vision acceleration detection unit 20 that detects a defect candidate area by embedded vision acceleration processing, and determines whether or not the defect candidate area is actually defective by machine learning. It consists of a machine learning discrimination unit 30 that does.

영상 입력부(10)는 카메라(5)를 통해 정상의 참조 PCB 영상(6) 및 검사대상 PCB 영상(7)을 실시간으로 입력 받는 부분이다. 카메라(5)의 왜곡을 줄이고 정확한 영상 입력을 위하여 1개 이상의 카메라와 조명이 설치 연동될 수 있다.The image input unit 10 is a part that receives a normal reference PCB image 6 and an inspection target PCB image 7 through the camera 5 in real time. In order to reduce the distortion of the camera 5 and input an accurate image, one or more cameras and lights may be installed and interlocked.

비전 가속 검출부(20)는 임베디드 시스템에서의 비전 가속 처리를 위해 다양한 영상처리 알고리즘을 적용하여 참조 PCB 영상(6)과 검사대상 PCB 영상(7)을 비교하여 실시간으로 검사대상 인쇄회로기판 내의 결함 가능성이 있는 결함 후보영역을 검출한다.The vision acceleration detection unit 20 compares the reference PCB image 6 and the inspection target PCB image 7 by applying various image processing algorithms for vision acceleration processing in the embedded system, and the possibility of defects in the printed circuit board to be inspected in real time. Detect defect candidate regions with .

머신러닝 판별부(30)는 검출된 결함 후보영역에 대해 기학습 데이터를 기반으로 머신러닝 추론 기법으로 실제 결함 여부를 판정하고, 결함일 경우 그 종류나 내용 등을 분류하여 출력한다. The machine learning determination unit 30 determines whether or not there is an actual defect in the detected defect candidate region using a machine learning inference technique based on pre-learned data, and classifies and outputs the type or content of the defect if it is a defect.

이러한 구성의 인쇄회로기판 외관 검사 장치는 전력 소모 비용을 절감하면서 최적의 성능을 내기 위해 OpenVX 표준 프레임워크 상에서 동작하도록 구성될 수 있다. The printed circuit board appearance inspection apparatus having this configuration may be configured to operate on the OpenVX standard framework in order to achieve optimal performance while reducing power consumption cost.

도 2는 PCB 외관 검사 장치의 내부 모듈의 상세 구성을 보인다. 각 부의 구성은 하나의 예시로서 필요에 따라 다양한 SW 방식으로 변형 구현될 수 있다.Figure 2 shows the detailed configuration of the internal module of the PCB appearance inspection device. The configuration of each part is an example and can be implemented in various SW methods as needed.

먼저, 영상 입력부(10)는 PCB 검사시의 비교를 위한 참조 영상으로 사용될 정상의 참조 PCB 영상(6)을 카메라(5)를 통해 미리 입력 받는 제1영상입력처리부(11a); 검사대상 PCB 영상(7)들을 실시간으로 카메라(5)로부터 입력받는 제2영상입력처리부(11b); 참조 PCB 영상(6)의 왜곡과 검사대상 PCB 영상(7)의 왜곡을 보정하는 제1왜곡보정부(12a)와 제2왜곡보정부(12b)를 포함한다.First, the image input unit 10 includes a first image input processing unit 11a that receives in advance a normal reference PCB image 6 to be used as a reference image for comparison during PCB inspection through the camera 5; a second image input processing unit 11b that receives images of the PCB to be inspected 7 from the camera 5 in real time; It includes a first distortion correction unit 12a and a second distortion correction unit 12b for correcting the distortion of the reference PCB image 6 and the distortion of the PCB image 7 to be inspected.

인쇄회로기판의 부품들은 크기가 작고 미세하기에 검사 정밀도를 높이기 위해서는 초고화질 영상을 필요로 하며, 하나 이상의 카메라 입력이 필요할 수 있다. 또한, 참조 PCB 영상(6)과의 비교 정확도를 높이기 위해 조명의 밝기, 그림자, 카메라 위치 등을 동일한 환경으로 만들어 주면 좋다. 또한, 카메라 입력은 렌즈 왜곡이 발생하기에 정사 영상을 만들기 위한 보정이 필요하며, 여러 카메라로부터 영상을 입력 받을 때에는 영상 통합 과정도 필요하다. 영상 입력부(10)는 이러한 처리들을 담당한다.Since parts of a printed circuit board are small and minute in size, ultra-high-definition images are required to increase inspection accuracy, and one or more camera inputs may be required. In addition, in order to increase the comparison accuracy with the reference PCB image (6), it is good if the brightness of lighting, shadow, camera position, etc. are made in the same environment. In addition, since camera input causes lens distortion, correction is required to create an orthographic image, and when images are received from multiple cameras, an image integration process is also required. The image input unit 10 is responsible for these processes.

이어서, 비전 가속 검출부(20)는 임베디드 플랫폼에서의 비전 가속 처리를 통하여, 참조 PCB 영상(6)과 검사대상 PCB 영상(7)을 비교하여 실시간으로 결함 가능성이 있는 결함 후보영역을 검출한다. 구체적으로 설명한다. 영상 입력부(10)로부터 카메라를 통해 입력 받은 PCB 영상은 초고화질 영상으로, 실시간으로 결함후보 검출을 위해서는 머신러닝 방식보다 전통적인 비전 가속 처리(accelerated vision processing)를 이용하는 것이 효율적이다. 인쇄회로기판의 고화질 영상을 머신러닝 입력에 필요한 작은 사이즈로 변경하면, 결함을 가려낼 수 있는 특징들이 소실될 확률이 높고, 고화질 영상을 머신러닝 입력으로 사용할 경우 영상 처리에 많은 시간이 소요되기 때문이다. 따라서 비전 가속 검출부(20)는 임베디드 시스템 상에서 지원되는 하드웨어 및 소프트웨어 가속 기능을 활용한 다양한 비전 처리 알고리즘(21)을 통해 참조 PCB 영상(6)과 검사대상 PCB 영상(7)을 비교하여 실시간으로 결함 후보영역을 검출하는 결함후보영역 검출부(25)를 포함한다. 결함 후보영역을 검출하기 위하여 PCB에 탑재된 부품의 위치, 좌표 등 영역을 PCB 캐드파일(예를 들어, 거버 파일)이 포함된 사전 준비 데이터(22)에서 추출하고(23) 이를 매칭하여(24) 결함 후보영역을 추출한다. 결함후보영역 검출부(25)에서 검출된 결함후보는 부품별로 머신러닝 판별부(30)에 전달된다. 여기서 상기 비전 처리 알고리즘(21)은 영상 변환을 통한 채널 추출, 특징점 매칭, 영상 정합, 영상 비교, 영역 비교, 노이즈 제거, 특징 강화 등을 포함한다. Subsequently, the vision acceleration detection unit 20 compares the reference PCB image 6 and the inspection target PCB image 7 through vision acceleration processing in the embedded platform to detect potential defect regions in real time. Explain in detail. The PCB image input through the camera from the image input unit 10 is an ultra-high-definition image, and it is more efficient to use traditional accelerated vision processing rather than machine learning methods in order to detect defect candidates in real time. If the high-definition image of the printed circuit board is changed to a small size required for machine learning input, there is a high probability that features that can identify defects will be lost, and when a high-definition image is used as a machine learning input, image processing takes a lot of time. to be. Therefore, the vision acceleration detection unit 20 compares the reference PCB image 6 and the inspection target PCB image 7 through various vision processing algorithms 21 using hardware and software acceleration functions supported on the embedded system, and defects in real time. and a defect candidate region detection unit 25 for detecting candidate regions. In order to detect defect candidate regions, regions such as locations and coordinates of components mounted on the PCB are extracted from preliminary data (22) including PCB CAD files (eg, Gerber files) (23) and matched (24). ) Defect candidate regions are extracted. The defect candidates detected by the defect candidate area detection unit 25 are transmitted to the machine learning determination unit 30 for each part. Here, the vision processing algorithm 21 includes channel extraction through image conversion, feature point matching, image matching, image comparison, region comparison, noise removal, feature enhancement, and the like.

끝으로, 머신러닝 판별부(30)는 각 영역별 학습 데이터로 사전 학습되어 있는 머신러닝 추론(학습) 모델(31)을 이용하여, 상기 비전 가속 검출부(20)의 결함후보영역 검출부(25)에 의해 검출된 결함 후보영역들에 대해 진성불량, 가성불량 판정을 내린다.Finally, the machine learning discrimination unit 30 uses the machine learning inference (learning) model 31 pre-learned with the learning data for each area, and the defect candidate area detection unit 25 of the vision acceleration detection unit 20 For defect candidate regions detected by

구체적으로, 비전 가속 검출부(20)의 결함후보영역 검출부(25)에서 검출된 결함 후보영역들은 영역별로 머신러닝 판별부(30)에 전달되며, 수신된 결함 후보영역들을 머신러닝 추론에 적합한 크기와 형태로 변환하는 후보영역 스케일링부(31)에서 처리되어 머신러닝 추론부(32)로 입력된다. 머신러닝 추론부(32)는 불량 여부의 판정뿐만 아니라, 부품이 빠져 있는지 잘못 부착되어 있는지 등에 대한 불량의 내용까지도 판단 가능하다. Specifically, the defect candidate regions detected by the defect candidate region detection unit 25 of the vision acceleration detection unit 20 are transmitted to the machine learning determination unit 30 for each region, and the received defect candidate regions are selected in a size suitable for machine learning inference and It is processed in the candidate region scaling unit 31 that transforms into a shape and input to the machine learning reasoning unit 32. The machine learning reasoning unit 32 can determine not only whether or not there is a defect, but also the contents of the defect, such as whether a part is missing or incorrectly attached.

이상 설명한 영상 입력부(10), 비전 가속 검출부(20), 머신러닝 판별부(30)의 각 세부 기능들은 각 기능을 수행하기 위해 고도의 계산 능력을 집중적으로 필요로 하며, CPU, 메모리, 전력 등 많은 컴퓨팅 자원을 필요로 한다. 성능과 전력은 서로 상관관계(trade-off)를 가지므로, 높은 성능을 내면서 전력 소모를 얼마나 줄일 수 있는지는 임베디드 환경에서 중요한 요소이다. 임베디드 디바이스에서 고성능 저전력 응용의 개발을 위해서, 하드웨어 측면에서는 기기에 장착된 병렬 가속 프로세서를 최대한 활용하고 소프트웨어 측면에서는 적절한 모듈 분리, 프로세서 선정과 실행 경로 최적화, 메모리 관리 기술 등이 필요하다. Each of the detailed functions of the image input unit 10, vision acceleration detection unit 20, and machine learning determination unit 30 described above requires high-level computational power intensively to perform each function, and CPU, memory, power, etc. It requires a lot of computing resources. Since performance and power have a trade-off, how much power consumption can be reduced while achieving high performance is an important factor in an embedded environment. For the development of high-performance, low-power applications in embedded devices, it is necessary to make the most of the parallel acceleration processor installed in the device in terms of hardware, and to separate modules appropriately, select processors, optimize execution paths, and manage memory in terms of software.

본 발명에 따른 PCB 외관 검사 장치는 비전 처리를 위한 가속 표준인 OpenVX로 구현할 수 있다. OpenVX 표준은 이기종 임베디드 환경을 고려하여 컴퓨터 비전 처리에 대한 가속을 시스템 환경에 맞게 제공하면서, 플랫폼에 대한 이식성을 높여주는 표준 프레임워크이다. 이 컴퓨터 비전 처리를 위한 가속 표준 OpenVX를 활용하면 한 번의 응용 SW 개발로 다양한 하드웨어 상에서 비전 처리 결과물을 얻을 수 있다.The PCB appearance inspection device according to the present invention can be implemented with OpenVX, an acceleration standard for vision processing. The OpenVX standard is a standard framework that improves portability to platforms while providing acceleration for computer vision processing in accordance with the system environment in consideration of heterogeneous embedded environments. If OpenVX, the acceleration standard for computer vision processing, is used, vision processing results can be obtained on various hardware with one application SW development.

어플리케이션 개발자가 사용할 수 있는 가속 레이어를 정의하고, 하드웨어 및 소프트웨어 업체에서 자신의 특화된 방법으로 OpenVX 가속 기능을 구현할 있도록 가속 라이브러리를 분리한다. 즉, OpenVX는 다양한 플랫폼에서 비전 응용이 구현되고 실행될 수 있는 API를 정의하고, 개발자가 고유한 방법으로 소프트웨어 또는 하드웨어로 API의 내부를 구현하도록 하여 다양한 플랫폼 상에서 플랫폼에 최적화된 응용을 구현할 수 있도록 한다. It defines the acceleration layer that application developers can use, and separates the acceleration library so that hardware and software companies can implement OpenVX acceleration functions in their own specialized ways. In other words, OpenVX defines an API that vision applications can be implemented and executed on various platforms, and enables developers to implement applications optimized for the platform on various platforms by implementing the inside of the API with software or hardware in a unique way. .

도 3은 본 발명의 PCB 외관 검사에 응용된 OpenVX의 프로세스 그래프이다. 영상 입력부(10), 비전 가속 검출부(20), 머신러닝 판별부(30)의 세부 기능들은 기능 단위로 구분되어 OpenVX 표준 지원 커널로 표현되며, 이들 각 커널들은 입출력 값들과 함께 노드로 표현된다. 본 발명의 PCB 외관 검사 응용은 각 비전 처리 커널들이 추상화된 노드들을 연결하여 만들어진 하나의 그래프로 표현된다. 그래프는 실행되기 전 검증 과정을 거쳐, 그래프의 각 노드별 데이터 연결성 및 일관성을 확인하고, 실행시 발생될 수 있는 비효율적인 병목 구간을 확인하여 전체 실행을 최적화한다. 3 is a process graph of OpenVX applied to the PCB appearance inspection of the present invention. The detailed functions of the image input unit 10, the vision acceleration detection unit 20, and the machine learning determination unit 30 are divided into functional units and expressed as OpenVX standard supported kernels, and each of these kernels is represented as a node along with input and output values. The PCB exterior inspection application of the present invention is expressed as a graph made by connecting abstract nodes of each vision processing kernel. The graph goes through a verification process before being executed, checks data connectivity and consistency for each node in the graph, and optimizes overall execution by identifying inefficient bottlenecks that may occur during execution.

커널들은 고전적인 비전 처리의 기능 또는 알고리즘 단위로 정의되어 있으므로 각 임베디드 시스템 가속 환경을 고려하여 구현하고 사용할 수 있다. 모든 플랫폼에서 동작하기를 원할 경우에는 C-언어로 구현된 CPU 기반 동작 커널을 사용하고, GPGPU 가속 기능을 원할 경우에는 OpenCL 기반의 GPU 병렬 가속 커널을 사용하면 된다. ARM 기반 CPU 가속을 원할 경우 NEON 가속을 지원하는 커널을 구현하여 사용하면 된다. 디바이스별 지원되는 하드웨어와 소프트웨어 가속기를 통한 알고리즘별 최적화를 지원한 후, 응용 그래프의 전체 연동 및 부분 연동 시간을 확인하여 병목 구간을 검사한다. 병목 구간이 발생할 경우, 각 노드 간 데이터 이동 및 접근 속도 등의 원인 분석을 통해 응용 그래프의 구조를 수정하여, 전체 연동 최적화를 동시에 지원할 수 있다. Since kernels are defined in terms of functions or algorithms of classical vision processing, they can be implemented and used considering each embedded system acceleration environment. If you want to operate on all platforms, you can use a CPU-based operating kernel implemented in C-language, and if you want a GPGPU acceleration function, you can use an OpenCL-based GPU parallel acceleration kernel. If you want ARM-based CPU acceleration, you can implement and use a kernel that supports NEON acceleration. After supporting algorithm-specific optimization through supported hardware and software accelerators for each device, the bottleneck section is inspected by checking the total and partial interworking time of the application graph. When a bottleneck section occurs, the structure of the application graph can be modified through cause analysis such as data movement and access speed between each node to support overall interworking optimization at the same time.

도 3을 참조하여 저전력 비전 가속 처리와 머신러닝 결함 판정을 이용한 본 발명에 따른 PCB 외관 검사 장치의 전체적인 동작 흐름에 대해 설명한다. 도 3의 OpenVX 응용 그래프는 PCB 외관 검사를 구현하는 하나의 예시로서, 각 부의 커널들은 소프트웨어 알고리즘에 따라 다양하게 구현될 수 있다. Referring to FIG. 3, the overall operation flow of the PCB exterior inspection apparatus according to the present invention using low-power vision acceleration processing and machine learning defect determination will be described. The OpenVX application graph of FIG. 3 is an example of implementing a PCB appearance inspection, and kernels of each part may be implemented in various ways according to software algorithms.

영상 입력부(10)에서 하나 이상의 카메라로부터 들어온 PCB 영상들을 하나의 참조(reference) PCB 영상 및 검사대상(target) PCB 영상으로 생성하고[1], Remap 알고리즘을 사용하여 왜곡을 보정한다[2]. In the image input unit 10, PCB images from one or more cameras are generated as a reference PCB image and a target PCB image [1], and distortion is corrected using a remap algorithm [2].

비전 가속 검출부(20)는 입력된 참조 PCB 영상과 검사대상 PCB 영상을 RGB에서 YUV로 변환하여[3], 결함후보 검출에 사용되는 Y-데이터를 추출한다[4]. 추출된 영상에서 참조 PCB 영상과 검사대상 PCB 영상의 정확한 매칭을 위해 Harris-Corner 알고리즘을 통해 영상의 특징점을 추출한다[5]. 그리고 Gaussian Pyramid를 통해 영상을 다양하게 스케일링하여[6], 두 영상간 특징점 이동 경로를 OpticalFlow 알고리즘으로 추출한다[7]. 특징점 이동 경로 값을 기준으로 두 영상 사이의 전체 변환 매트릭스 값을 Ransac 알고리즘으로 구한 뒤[8], WarpAffine 알고리즘을 적용하여 참조 PCB 영상의 픽셀위치를 변경시킨다[9]. 각 픽셀들이 정확하게 매칭되도록 변환된 참조 PCB 영상과 검사대상 PCB 영상을 정합하여 두 영상간의 차이나는 부분만 나타내는 차영상(difference image)을 구한다[10]. 차영상의 불규칙한 노이즈[11]와 일정 값 이하의 불필요한 값들을 제거하고[12], 차영상 픽셀 값들의 특징을 강화하거나[13] 감쇠하는[14] 알고리즘을 적용하여 결함 영역만 남도록 한다. 거버 파일이 포함된 부품 위치 데이터(22)로부터 읽어들인 PCB의 각 부품의 좌표 등 영역을 현재 입력된 검사대상 PCB 영상의 크기와 좌표에 맞게 변경한 뒤[15], 각 부품 영역에서 발생된 차영상 픽셀 값이 일정 한도를 넘어가면 결함 후보영역으로 설정한다[16].The vision acceleration detection unit 20 converts the input reference PCB image and the PCB image to be inspected from RGB to YUV [3], and extracts Y-data used for defect candidate detection [4]. In order to accurately match the reference PCB image and the inspection target PCB image from the extracted image, image feature points are extracted through the Harris-Corner algorithm [5]. Then, by scaling the image in various ways through the Gaussian Pyramid [6], the feature point movement path between the two images is extracted using the OpticalFlow algorithm [7]. Based on the feature point movement path value, the entire conversion matrix value between the two images is obtained with the Ransac algorithm [8], and then the pixel location of the reference PCB image is changed by applying the WarpAffine algorithm [9]. A difference image representing only the difference between the two images is obtained by matching the converted reference PCB image and the PCB image to be inspected so that each pixel is accurately matched [10]. Irregular noise of the difference image [11] and unnecessary values below a certain value are removed [12], and an algorithm that strengthens or attenuates the characteristics of the pixel values of the difference image [13] or attenuates [14] is applied so that only the defective area remains. After changing the area such as the coordinates of each part of the PCB read from the part location data (22) including the Gerber file to match the size and coordinates of the currently input inspection target PCB image [15], the difference generated in each part area If the image pixel value exceeds a certain limit, it is set as a defect candidate area [16].

머신러닝 판별부(30)는 머신러닝을 활용하기 위하여, 결함 후보영역으로 추출된 부품에 대해서 머신러닝 입력 크기로 변환한 뒤[17], 머신러닝 판정을 위한 인터페이스에 입력한다[18]. 기학습된 추론 모델(31)로 추론하여 결함 여부를 판정하고, 결함일 경우 어떠한 결함인지를 분류하여 알려준다[19]. In order to utilize machine learning, the machine learning determination unit 30 converts parts extracted as defect candidate regions into machine learning input sizes [17], and then inputs them to an interface for machine learning determination [18]. It is inferred with the pre-learned reasoning model 31 to determine whether there is a defect, and if it is a defect, it classifies and informs what kind of defect it is [19].

도 4는 도 3의 실행 단계별 영상과, 검출된 결함 후보영역들의 예를 보인다. 오리지널 RGB 이미지인 참조 영상(reference image)과 검사대상 영상(target image)으로부터 변환된 YUV 이미지와, 원본 차영상(difference image original)과 반전 차영상(difference image reversal), 이진화 영상(binarization image), 그리고 최종적으로 검출된 후보영상(ROI detection image)의 예를 볼 수 있다.FIG. 4 shows an example of an image of each execution stage of FIG. 3 and detected defect candidate regions. A YUV image converted from a reference image, which is an original RGB image, and a target image, a difference image original, a difference image reversal, a binarization image, And an example of a finally detected candidate image (ROI detection image) can be seen.

도 5는 결함 후보영역에 대하여 결과적으로 판정된 결함의 유형을 나타낸다. 도 5에서, 검사대상 PCB에서 검출된 결함후보 영역별로 판별된 다양한 유형, 즉, 정상(normal), 오정렬(misaligned), 누락(missing)이 표시된 결과를 볼 수 있다. Fig. 5 shows the type of defect determined as a result of the defect candidate region. In FIG. 5 , results of various types determined for each defect candidate region detected on the PCB to be inspected, that is, normal, misaligned, and missing, are displayed.

이상에서 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.In the above, the configuration of the present invention has been described in detail with reference to the accompanying drawings, but this is only an example, and various modifications and changes within the scope of the technical idea of the present invention to those skilled in the art to which the present invention belongs Of course this is possible. Therefore, the scope of protection of the present invention should not be limited to the above-described embodiments, but should be defined by the description of the claims below.

Claims (1)

인쇄회로기판 영상을 입력 받는 영상 입력부,
임베디드 시스템의 비전 가속 처리를 이용한 결함후보 검출부, 및
머신러닝을 이용한 결함 판별부를 포함하여,
임베디드 시스템의 하드웨어 및 소프트웨어 비전 처리 가속 기능을 활용하고, 이종 플랫폼 이식성을 지원하며 저전력 비전 처리를 위한 알고리즘 및 시스템의 연동 과정 최적화를 지원해주는 OpenVX 표준을 이용한 PCB 외관 검사 장치 및 방법.
An image input unit for receiving a printed circuit board image;
A defect candidate detection unit using vision acceleration processing of an embedded system, and
Including a defect determination unit using machine learning,
PCB appearance inspection device and method using the OpenVX standard that utilizes the hardware and software vision processing acceleration function of the embedded system, supports heterogeneous platform portability, and supports optimization of the interworking process of algorithms and systems for low-power vision processing.
KR1020210060147A 2021-05-10 2021-05-10 PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform KR20220152785A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210060147A KR20220152785A (en) 2021-05-10 2021-05-10 PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210060147A KR20220152785A (en) 2021-05-10 2021-05-10 PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform

Publications (1)

Publication Number Publication Date
KR20220152785A true KR20220152785A (en) 2022-11-17

Family

ID=84233391

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210060147A KR20220152785A (en) 2021-05-10 2021-05-10 PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform

Country Status (1)

Country Link
KR (1) KR20220152785A (en)

Similar Documents

Publication Publication Date Title
US20200357109A1 (en) Method for detecting display screen quality, apparatus, electronic device and storage medium
KR20200004825A (en) Display device quality checking methods, devices, electronic devices and storage media
CN110659660A (en) Automatic optical detection classification device using deep learning system and training device thereof
TW201728897A (en) Single image detection
US20200175673A1 (en) Method and device for detecting defect of meal box, server, and storage medium
CN110658198A (en) Optical detection method, optical detection device and optical detection system
CN110335273B (en) Detection method, detection device, electronic apparatus, and medium
WO2020007119A1 (en) Display screen peripheral circuit detection method and device, electronic device and storage medium
CN110751676A (en) Heterogeneous computing system and method based on target detection and readable storage medium
KR20210038143A (en) System and method of inspecting object based on artificial intelligence
CN111915549A (en) Defect detection method, electronic device and computer readable storage medium
CN110261392B (en) Quality detection method, quality detection device, electronic equipment and quality detection system
JP2003085558A (en) Method of pattern inspection and inspection device
US11880971B2 (en) Inspection method and system
CN115205291B (en) Circuit board detection method, device, equipment and medium
CN111582309B (en) Method for generating bad point detection model of design layout and method for detecting bad point
KR20220152785A (en) PCB visual inspection apparatus and method using accelerated vision processing and machine learning in heterogeneous platform
CN115240092A (en) Transmission tower patrol detection method and device, electronic equipment and storage medium
CN114881990A (en) Mask defect detection method and device, electronic equipment and storage medium
WO2022246643A1 (en) Image acquisition method and apparatus, and storage medium
CN114964732A (en) Off-axis reflection type collimator correction method and device, electronic equipment and medium
CN115222653A (en) Test method and device
IL131283A (en) Apparatus and methods for inspection of objects
JP2906454B2 (en) Object position detection method
CN114155179A (en) Light source defect detection method, device, equipment and storage medium