KR20030012901A - 검사 시스템에 이용하기 위한 이미지 처리 시스템 - Google Patents

검사 시스템에 이용하기 위한 이미지 처리 시스템 Download PDF

Info

Publication number
KR20030012901A
KR20030012901A KR1020027017920A KR20027017920A KR20030012901A KR 20030012901 A KR20030012901 A KR 20030012901A KR 1020027017920 A KR1020027017920 A KR 1020027017920A KR 20027017920 A KR20027017920 A KR 20027017920A KR 20030012901 A KR20030012901 A KR 20030012901A
Authority
KR
South Korea
Prior art keywords
model
image
inspection
models
printed circuit
Prior art date
Application number
KR1020027017920A
Other languages
English (en)
Other versions
KR100830523B1 (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 테라다인 인코퍼레이티드
Publication of KR20030012901A publication Critical patent/KR20030012901A/ko
Application granted granted Critical
Publication of KR100830523B1 publication Critical patent/KR100830523B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10116X-ray image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30141Printed circuit board [PCB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

각각의 유형의 모델의 유효성을 증대시키도록 응용된 복수의 모델을 포함하는 검사 시스템이 개시되었다. 한 실시예에서, 인쇄 회로 기판은 객체를 검사하기 위해 이미지 모델, 구조적 모델 및 기하학적 모델을 포함한다. 이미지 모델은 유사한 객체를 식별하기 위해 검사되는 객체에 먼저 응용된다. 이미지 모델이 적용된 후, 구조적 모델은 동일한 구조를 갖는 이미지에 객체가 존재하는 지의 여부를 판정하기 위해 응용되고 이미지 모델이 이미지내에서 일부분을 발견했는 지를 판정하도록 응용된다. 최종적으로, 기하학적 모델이 적용되고 검사되는 객체의 위치를 정밀하게 판정하기 위해 이전의 두 모델에 의해 제공된 근사한 위치 데이터를 사용한다. 또한 복수의 모델을 인지 및 갱신하기 위한 기술도 개시되었다.

Description

검사 시스템에 이용하기 위한 이미지 처리 시스템{IMAGE PROCESSING SYSTEM FOR USE WITH INSPECTION SYSTEMS}
당업계에 공지된 바와 같이, 검사 시스템은 실세계의 프로세스, 디바이스 또는 객체등을 검사하기 위해 사용된 시스템을 말한다. 자동화된 광학식 검사 시스템(AOI;Automated optical Inspection Syatems)은 주로 사람의 간섭없이 검사를 수행한다. AOI는 이용되는 특정 응용분야에 좌우되어 다양한 형태 및 구성을 취한다. 통상적으로, 그러한 시스템은 고정구(때때로 검사 헤드라 칭함)내에 장착된 하나이상의 센서를 포함한다. 검사 헤드는 검사되는 객체에 대한 이동을 제어하도록 적응된다. 하나이상의 센서 각각은 검사되는 객체(또는 객체의 일부분)의 이미지를 캡춰하고 캡춰된 이미지를 이미지 처리 시스템에 제공한다. 대부분의 전형적인 센서는 가시광선 스펙트럼에 감응하는 카메라이다. 이미지 처리 시스템은
검사되는 실제 객체의 캡춰된 이미지를 그 유형의 객체에 대한 소프트웨어 모델과 비교한다. 비교 결과에 기초하여, 검사 시스템은 캡춰된 이미지가 모델과 매칭되는 정도에 대한 지시를 제공한다. 이와같이, 검사 시스템은 검사 프로세스에서 모델을 이용한다.
공지된 바와 같이, 소프트웨어 모델 또는 더욱 간단하게 모델은 소프트웨어적으로 "실현된" 또는 "표현된" 실세계의 프로세스, 디바이스 또는 객체등을 표현하는 것이다. 따라서 모델은 실세계의 프로세스, 개념 또는 시스템의 구조, 작용 또는 동작 또는 기타 특성에 대한 선택된 또는 전체 양태에 대한 표현을 제공한다. 실세계의 프로세스, 디바이스 또는 개념등은 객체 클래스로서 참조된다.
모델을 생성하기 위해선, 먼저 객체 클래스를 식별하고 모델로 인코딩되어야 할 객체 클래스의 속성을 선택해야 한다. 객체 클래스는 하나이상의 특성 또는 속성을 공유하는 객체의 인스턴스 또는 객체의 그룹을 포함한다.
검사 시스템이 모델의 속성을 포함하는 모델을 이용하여 객체 클래스를 간명하게 요약할 수 있고 그리고 특정 객체를 "트루 포지티브"로 식별하고 클래스의 일부분이 아닌 기타 객체를 "트루 네거티브"로 구별할 수 있게 하는 속성들을 모델에 포함시키기 위한 상기 속성들을 선택하는 바람직하다. 모델에 포함시키기 위해 선택할 다수의 속성이 있기 때문에, "트루 포지티브"로 식별하고 "트루 네거티브"로 구별하는 데 있어서 높은 성공률을 갖는 분야에 적용되는 경우, 모델에 포함시킬 속성을 결정하는 것이 어렵다. 문제는 검사 시스템이 트루 네거티브로부터 트루 포지티브를 구별할 수 있게하는 속성을 결정하는 것이 점점 곤란해진다는 것이다. 또한, 포함시킬 속성에 대한 가설을 가지면, 그 속성들을 측정 및 표현하는 방법을 알지 못할 수 있다는 것이다.
"트루 포지티브"로 표기된 객체는 객체가 비교되는 특정 객체 클래스에 속하는 객체이다. 예를들어, 객체 클래스가 집적회로 패키지 유형이고 객체가 집적회로이면, 집적회로는 집적회로 객체 클래스에 대해 트루 포지티브이다.
반면에 "트루 네거티브"로 표기된 객체는 객체가 비교되는 특정 객체 클래스에 속하지 않는 객체이다. 예를들어, 객체 클래스가 집적회로 패키지 유형이고 객체가 럼핑된 엘리먼트 저항기이라고 가정하자. 이 경우, 럼핑된 엘리먼트 저항기는 집적회로 패키지 클래스에 대해 트루 네거티브로 인지되는 데 이는 럼핑된 엘리먼트 저항기가 집적회로 패키지 유형을 갖는 객체와 동일한 객체 클래스에 속하지 않기 때문이다.
모델을 객체에 매칭시키기 위해 객체가 객체 클래스의 일부분인 지를 판정하기 위해, 한 매칭 방법이 사용된다. 이 매칭 방법은 검사되는 객체로부터 선택된 속성을 추출하고 특정 객체에 대한 측정된 속성을 모델에 저장된 바와 같은 객체 클래스의 속성에 대해 비교한다.
이 매칭 방법의 중요한 한 태양은 검사되는 객체로부터 속성의 값을 정확하게 계산 또는 결정한다는 것이다. 이들 계산된 또는 선택된 속성은 그후 모델 속성과 비교된다. 인쇄회로 기판상에서 모델 컴포넌트에 사용된 속성의 한 예는 인쇄회로 기판에 대한 부분 경계 에지 및 상기 컴포넌트의 내부에지이다. 이미지가 일부분을 포함한다면, 커다란 이미지 그래디언트 또는 비연속성은 보드상에서 컴포넌트의의 배치에 의한 결과인 잠재적 "에지 후보자"로 여겨진다.
이러한 방법에 따른 한 문제점은 대부분의 매칭 방법이 검사되는 객체를 포함하는 이미지로부터의 데이터로서 속성 측정치에 포함되어야 할 데이터를 실제 시간 동안에 판정하거나 정확하게 판정할 수 없다는 것이다. 이러한 딜레마는 상관성 문제라 일컬어진다. 검사되는 객체의 이미지로부터 측정된 데이터와 모델 속성간에 정밀한 상관성이 필요로 되지만 데이터가 특정 속성에 대해 모호한 경우, 매칭 방법은 열악한 결과치를 산출하는 경향이 있다. 최악의 경우, 이미지에 n개의 속성 후보자 측정치와 일부분의 모델에 m개 속성이 있다면, m∧n 개의 조합이 가능한다. 흔히 최선의 상관성을 선택하기 위해 전부가 평가되어야 한다. 심지어 이미지내의 중요한 속성 측정치가 적절히 측정되지 않는다면 트루 매치가 없을 수도 있다.
당업계에 공지된 바와 같이, 종래의 인쇄회로 기판(PCB) 검사 시스템은 통상적으로 단일 속성을 갖는 단일 유형의 모델만을 사용한다. 또한, 종래의 검사 시스템은 단일 매칭 방법만을 이용한다. 대부분의 모델 매칭 체계는 이미지내의 속성의 인스턴스를 연산하고 이것들을 모델내의 모든 인스턴스 속성과 비교한다. 상기한 바와 같이, 평가되어야 할 상관성의 수는 지수이다. 이를 더욱 정교하게 하기 위한 대부분의 기술들은 몇몇 유리스틱으로 생성된 규칙들을 위반하거나 존재할 가능성이 없는 조합들을 배제시킴으로써 정해진다.
상이한 여러유형의 모델도 공지되어 있다. 이미지 모델로 참조되는 한 유형의 모델은 검사되는 객체의 인스턴스의 이미지로부터 생성된다. 실제적으로, 모델은 검사되는 전형적인 객체중의 하나이거나 샘플의 이미지로부터 유도 또는 구출된다. 샘플 또는 전형적인 객체는 검사되는 PCB의 일부로부터 또는 회로 컴포넌트의일부 또는 전체 회로 컴포넌트의 객체일 수 있다. 이미지 모델은 예로서 휘도와 같은 단 하나의 속성만을 포함한다. 휘도 배분은 고정된 공간 구성으로 배열된다. 매칭 방법은 검사되는 객체의 이미지(예로서 검사되는 회로의 일부 또는 컴포넌트)를 모델에 포함된 바와 같은 한 셋트의 속성으로 변환한다. 예로서 휘도 속성이 이미지 모델에 포함되면, 매칭 방법은 검사되는 객체로부터 한 셋트의 휘도 속성을 생성한다. 단일한 이미지 모델은 그후 검사 프로세스를 수행하기 위해 사용된다. 이미지 모델 기술에 의한 한 문제점은 검사되는 객체의 특정 인스턴스에 대해 트루 포지티브의 외형이 변하면, 이미지 모델은 실제 데이터에 대한 열악한 표현으로 되는 경향이 있다는 것이다. 즉, 단일 이미지 모델을 제공하는 PCB 또는 전형적인 회로 컴포넌트는 검사 프로세스 동안 검사되는 PCB 또는 전형적인 회로 컴포넌트에 대한 정확한 표현이 되지 않을 수 있다. 또한 여러 허용가능한 외형을 가질 수 있는 전형적인 회로 컴포넌트에 대한 양호한 표현이 아닐 수 있다. 결과적으로, 이미지 모델은 검사되는 PCB 또는 전형적인 회로 컴포넌트의 이미지와 정확히 매치되지 못하고 따라서 이미지 모델을 사용하는 검사 시스템은 정확한 테스트 결과를 산출하지 못하게 될 것이다.
에지 모델로 참조되는 또다른 유형의 모델은 검사되는 회로의 일부 또는 회로 컴포넌트의 이상적인 에지 표현으로 제공된다. 검사되는 객체의 이미지(예로서 검사되는 회로의 일부 또는 컴포넌트)를 모델에 포함된 바와 같은 한 셋트의 에지 속성으로 변환한다. 이 방법에 따른 한 문제점은 검사되는 새로운 이미지가 다수의 에지를 포함할 수 있다는 것이다. 이 경우, 검사되는 객체로부터의 새로운 이미지를 모델내의 라인 또는 에지의 셋트에 매칭ㅅ키기위해 사용할 애지가 불분명하고 이에따라 새로운 이미지 또는 모델내의 대응하는 특징부를 측정하기가 곤란하다는 것이다. 또한 열악한 조면 상태, 카메라 노이즈, 객체와 배경간의 낮은 명암, 또는 기타 여러 조건으로 인해, 이미지 처리 시스템은 트루 컴포넌트 에지를 구별하지 못할 수 있다는 것이다. 매칭 방법이 이미지 회로 컴포넌트를 소망하는 속성으로 변환시키지 못한 경우, 검사 시스템은 정확한 테스트 결과를 산출하지 못하게 된다.
모델이 정확한 테스트 결과를 산출하지 못하면, 검사 시스템은 상당수의 "오류 포지티브" 및 "오류 네거티브"로 제공한다. 인쇄회로 기판 검사 관점에서, "오류 포지티브"회로 컴포넌트가 존재하지 않는 경우 회로 컴포넌트가 PCB상에 존재한다는 것을 검사 시스템이 지시하는 것을 의미한다. 마찬가지로,"오류 네거티브" 회로 컴포넌트가 실제 존재하는 경우 회로 컴포넌트가 PCB상에 존재하지 않는다는 것을 검사 시스템이 지시하는 것을 의미한다.
PCB에 대한 자동화된 광학식 검사는 여러 요인으로 인해 비교적 곤란하다. 예로서, 어두운 색을 갖는 회로 컴포넌트는 어두운 색을 갖는 PCB에 배치될 수 있다. 따라서, 이 경우에 카메라는 검은 배경(즉, PCB)에 배치되는 검은 부분(즉, 회로 컴포넌트)으로 인해 회로 컴포넌트와 PCB간에 중요한 명암을 탐지하지 못한다.
또한, PCB는 PCB에 이용된 실크 스크리닝 프로세스에 기인한 "오류 에지" 및 회로 컴포넌트 및 인쇄회로 기판 외형의 높은 다양성으로 인한 오류 네거티브 및포지티브를 포함할 수 있다. 그러한 변형은 검사 시스템이 PCB상의 부품들을 일관성있게 인지하는 것을 곤란하게 한다.
오류 네거티브를 갖는 것은 바람직하지 못한 데 이는 사람이 이들 오류 상태를 보고 없애는 일에 많은 시간을 소비해야 하기 때문이다. 오류 포지티브를 갖는 것은 바람직하지 못한 데 이는 회로 컴포넌트가 존재하지 않거나 오류라는 것을 나중에 결정하는 데에 많은 시간을 소비하고 비용이 들기 때문이다. 따라서, 단일 모델을 사용하는 검사 시스템 및 매칭 방법은 통상적으로 PCB 제조비용이 증대되고 제조될 수 있는 PCB 수율을 감소시키게 된다.
그러므로, 매우 적은 오류 네거티브 및 포지티브를 나타내는 검사 시스템 및 기술을 제공하는 것이 바람직하다. 또한 제조될 수 있는 PCB 수율/양을 증대시키고 매우 고속으로 인쇄회로 컴포넌트를 처리하는 기술을 제공한다.
본 발명은 일반적으로 이미지 처리 시스템에 관한 것으로 상세히는 인쇄 회로 기판을 검사하기 위해 이용된 검사 시스템을 포함하는 검사 시스템에 이용하기 위한 이미지 처리 시스템에 관한 것이다.
도 1은 검사 시스템의 블록도.
도 2는 인쇄회로기판 유형을 검사하기 위한 단계를 예시하는 도.
도 3은 디폴트 방향으로 회전되는 스냅숏을 자동으로 획득하기 위한 단계를 예시하는 도.
도 3a는 한 셋트의 이미지 예(베어, 페이스트, 위치 및 부품 스냅숏)가 주어진 경우, 인지 프로세스를 예시하는 도.
도 4는 도 3a에 사용된 최선의 이미지 예의 셋트를 추출하기 위한 인지 프로세스를 예시하는 도.
도 5는 컴포넌트를 위한 검사 프로세스의 단계를 예시하는 도.
도 6 및 도 6a는 컴포넌트를 검사하기 위해 도 5의 특정 구현을 예시하는도.
도 7 및 도 7a는 캡춰된 이미지 영역상에서 조정된 바와 같은 명목 방향에 있는 이미지 모델, 구조적 모델 및 기하학적 모델을 나타낸 도.
도 8은 예상 각도로부터 팽창된 도 7 및 도 7a의 이미지 모델, 구조적 모델 및 기하학적 모델을 나타낸 도.
도 9 내지 9c는 3개의 상이한 검사 경우에 적용된, 이미지 모델, 구조적 모델 및 기하학적 모델을 나타낸 도.
도 10 내지 10d는 패키지 유형 CC0805에 대한 페이스트 및 위치된 이미지의 인스턴스에 대한 구조적 모델의 스코어에 대한 구조도.
도 11 및 도 11a는 패키지 유형 RC1206에 대한 일련의 위치된 부품 및 페이스트 부품을 위해 도시된 구조적 모델 대 인스턴스를 나타낸 구조도.
도 12는 RC0805로서 인지된 컴포넌트에 매칭된 이미지 모델을 나타낸 도.
도 13은 RC1206 유형의 페이스트 및 위치 이미지를 위한 모델 스코어를 나타낸 도.
도 14 및 도 14a는 부품 유형에 대한 이미지의 양호한 분류를 제공하는 모델 또는 모델의 셋트를 인지하기 위한 기술을 나타낸 도.
도 14b는 데이터 포인트를 통한 두 개의 커브 피트를 갖는 스코어의 발생 횟수의 히스토그램을 나타낸 도.
기존의 검사 시스템에 의한 상기한 문제점 및 제한사항에 대한 관점에서, 인쇄회로 기판 검사 시스템을 포함하여, 본 발명에 따라, 고속 이미지 분석 수행의 유용성 및 바람직함과 정확한 검사 테스트 결과의 조합이 복수의 다양한 유형의 모델의 사용에 의해 달성될 수 있다는 것이 인지되어 왔다. 이것은 차례로, 회로 컴포넌트 또는 PCB가 검사되는 속도를 증대시키는 한편 오류 네거티브 및 포지티브를 감소시키기 위해 복수의 모델 유형을 선택하고 이용하는 법에 대한 문제로 이끈다.
단일 속성만을 포함하는 모델은 통상적으로 검사 프로세스 동안 양호한 표현을 제공하지 못한다는 사실이 인지되어왔다. 종래 기술에 따른 추가의 문제점은 특정한 모델 표현에 사용된 속성은 카메라 또는 센서에 의해 용이하게 측정되지 못한다는 것이다. 속성은 흔히 매칭 프로세스 동안 측정된다. 어느 경우에도, (즉, 모델이 데이터에 대한 양호한 표현이 아니거나 특정 모델 표현을 위해 사용된 속성이 이미지에서 용이하게 측정될 수 없다면), 모델/매칭 방법은 오류를 가져오는 결과가 될 것이다. 또한 모델이 이용되는 방식을 제한하는 것은 검사 시스템이 감소된 오류 포지티브 및 오류 네거티브를 갖는 결과가 될 것이다.
다양한 유형의 모델의 사용은 의문사항을 용이하게 처리하기 위해, 일반적인 문제점들을 더욱 세분화할 수 있는 경우 유효하다. 각각의 모델은 전체 문제를 해결하도록 강제되지 않으며, 따라서 모델의 출력은 더욱 견실하다.
이와 같이, 본 발명의 한 실시예에 따라, 검사 시스템은 객체를 검사하기 위해 이미지 모델, 구조적 모델 및 기하학적 모델을 이용한다. 3개 모델 유형은 각 유형의 모델의 장점을 이용하는 방식으로 조합된다. 이미지 모델은 먼저 부품이 이전에 보여졌던 "매우 동일하게 보임" 으로 검사되는 지를 판정하기 검사되는 객체에 적용된다. 이러한 이용은 예를들어, 검사되는 객체가 존재하는 지의 여부를 판정하기 위해 이미지 모델을 사용하는 것과 구별된다. 본 발명에 따라 이미지 모델의 사용은 유사하게 보이는 객체를 식별하기 위한 매우 고속인 기술을 제공한다. 이미지 모델에 포함된 속성은 색, 휘도 또는 고정된 공간 방식으로 배열된 기타 유도된 속성에 대응할 수 있다. 이미지 모델이 적용된 후, 구조적 모델이 적용된다. 구조적 모델은 영역 및 관계의 셋트를 인코딩한다. 그 목적은 모델에 인코딩된 것과 동일한 구조적 모델을 갖는 이미지내에 부품이 존재하는 지의 여부를 판정하는것이다. 구조적 모델은 이미지 모델이 이미지내의 진정한 부품을 발견했는 지의 여부를 결정하기 위해 사용될 수 있다. 따라서, 이 경우에 검증을 위해 사용된다. 다른 경우에, 이미지 모델이 오류이면, 부품이 이미지에 존재하는 모델과 유사한 구조이지만 시각적 특성이 매우 상이한 지를 알기 위해 검사할 수 있다. 마지막으로, 기하학적 모델이 적용된다. 기하학적 모델에 대해 부품 또는 객체가 제 위치에 있는 것으로 알려졌지만 그 위치에 대한 상세사항이 필요로 된다는 가정이 정해진다. 이전의 두 모델에 의해 제공된 개략적인 위치 및 회전 데이터로부터 검사되는 부품 또는 객체에 대한 정확한 위치를 판정한다. 기하학적 모델은 그래디언트의 패턴이 전체 형태의 "최상위 레벨" 구성과 매칭한다는 제약사항과 거의 동시에 객체의 대부분의 그래디언트 영역 또는 모든 에지를 탐색한다. 기하학적 모델은 검사되는 객체 또는 부품을 정밀하게 위치시키기 위해 휘조, 컬러등에 있어서 강력한 그래디언트를 이용한다.
이와 같은 특정한 배열로, 종래 기술 보다 더욱 적은 오류 실패 및 더욱 정밀한 위치지정 기술을 갖는 모델/매칭 방법이 제공된다. 단일 검사 시스템에서 복수의 모델을 이용함으로써, 각각의 모델의 유형의 장점이 이용될 수 있는 한편 각각의 모델의 유형의 단점이 감소되거나 어떤 경우에 제거될 수도 있다.
본 발명의 또다른 태양에 따라, 하나 이상의 다수의 모델로 탐지되어애 할 객체의 이미지를 매칭시키는 방법은, 객체가 이미지 모델과 마찬가지 외형으로 존재하는 지를 판정하기 위해 이미지 모델을 관련 영역에 적용하는 단계, 객체가 존재하는 지를 확인하고 객체를 정밀하게 위치시키기 위해 또는, 객체가 마찬가지 외형을 갖지만 존재하는 모델에 대해 수용불가능한 외형을 갖는 지를 판정하기 위해 구조적 모델을 관련 영역에 적용하는 단계, 및 객체의 정밀한 경계를 위치시키기 위해 기하학적 모델을 관련 영역에 적용하는 단계를 포함한다.
본 발명의 또다른 태양에 따라, 객체를 검사하는 방법은, 관심있는 출력 영역을 생성하기 위해 객체의 예상 위치 근방에 있는 관련 영역에 제1 모델을 적용하는 단계, 및 제1 모델에 의해 출력된 관련 영역에 제2 모델을 적용하는 단계를 포함한다. 제1 모델은 제2 모델에 의해 매칭 프로세싱 동안 고려되어야만 하는 관련 영역의 사이즈 또는 파라미터의 수를 감소시킨다. 예로서, 인쇄회로 기판 응용분야에서, 구조적 모델 보다 먼저 이미지 모델을 적용하는 것은 구조적 모델에 의해 매칭 프로세싱 동안 고려되어야만 하는 객체의 회전 및 수평이동 횟수를 감소시킬 수 있다. 마찬가지로, 기하학적 모델 보다 먼저 구조적 모델을 적용하는 것은 기하학적 모델에 의해 매칭 프로세싱 동안 고려되어야만 하는 객체의 회전 및 수평이동 횟수를 감소시킬 수 있다. 이것은 매우 고속인 매칭 프로세스가 되는 결과로 된다.
상이하게 표현하면, 모델 적용의 체인(즉, 연속적으로 한 모델을 적용한 후 다른 모델을 적용하는 것)은 각각의 모델에 의해 고려되는 가설의 수를 감소시키는 데에 사용된다. 본 명세서에서 사용된 바와 같은, 용어 파라미터는 모델에 의해 고려되는 모든 가설을 포함하는 것으로 의도한다. 상기한 예에서, 가설은 검사되는 객체의 회전 및 수평이동 값을 복구하는 것에 주안점을 둔다. 따라서, 고려되는 가능한 회전 및 수평이동의 범위는 각각의 모델이 적용됨에 따라 감소된다. 예로서, 감시 응용분야의 경우, 가설의 집합은 이미지내에 존재하는 모든 이동 차량 유형을 포함할 수 있다. 이미지내에 존재할 수 있는 객체는 탱크, 트럭, 밴, 승용차, 모터사이클 또는 자전거일 수 있다. 실제 이미지가 주어진다면, 이미지내에 가능한 차양 유형 및 개수를 체계적으로 감소시키기 위해 모델의 체인을 이용할 수 있다. 또다른 예로서, 가설은 객체의 색 및 휘도를 복구하는 것에 주안점을 둔다. 이것은 흔히 뇌종양, 혈관계 장애와 같은 의학적 상태에 관한 진단을 행하기 위해 의학적 이미지 프로세싱으로 행해진다. 연속적으로 사용된 복수의 모델은 가능한 색 및 휘도값을 제거시키기 위해 사용될 수 있다.
이와같은 특정한 기술로, 탐지되어야 할 객체의 이미지와 모델을 매칭시키기 위한 강력한 인지 방법이 제공된다. 먼저 이미지 모델을, 그 다음에 구조적 모델을, 마지막으로 기하학적 모델을 적용함으로써, 고속이고 정확한 검사 프로세스가 제공된다. 실행을 위해 양호하게 정의된 타스크 및 응답을 위해 양호하게 정의된 질의를 각각의 모델에 부여함으로써, 각각의 모델의 강점이 정확한 정보를 고속으로 획득하는 데에 사용될 수 있다. 각각의 모델의 적용에 의해 획득된 정보는 검사되는 객체에 관한 사항을 결정하기 위해 검사 시스템에 의해 사용된다.
본 발명의 또다른 태양에 따라, 검사 시스템은 패키지 라이브러리 및 검사 플랜을 그 내부에 저장하고 있는 데이터베이스와, 검사되는 회로 기판에 대한 정보 및 데이터베이스로부터의 정보를 수신하도록 연결된 검사 플랜 생성기를 포함한다. 상기 시스템은 이미지 모델 프로세서, 구조적 모델 프로세서 및 기하학적 모델 프로세서를 포함하는 이미지 처리 시스템을 포함한다. 모델 프로세서들은 복수의 모델을 그 모델에 제공된 객체의 이미지에 적용하도록 협동한다. 한 실시예에서, 모델 프로세서들은 복수의 모델을 객체의 이미지에 순차적으로 적용하도록 협동한다.
상기와 같은 특정한 배열로, 검사 프로세스(인쇄회로 기판 컴포넌트와 같은 객체에 대한 검사) 동안 복수의 모델을 이용하고 매우 적은 오류 포지티브 및 오류 네거티브 결과를 제공하는 검사 시스템이 제공된다. 이미지를 분석하는 데에 사용된 특정 개수의 모델은 적어도 부분적으로는 검사되는 이미지가 각각의 모델과 양호하게 매칭되는 정도 및 검사되는 객체의 클래스가 변동될 수 있는 정도에 좌우된다. 컴포넌트가 존재하는 지를 가정하기 위해 제1 모델을 사용하고 변동사항에 대해 그리고 컴포넌트에 관한 상세한 정보를 판정하기 위해 그리고 다른 객체에 대한 컴포넌트의 취치를 판정하기 위해 부가적인 모델을 시용함으로써, 상기 시스템은 매우 신뢰성 있고 정확한 결과치를 제공한다.
본 발명의 또다른 태양에 따라, 객체를 검사하기 위한 프로세스는 검사되는 객체를 포함하는 이미지를 획득하는 단계, 객체 유형에 대응하는 이미지, 구조적 및 기하학적 모델들을 획득하는 단계, 이미지 모델을 객체에 적용하는 단계, 및 이미지 모델이 부품이 존재함을 지시하는 지의 여부를 결정하는 단계를 포함한다. 부품이 존재한다는 이미지 모델의 지시에 응답하여, 이미지 모델이 그 부품을 발견한 ROI내의 소영역을 구조적 모델로 탐색한다. 부품이 존재하는 지의 여부가 확실하지 않다는 이미지 모델의 지시에 응답하여, 전체 ROI를 구조적 모델로 완전히 탐색한다. 부품이 존재한다고 구조적 모델이 지시하면, 기하학적 모델은 객체를 정밀하게 찾고 객체의 위치에 대한 상세한 정보를 제공하는 데에 사용된다.
이와같은 특정한 배열로, 객체를 정확하고 빠르게 찾을 수 있는 복수의 모델 검사 프로세스가 제공된다. 이미지, 구조적 및 기하학적 모델들을 사용함으로써, 모델의 각각의 유형의 장점이 강조되는 한편 모델의 각각의 유형의 장점이 감소될 수 있다.
본 발명의 또다른 태양에 따라, 인쇄회로 기판을 검사하기 위한 프로세스는, 패키지 라이브러리를 채우는 단계, 시각적 클래스 유형을 포함하도록 라이브러리에 주석을 기입하는 단계; 특정한 인쇄회로 기판을 위한 검사 플랜을 생성하는 단계, 및 배경 모델 인지과정을 선택적으로 수행하는 단계를 포함한다. 이와같은 특정한 배열로, 인쇄회로 기판을 검사하기 위한 프로세스가 제공된다. 이 프로세스가 PCBs를 검사하기 위해 사용된 반면에, 동일한 프로세스가 기타 유형의 객체를 검사하는 데에 사용될 수 있다.
한 실시예에서, 이 프로세스는 검사 플랜내의 임의의 모델에 의한 문제점을 교정하기 위해 사용될 수 있는 디버그 모드를 포함할 수 있다. 본 발명에 따라, 각각의 부품은 그와 연관된 모델의 그룹 또는 셋트를 갖는다. 예를들어, 이미지 모델, 구조적 모델 및 기하학적 모델은 특정 부품을 위한 모델 그룹을 형성한다. 디버그 프로세스로 들어가도록 결정되면 프로세싱은 디버그 인지 프로세스로 간다. 컴포넌트를 위한 새로운 모델 또는 모델 셋트가 배경 모델 구축 단계에서 알게되면, 이들 모델은 검사 플랜내의 한 모델을 대체할 수 있다. 그렇지않으면, 특정 모델 또는 모델 셋트를 위한 인지하는 단계는 상이한 이미지 셋트상에서 반복된다. 디버그 프로세스는 문제 컴포넌트를 위한 모델 또는 모델 셋트를 새로운 "디버깅된" 모델로 교체하거나 또는 모델의 새로운 인스턴스(예로서 제2 이미지 모델)를 부가하는 것을 포함하는, 검사 플랜을 갱신하는 단계로 종료된다. 디버그 및 후속하는 인지 프로세스는 시스템이 문제 부품으로서 식별한 그 부품을 위한 보정된 특정한 모델 또는 모델의 셋트로 된다. 새로운 모델 또는 모델 셋트가 생성되면, 문제 컴포넌트를 위한 검사 플랜은 갱신된다. 모델 그룹내의 한 모델 또는 모든 모델들은 갱신 또는 증대될 수 있다. 예를들어, 디버그/인지 프로세스에 따라, 새로운 이미지 모델을 인지하는 것이 가능하지만, 구조적 모델 및 기하하적 모델도 동일하게 유지시켜야 한다.
본 발명의 또다른 태양에 따라, 인쇄회로 기판 검사 시스템에 사용될 수 있는 모델을 개발 또는 인지하기 위한 기술은 디폴트 이미지 및 구조적 모델을 구축하기 위해 스냅숏을 사용하는 단계 및 객체의 디폴트 기하학적 모델을 구축하기 위해 부품에 대한 기하학적 정보를 사용하는 단계를 포함한다.
한 실시예에서, 스냅숏을 자동적으로 크로핑하기 위한 프로세스가 이용된다. 이 프로세스는 검사되는 객체를 포함하여야 하는 PCB사에 관련 영역(ROI; region of interest)을 식별하는 단계 및 객체가 존재하는 지를 결정하기 위해 디폴트 이미지 및 구조적 모델을 ROI에 매칭시키는 단계를 포함한다. 이미지 모델은 스냅숏을 필요로 하기 때문에, 프로세스는 합성 스냅숏(즉, 복수 이미지로부터 수집된 데이터로부터 생성거나 합성 이미지를 제공하기 위해 자동적으로 생성되거나 획득된 합성 이미지) 또는 유사한 부품의 스냅숏을 사용하여 부트스트랩될 수 있다. 객체가 존재하지 않는다고 결정되면, 또다른 ROI가 제공되고 상기 단계들이 반복된다.한편 객체가 존재한다고 결정되면, 기하학적 모델은 컴포넌트의 정확한 경계를 찾기 위해 그리고 객체에 대한 회전 정보를 제공하기 위해 사용되고 부품의 "크로핑된" 이미지가 획득된다. 이와같은 특정한 배열로, 모델을 제공하기 위해 사용될 수 있는 크롭핑된 이미지를 자동적으로 획득할 수 있는 기술이 제공된다.
모델이 그들의 기본 구성요소를 갖게 되면, 그것들은 네거티브 모델예(부품을 포함하지 않거나 틀린 또는 손상된 부품을 갖는 이미지)로부터 포지티브 모델예(올바른 부품을 포함하는 이미지)를 구별하기 위해 이들 모델예에 대해 조정된다. 모델예의 수는 두 개(하나는 포지티브 다른 하나는 네거티브)이거나 이전에 검사되는 인쇄회로기판으로부터 생성된 모든 데이터일 수 있다.
본 발명의 상기한 특징 및 본 발명 자체는 하기의 도면에 대한 발명의 상세한 설명으로부터 더욱 완전히 이해된다.
본 발명의 장치 및 처리방법을 설명하기 이전에, 명확성을 높이기 위한 일환으로, 특정 응용 분야에서 수행된 검사 또는 일정한 객체에 대한 검사에 대해 기술되었음을 알아야 한다. 그러한 설명 및 그에 따른 설명은 본 발명을 쉽게 알 수 있도록 하기 위함이고 본 명세서에 설명된 유형의 시스템에서만 사용하기 위해 설명된 사상이 아니다. 그보단, 상기한 바와 같이, 본 발명은 여러 상이한 다양한 응용분야를 가지며 일반적으로 객체 인지 또는 탐지 문제에 관한 응용분야에 적용될 수 있다. 본 발명은 안면과 같은 객체를 인지하기 위해 또는 웨이퍼 결점과 같은 객체를 검출하기 위해 이용될 수 있다. 그 밖의 영역으로는 이미지 데이터베이스 인덱싱, 의료 이미지 분석 및 감시 및 모니터링 응용분야등을 포함한다.
하기의 설명에서는, 특정한 이미징 시스템 또는 이미징 시스템 컴포넌트 또는 특정한 라이팅 시스템 또는 라이팅 시스템 컴포넌트 또는 특정 주파수 프로파일 또는 온도에서 동작하는 광을 갖는 시스템에 대해 설명된다. 당업자는 물론, 하기에 설명된 사상이, 시스템 또는 컴포넌트가 소망하는 동작적 또는 기능적 특성을 갖는다면, 임의의 유형의 이미징 또는 라이팅 시스템(광범위한 주파수 프로파일에서 동작하는 라이팅 시스템을 포함하는) 또는 컴포넌트를 갖는 검사 시스템에도 마찬가지로 양호하게 적용될 수 있음을 알게 될 것이다. 또한 본 명세서에서는 특정한 토폴로지로 배치된 라이트를 갖는 라이팅 시스템에 대해서도 설명되었다. 당업자는 본 발명의 원리가 다양한 라이트 토폴로지를 이용하여 구현될 수 있고
본 명세서에에 제시된 원리가 단지 예일 뿐이고 제한하는 것으로 여겨져서는 안된다는 것을 알게될 것이다.
또한 인쇄회로 기판 및 인쇄회로 기판에 배치된 회로 컴포넌트와 같은 일정한 객체에 대한 검사에 대해서도 설명되었다. 설명되는 바와 같이, 집적회로와 같은 부품을 칭하는 회로 컴포넌트 또는 더 간단히 컴포넌트는 장착되거나 인쇄회로 기판(PCB)에 연결된다. 객체는 인쇄회로 기판 결함일 수 있다. PCB는 임의의 유형의 것일 수 있다.
당업자는 본 발명의 원리가 인쇄회로 기판 및 컴포넌트의 검사 및 임의의 유형의 객체에 대한 검사를 포함하는 다양한 응용분야에 이용될 수 있음을 알 수 있다. 예를들어, 본 발명은 한 객체가 다른 객체와 매우 근접하거나 접촉하거나 그 위에 배치될 수 있는 경우, 또는 한 객체가 다른 객체에 내장되는 경우, 또는 이미지내의 배경으로부터 전경 객체를 식별하는 데에 바람직한 경우와 같은 응용분야를 갖는다. 마찬가지로, 본 명세서에 설명된 기술은 임의의 유형의 회로기판 또는 그 기능에 관계없는 회로기판 컴포넌트에 사용될 수 있다.
따라서, 당업자는 본 명세서에서 "인쇄회로기판" 및 "컴포넌트"에 대해 기술된 설명 및 처리방법은 사람의 안면 또는 손가락 또는 회사 로고 또는 기타 이미지에도 마찬가지로 적용될 수 있음을 알게 될 것이다. 마찬가지로, 하깅 설명된 프로세서는 특정한 타스크 또는 기능을 수행하도록 배선된 또는 프로그래밍된 임의 유형의 집적회로를 포함할 수 있다.
도 1을 참조하면, 인쇄회로 기판(PCBs)에 대한 검사를 수행하기 위한 처리 시스템(10)은 일정한 객체에 관한 상세한 정보를 포함하는 패키지 라이브러리(14)를 그 내부에 포함하고 있는 데이터베이스 컴포넌트(12)를 포함한다. 예를들어, 집적회로의 형태 및 사이즈에 관한 상세 정보를 포함하는 패키지 라이브러리(14)는 PCB상에 부품이 배치되는 방법에 관한 어떠한 정보도 포함하지 않는다. 데이터베이스 컴포넌트(12)는 또한 특정 PCB를 위한 검사 플랜을 생성하여 검사 플랜 라이브러리(16)에 검사 플랜의 결과를 저장하는 검사 플랜 생성기(18)에 연결된 검사 플랜 라이브러리(16)를 포함한다.
데이터베이스(12)에 연결된 이미지 처리 시스템(20)은 이미지 캡춰 시스템(22), 이미지 프로세서(24) 및 이미지 인터페이스 유닛(25)을 포함한다. 이미지 캡춰 시스템(22)은 검사되는 이미지를 캡춰하는 하나이상의 카메라 또는 센서로서 제공될 수 있다. 바람직한 실시예에서, 카메라는 컬러 카메라에 대응한다. 이미지가 캡춰된 후, 바이엘 컬러 복구, 화이트 밸런스, 콘트라스트 향상등과 같은, 데이터에 대한 후속하는 처리가 행해진다. 이미지 인터페이스 유닛(25)은, 사용자가 이미지 처리 시스템(20)과 인터페이싱할 수 있게 하는, 그래픽 사용자 인터페이스(GUI)로서 제공된다.
이미지 캡춰 시스템(22)에 의해 캡춰된 이미지는 실행시간 시스템(26)에 전달된다. 실행시간 시스템(26)은 특정 기판의 유형에 대해 하나의 카메라 뷰우 필드에서 검사할 부품을 검사 플랜(16)으로부터 결정한다. 실행시간 시스템(26)은 또한 여러 카메라 뷰우 필드에서 검사되어야 할 부품(예를들어, 카메라 프레임 경계부를 넘는 부품 또는 한 카메라 프렘임에 대해 지나치게 큰 부품)을 결정한다.
한 특정한 부품을 검사하기 위해, 실행시간 시스템(26)은 검사기 모듈(28)을호출한다. 검사기 모듈(28)은 오클루젼 검출기(30), 쎄타 평가기(32), 인지 및 디버그 시스템(34), 이미지 모델 프로세서(36), 구조적 모델 프로세서(38), 기하학적 모델 프로세서(40), 및 방향 표시 검출기(30)를 포함한다. 실행시간 시스템(26)은 "인지 모드", "검사 모드" 또는 "디버그 모드"를 호출할 수 있다. 인지 모드 및 디버그 모드에서, 시스템(10)은 부품의 외형에 대한 속성을 인지하여 저장하고 대응하는 이미지 모델, 구조적 모델 및 기하학적 모델을 갱신하거나 이 모델들에 부가한다. 실행시간 시스템(26)은 사용자 인터페이스 모듈을 통해 사용자로부터의 입력을 취할 수 있다. 예로서, 디버그 프로세스 동안, 시스템의 사용자는 상기 사용자 인터페이스 모듈을 통해 질의할 수 있다.
실행시간 시스템이 검사 모드에서 검사기 모듈(28)을 호출하는 경우, 검사 프로세스가 개시된다. 검사 프로세스는 도 5를 참조하여 하기에서 상세히 설명된다. 검사 시스템(10)은 검사 프로세스 동안 복수의 모듈을 이용한다. 한 실시예에서, 검사 모듈(28)은 특히 검사를 행하기 위해 이미지 모델(36), 구조적 모델(38), 기하학적 모델(40)를 이용한다. 따라서, 검사 시스템(10)은 객체를 검사하기 위해 이미지 모델, 구조적 모델 및 기하학적 모델을 이용한다.
3개의 모델 유형은 각각의 모델 유형의 강점을 이용하는 방식으로 조합된다. 이미지 모델(36)은, 검사되는 부품이 이미지 모델과 "거의 유사함"을 결정하기 위해, 검사되는 이미지 모델에 저장된 화상과 외형이 매우 유사한 관심있는 대영역에 객체가 존재하는 지를 결정하기 위해 PCB상의 관심있는 대영역에 적용된다. 그러한 사용은 예를들어, 검사되는 객체가 이미지에 존재하는 지의 여부를 결정하기 위해 이미지 모델이 사용되는 종래의 이미지 모델의 사용과 구별되어야 한다. 본 발명에 따른 이미지 모델의 사용은 외형이 매우 유사한 객체를 식별하기 위한 매우 고속인 기술을 제공한다. 이미지 모델에 포함된 속성은 색, 휘도등에 해당한다. 이미지 모델은 통상적으로 고정된 패턴의 2진 픽셀, 휘도 픽셀, 색 픽셀등임을 알아야 한다. 일반적으로 이들 픽셀은 객체의 이미징된 뷰우에 대해 일 e 일 대응관계를 갖는다. 그러나, 한 이미지 모델은 그래디언트 또는 텍스춰 특징과 같은, 고정된 패턴의 처리된 이미지 특징들일 수 있다. 이미지 모델은 여러 상이한 레줄루션으로 나타내어질 수 있다. 이미지 모델의 단점은 베어 또는 페이스트 보드상의 다수의 특징들이 객체상의 특징과 매우 유사할 수 있다는 것이다.
이미지 모델(36)이 검사되는 객체의 이미지에 적용된 후, 구조적 모델(38)이 적용된다. 상세히는, 구조적 모델(38)은 객체가 진정으로 관련 영역에 존재하는 지의 여부에 대해 결정하기 위해 적용된다. 부품이 특정 영역에 존재하는 것으로 여겨진다고, 이미지 모델이 지시하면, 구조적 모델은 지시된 부품이 부품에 제시되어야 할 모든 구조적 특징을 갖는 지를 알기 위해 검사한다. 구조적 모델은 객체의 위치에 대한 더욱 근사치를 제공하기 위해 사용될 수 있다. 이미지 모델이, 그 내부 이미지와 유사한 부품이 ROI에 존재하는 것으로 여겨지지 않는다고 결정하면, 구조적 모델은 이미지 모델과 상이하게 보이지만 올바른 구조적 컴포넌트를 갖는 일정한 부품을 위해 전체 영역을 조사한다.
이미지 및 구조적 매칭 단계의 출력은, 1) 부품이 존재한다 또는 2) 부품이 r 각도로 회전한 대략적인 위치<x,y>에 존재한다는 것을 지시한다. 부품이 존재하면, 기하학적 모델은 검사되는 객체 또는 부품의 취치를 정밀하게 결정하기 위해 적용된다.
마지막으로, 검사되는 객체 또는 부품의 위치를 정밀하게 결정하기 위해 기하학적 모델(40)이 적용된다. 기하학적 모델은 에지가 "최상위 레벨" 모델 설명과 매칭한다는 제약조건을 갖추어서 객체의 모든 에지를 거의 동시에 탐색한다. 부품 또는 객체가 특정 위치에 있는 것으로 알려져 있다는 가정이 기하학적 모델에 대해 주어지고 기하학적 모델(40)은 부품 또는 객체의 위치에 대한 정확한 상세사항을 결정한다. 기하학적 모델은 검사되는 부품 또는 객체의 위치를 정밀하게 위치시키기 위해 휘도, 색 등에 있어서 뚜렷한 그래디언트를 이용한다. 기하학적 모델은 뚜렷한 그래디언트 이외의 기타 특징들을 이용할 수 있다. 예로서, 변곡지점, 기타 기하학적 특징, 및 구별될 수 있도록 정밀하게 위치지정된 표지와 같은 이미지 특징을 포함하는 영역에 관한 이미지를 분석할 수 있다. 따라서, 검사 시스템(10)에서 복수의 모델을 이용하는 기술은 종래 시스템 보다 향상된 속도, 더욱 적은 오류 및 더욱 큰 측정 레졸루션을 갖는 시스템(10)이 된다.
도 2내지 6a는 인쇄회로 기판(PCBs)를 검사하기 위해 검사 시스템(10)의 일부분으로서 제공될 수 있는 처리 장치에 의해 수행된 처리방법을 도시하는 흐름도이다. 대안으로, 처리 단계들은 PCBs 검사 이외의 프로세스에서 이미지를 단순히 매칭하는 이미지 처리 시스템에 의해 구현될 수 있다. 장방형 구성요소(도2에서 부재번호 54로 표기된 구성요소)는 "처리 블록"을 나타내고, 컴퓨터 소프트웨어 명령어 또는 명령어 그룹을 나타낸다. 다이아몬드 형태 구성요소(도2에서 부재번호50으로 표기된 구성요소)는 "판정 블록"을 나타내고, 처리 블록에 의해 표현된 컴퓨터 소프트웨어 명령어의 실행에 영향을 미치는 컴퓨터 소프트웨어 명령어 또는 명령어 그룹을 나타낸다.
대안으로, 처리 및 판정 블록은 디지털 신호 처리기(DSP) 또는 주문형 특정 응용 집적 회로(ASIC)와 같은 기능적으로 등가인 회로에 의해 수행된 단계들을 나타낸다. 상기 흐름도는 특정한 프로그래밍 언어의 문법을 설명하지는 않는다. 흐름도는 당업자가 특정 장치에 의해 요구되는 처리를 수행하기 위해 컴퓨터 소프트웨어를 생성하거나 또는 회로를 조립하는 데에 요구되는 기능적인 정보를 예시한다. 루프 및 변수의 초기화 및 임시 변수의 사용과 같은 대다수의 루틴 프로그램은 공지되어 있지 않음을 알아야 한다. 당업자는, 본 명세서에서 특별히 나타내지 않은 한, 설명된 단계들의 특정한 시퀀스는 예시적인 것이고 본 발명의 정신으로부터 벗어나지 않고 변동될 수 있음을 알아야 한다.
도 2 내지 6A의 흐름도에서 몇몇 단계들은 상기 단계들을 수행하기 위해 임의의 특정 인쇄회로기판으로 어떠한 정보도 필요로 되지 않는다는 기판에 특정하게 종속되지 않는 의미로서 설명되었다. 상기 흐름도에서 그밖의 단계들은 상기 단계들을 수행하기 위해 하나이상의 특정 인쇄회로기판에 대한 일부 정보들인 기판에 특정하게 종속되는 의미로서 설명되었다. 특히, 인쇄회로기판에 대한 검사 프로세스 동안 수행된 특정 구성요소 또는 단계가 기판에 특정하게 종속되지 않는 것이라고 하면, 이것은 이들 구성요소가 구축되는 기판에 관계없이 적용된다는 것을 지시한다. 기판에 특정하게 종속되지 않는 정보의 예로는 부품의 사이즈, 특정 부품의스냅숏, 디폴트 구조적 모델 및 기하학적 모델을 포함한다. 기판에 특정하게 종속되는 정보는 모델이 페이스트된 또는 베어 패드를 지닌 관련 영역과 관련 영역내의 페이스트상의 부품의 인스턴스간의 차이를 인지하는 트레이닝 단계에서 주로 사용된다. 기판상의 부품에 대한 컨텍스추얼 정보가 요구되는 단게는 특정 기판에 종속되는 단계이다.
이제 도 2를 참조하면, PCB 검사 프로세스가 도시되어 있다. 이 검사 프로세스에서, 처리는 단계(50)에서 시작하고 여기서 패키지 라이브러리가 채워진다. 패키지 라이브러리가 채워지면, 처리흐름은 특정 PCB에 대해 검사 플랜이 생성되는 단계(52)로 간다. 패키지 라이브러리가 채워지지 않으면, 처리흐름은 패키지 라이브러리가 채워지는 단계(54)로 가고 그후 특정 PCB에 대해 검사 플랜이 생성되는 단계(52)로 간다.
패키지 라이브러리는 비주얼 클래스 유형을 포함하는 것으로 해석된다. 한 특정 PCB 검사 응용분야에서, 11개 상이한 비주얼 클래스 유형이 정의된다. 몇몇 응용분야에서 11개 이상의 상이한 비주얼 클래스 유형이 필요로 되고 기타 응용분야에선 11개 이상의 상이한 비주얼 클래스 유형이 필요로 된다는 것을 알아야 한다. 임의의 특정 응용분야에서 사용된 특정 갯수의 비주얼 클래스는 그 응용분야에 따라 선택된다. 특정 비주얼 클래스로 분류된 부품은 공통 구조를 갖는다. 예로서, 금속 엔드캡을 갖춘 모든 개별 부품은 색을 갖는 몸체의 어느 한 측상에 두 개의 금속성 엔드캡을 갖는다. 따라서, 사이즈가 60x30 mils인 커페시터(패키지 유형 CC0603으로 참조됨) 및 사이즈가 120x60 mils인 레지스터(패키지 유형 RC1206으로 참조됨)는 상이한 사이즈 및 상이한 기능을 갖는 경우에도 동일한 비주얼 클래스를 갖는다.
부품의 라이브러리는 전형적으로 공지된 치수 및 기능값을 갖춘 특정 패키지 유형으로서 부품을 기술한다. 부품 번호는 특정 기능값을 갖춘 패키지 유형에 부여된다. 이들 라이브러리에서, 부품이 어떻게 보여지는 지 또는 부품들이 시각벅 특징을 통해 어떻게 그룹화되어야 하는 지에 대해 특정하게 나타내지 않았다. 이미지 처리 시스템(20)(도 1)과 같은 이미지 처리 시스템은 부품의 구조 또는 외형을 기초로하여 부품의 그룹화를 예상한다. 따라서, 임의의 부품 라이브러리를 시각벅 클래스에 대한 정의를 갖춘 것으로 해석하는 것이 유용하다.
라이브러리가 이미 채워졌거나(즉, 검사되는 객체에 대한 데이터가 이미 데이터베이스에 저장되어 있거나) 또는 컴퓨터 데이터베이스 또는 기타 저장 디바이스로부터 판독될 있다면 채우는 단게는 필요치 않고 이 경우에 처리는 라이브러리를 해석하는 단계에 의해 시작한다. 실제적으로, 라이브러리가 그 내부에 어떠한 부품도 저장하지 않고 있다는 것은 흔한 경우가 아니며 기판상의 모든 부품에 대해 라이브러리에 엔트리가 있는 지를 결정하는 검사가 행해진다. 패키지 라이브러리는, (1)부품 치수; (2)부품 이름; (3)할당된 부품 번호; (4)판매자; (5)보디 사이즈; (6)부품이 리드를 갖는가?; (7)리드의 사이즈; (7A) 리드의 유형;(8)리드 피치;(9)부품이 방향 표지를 갖는가?; (10)부품상에서 방향 표지가 있어야 하는 곳과 같은 정보를 포함한다. 한 구현에서 클래스 유형은, (1)금속 엔드캡과 이산상태임; (2)걸 윙 집적회로(ICs); (3)J-리드있는 ICs; (4)탄탈륨 커패시터; (5)플랫 리드있음; (6)CAP; (7)이산 어레이; (8)MELF; (9)SOTs; (10)다이오드; 및 (11) 볼 그리드 어레이(BGAs)와 같은 11개 비주얼 클래스 유형중 한 유형이다.
기타 비주얼 클래스 유형은 필요에 따라 부가될 수 있음을 알아야 한다. 또한, 일부 응용분야에선 부품의 비주얼 클래스 유형이 아닌 클래스 유형을 포함하는 것이 바람직하다. 예로서, 툼스토닝 또는 빌보딩(한 측부가 기판을 접촉하고 다른 측부가 공중으로 들어올려진 부품), 손상된 부품, 및 기름이 칠해진 페이스트와 같은 특정 결함등에 관한 비주얼 클래스의 셋트를 생성하는 것이 바람직하다. 패키지 라이브러리는 필요로 되는 대로 검사 시스템의 다양한 페이스트에 의해 액세스될 수 있는 데이터베이스로서 제공된다. 부품 라이브러리 채움/해석 단계는 특정 기판에 종속하지 않는 단계이다.
몇몇 응용분야에선 라이브러리에 스냅숏을 넣는 것이 바람직하다. 스냅숏은 현재 기판 독립적인 것으로 여겨진다. 그러나, 몇몇 테스트는 라이트 보드상의 부품이 다크 보드상의 부품 보다 더욱 밝게 보이는 것을 알려준다.
단계(52)에서 나타낸 바와 같이, 패키지 라이브러리를 채운 후, 검사 플랜이 생성된다. 이 검사 플랜은 특정 기판 종속 정보를 취함으로써 생성된다. 특정 기판 종속 정보는 캐드(CAD) 데이터, 픽&플랜 데이터, 및/또는 PCB 데이터 레이아웃 데이터(예, 거버 데이터)의 형태일 수 있다. 검사 플랜은 PCB상의 각각의 컴포넌트의 위치를 기술하고 부품 유형 및 가져야 할 방향을 기술한다. 검사 플랜은 기준점 및 비아가 있는 기판상의 위치를 기술한다. 이 검사 플랜은 각 부품을 검사하기위해 사용된 모델을 기술한다. 검사 플랜은 각각의 컴포넌트 유형에 대한 디폴트 모델에 의해 초기화된다.
기본 검사 플랜이 생성되면, 처리는 기본 검사 플랜내의 정보가 증대되는 특정기판-종속 인지 단계에 대응하는 단계(56)로 진행한다. 이러한 특정기판-종속 인지 프로세스는 기하학적 정보와 같은 플랜내의 공지된 정보를 그 관측된 비주얼 특징에 연관시킨다. 이러한 인지 프로세스는 하기에서 도 3, 3a, 4 및 14와 연결지어 더욱 완전히 설명된다. 상기 단계(50 내지 56)는 검사단계가 수행되기 이전에 발생하는 셋업 및 인지 프로시저에 대응한다.
검사 플랜의 생성 및 특정기판-종속 인지 프로세스의 완료 후에, 처리는 검사 단계가 수행되는 단계(58)로 진행한다. 검사 단계는 특정기판 종속적 단계이고 하기에서 도 5,6 및 6a와 연계하여 상세히 설명된다. 단계(58)에서, 검사는 테스트 데이터 셋트에 대해 수행된다. 일반적으로, 맨처음 셋업 또는 트레이닝하는 경우 3개의 트레이닝 보드를 획득하는 것만 예상한다. 맨처음 보드는 베어이고, 두번째것은 페이스된 보드이고 세번째것은 플레이스된 보드이다. 보드상의 각각의 부품 유형에 대해, 부품 존재하는 때 및 존재한지 않는 때를 탐지할 수 있도록 모델을 트레이닝하길 원한다. 일반적으로 보드상에는 하나이상의 부품의 인스턴스가 있다. 인스턴스는 인지 그룹 및 테스크 그룹과 같은 두 개의 그룹으로 분해할 수 있다. 각각의 그룹은 포지티브(부품 존재) 및 네거티브(부품 부존재) 예로서 레이블링된다. 시스템은 인지 그룹상의 모델을 트레이닝하고 그것들이 테스트 셋트상에서 올바르게 작동하는 지를 검증한다.(테스트 셋트 및 인지 셋트가 공통 구성요소를 갖도록 하는 것이 가능하다.)
단계(58)에서 테스트 데이터 셋트에 대한 검사를 완료한 후, 처리는, 디버그 모드가 개시되어야 하는의 여부에 대해 판정이 행해지는 단계(60)로 진행한다. 이 판정은 테스트 데이터 셋트에 대한 검사의 결과(58)를 기초로 한다. 특히 단계(58)의 결과가, 모델은 전체 PCB의 모든 컴포넌트네 대해 양호한 결과를 산출한다고 지시하면, 단계(60)에서, 임의의 다른 보드가 검사 되어야 하는 지의 여부에 대해 판정이 행해지는 단계(60)로 곧장 진행하라는 결정이 내려진다. 단계(58)의 결과가, 모델은 전체 PCB에 대해 또는 하나 이상의 컴포넌트에 대해 양호한 결과를 산출하지 않는다는 것을 지시하면, 단계(60)에서, 다른 인지 단계가 이행되는 단계(64)로 진행하라는 결정이 내려진다. 상기 인지 단계는 기타 트레이닝 데이터와 함께, 새로운 오류 포지티브 또는 오류 네거티브를 취하여, 모델을 교정한다. 오류 포지티브 및 오류 네거티브에 대한 재트레이닝에 추가하여, 사용자 또는 시스템은 이미지 모델내의 스냅숏을 변경하고, 데이터에 더욱 적합하도록 부품의 치수를 변경하고, 특정 유형의 모델을 추가하고, 모델 호출 시퀀스를 변경하고 및 부품이 존재 또는 부존재하는 지에 대해 판정하기 위한 판정기능을 변경한다.
사용자가 시스템을 임의의 시간에 디버그 모드로 설정할 수 있음을 알아야 한다. 또한 디버그 모드는 검사 플랜내의 임의의 모델로 문제를 정정하기 위해 주로 사용된다는 것을 알아야 한다. 디버그 프로세스로 들어가라는 결정이 내려지면, 처리는 단계(64,66)의 디버그 및 인지 프로세스로 간다. 컴포넌트에 대한 새로운 모델이 배경 모드에서 인지되었으면, 검사 플랜내의 하나에 대해 대체된다. 그렇지않으면, 특정 모델에 대한 인지 단계는 상이한 이미지 셋트에 대해 반복된다. 처리는 문제있는 컴포넌트에 대한 모델이 새로운 "디버깅된" 모델로 대체되는 갱신 검사 플랜 단계로 간다.
디버그 프로세스가 수행되어야 하는 지의 여부에 관한 결정은 두 방법중의 하나를 취할 수 있다. 한 방법에서, 검사 시스템은 스스로 특정 부품을 검사 하는데 있어서의 문제점을 확인한다(또는, 검사 시스템은 스스로 예로서, 특정 부품을 검사 하는 데 있어서 열악한 결과를 산출하는 모델과 같은 특정 모델로 문제점을 스스로 확인한다). 이 경우, 디버그 인식 프로세스의 일부분으로서 검사 시스템 은 사용자가 (1) 현안이 되는 부품이 그 유형과 기타 부품과는 상이한 외관을 갖는 부품에 대해, 이것은 통상적인 변형인가?; 및 (2) 시스템이 상기 부품을 검사하는 데 있어서 곤란한 점을 갖는 경우, 그것이 손상되었는 가?와 같은 일련의 질물을 할 수 있게 한다.
디버그 및 후속하는 인지 프로세스는 시스템이 문제있는 부품으로서 확인한 부품을 위한 교정된 특정 모델 또는 모델의 집합이 되는 결과로 된다. 새로운 모델 또는 모델의 집합이 생성된 후 문제 컴포넌트를 위한 검사 플랜은 갱신된다.
또다른 한 방법에서, 시스템은 부품을 올바르게 검사하는 문제를 갖는다는 것을 인식하지 못한다.(즉, 시스템은 사용하는 모델이 부정확한 결과가 된다는 문제). 예로서, 시스템은 그것이 오류 포지티브(악성 부품을 양호한 부품으로서 표기 또는 빈 위치를 부품을 갖는 위치로 표기) 및 오류 네거티브(양호한 부품을 악성 부품으로서 표기 또는 부품을 갖는 위치를 빈 위치로 표기)를 제공하다는 것을 인식하지 못한다. 이 경우, 외부 중재가 요구된다(예로서, 사용자 또는 시스템에대해 외부적인 어떤 것은 시스템이 부품을 식별하는 데 있어서 문제를 갖는다는 것을 인식하여야 한다). 문제가 확인되면, 시스템은 그 사실이 통지되고 오류 포지티브 및 오류 네거티브의 갯수를 감소시키도록 모델을 변경하라고 명령된다. 수동 명령에 응답하여 및 오류 포지티브 및 오류 네거티브의 갯수를 감소시키기 위해, 시스템은 디버그 모드 프로세스를 실행하고, 인지하고 검사 플랜을 갱신시킨다. 디버그 및 후속하는 인지 프로세스 동안, 사용자는 예로서, 오류 포지티브 및 오류 네거티브로 되는 이미지를 시스템에 제공할 수 있다.
디버그 모드 프로세스는 임의의 시간에 구현될 수 있음을 알아야 한다(옐서, 단일 컴포넌트 또는 보드에 대한 검사 후 또는 일백개의 컴포넌트 또는 보드에 대한 검사 후).
처리는 그후 처리되어야 할 많은 보드가 남아있는 지의 여부에 대한 판정이 내려지는 판정 단계로 진행한다.
인지 단계(64)의 완료시, 검사 플랜은 문제 컴포넌트 또는 PCB에 대해 갱신된다. 즉, 인지 단계(64)에서 생성된 새로운 모델은 열들한 검사 결과로 되는 부품 또는 PCB와 연관된다. 따라서, 그후에 특정 부품이 검사되고, 새로운 모델 또는 모델들이 검사 프에서 사용된다. 모든 검사 플랜은 특정 보드 종속적이라는 것을 알아야 한다.
처리는 그후 더 많은 PCB를 검사하기 위해 판정이 내려지는 단계(62)로 다시 진행한다. 처리를 위해 더 많은 PCB가 남아있다면, 처리는 다음 보드가 검사되는 단계(68)로 진행한다.
다음 보드가 검사 된 후, 처리는 광학적 배경 모델 구축 프로세스 단계가 발생하는 단계(70)로 진행한다. 따라서, 정규 검사 동안, 배경 모델 인지 단계가 수행될 수 있다.
배경 모델 인지를 수행하기 위한 단계는 인지하기 위한 단계와 동일하다. 배경 모델 인지는 대다수의 보드에 대해 데이터를 처리할 수 있고 따라서 단계(56)의 초기 인식 프로세스에서 사용된 데이터의 양에 비해 상당히 많은 데이터를 포함한다.
상기한 바와 같이, 디버그하지 않는 것으로 결정되면, 처리는 처리되어야 할 많은 보드가 남아있는 지의 여부에 대한 판정이 행해지는 판정단계로 직접 진행한다.
따라서, 단계(62)에서 처리되어야 할 어떠한 보드도 남아있지 않다는 판정이 내려지면, 처리는 끝난다. 처리되어야 할 많은 보드가 남아있다는 판정이 내려지면, 루프는 검사되는 다음 보드가 식별되어 검사되는 단계로 가고 배경 모델 구축 및 디버깅의 선택적인 단계가 반복된다. 몇몇 실시예에선 배경 모델 인식 및 디버깅이 항상 수행되는 것이 바람직하지 않다는 것을 알아야 한다. 부품 플랜은 보관되어 이 플랜과 연관된 보드가 다시 구축되면 나중에 사용될 수 있다는 것을 알아야 한다.
도 3, 3a 및 4는 인식 프로세스의 구성요소들을 설명한다. 모델은 특정 보드 종속적인 이미지로 트레이닝될 필요가 있다. 한 부품 유형에 대해, 모델은, (1) 얼바른 방향으로 회전된 임의의 서라운드없는 부품의 정확하게 크로핑된 이미지, (2) 페이스트상에 있는, 그 서라운드를 깆춘 부품("플레이스" 이미지로서 알려짐), (3) 부품없는 서라운드 및 페이스트된 패드의 예("페이스트" 이미지로서 알려짐), (4) 부품없는 서라운드 및 베어 패드의 예("베어" 이미지로서 알려짐)와 같은 예들을 조사할 필요가 있다. 그러므로, 한 특정 실시예에서, 부품에 대해 모델을 트레이닝시키는 것이 요구되는 최소 갯수의 이미지 예는 4개이다. 그러나, 몇몇 응용분야(예로서, 몇몇 인쇄회로 기판 검사 응용분야)에서, 베어 보드는 중요하지 않은 것으로 알려졌다. 바람직하게 상기 이미지(2)-(4)는 동일한 기준 지정자(즉, PCB상의 동일 위치에 있는 동일 부품으로부터) 및 상기 이미지(1)는 상이한 기준 지정자(즉, 상기 이미지(2)-(4)와는 PCB상에서 상이한 위치에 있는 동일 부품)으로부터 이다. 이미지(1)는 특정 보드 비종속적 기술에 의해 독립적으로 캡춰될 수 도 있다(예로서, 보드 없이 이미지화될 수 있다).
부품을 검사하는법에 대한 학습에서, 발생할 수 있는 다양한 가변성이 존재한다. 이것들은 색/휘도 가변성, 부품 사이즈 변화, 불균등 조명, 다소의 산화된 금속, 상이한 유형의 페이스트, 및 다양한 베어 보드 특징을 포함한다. 베어, 페이스트, 및 플레이스 이미지를 동일한 기준 지정자로부터 생기도록 제한함으로써, 적어도 인식 동안 보드 가변성을 제거할 수 있다. 이미지 모델이 매칭을 수행하는 법으로 인해 스냅숏은 상이한 기준 지정자로부터 생기거나 상이한 보드로부터 생긴다는 것을 알아야 한다. 이미지 모델은 부품이 관련 영역의 보관된 스냅숏과 정확히 같은 지를 알기 위해 검사한다. 스냅숏이 플레이스 이미지와 동일한 기준 지정자로부터 생긴 것이면, 스냅숏은 부품을 완전하게 매칭시킨다(차분이 0으로). 부품은 실질적으로 인스턴스별로 외형이 매우 많이 변동한다. 인식 프로세스에서 가변성을 정량화한다. 스스로 매칭된 스냅숏은 부품 외형 변동의 양에 대한 어떠한 것도 시스템에 알려주지 않는다.
시스템이 필요로 된 예로부터 스냅숏을 자동적으로 크로핑할 수 있게하는 것이 바람직하다. 대안으로는 사용자가, 배경상의 부품의 이미지 또는 부품을 포함하는 보드의 이미지를 반입, 부품을 고무로 구속하고, 부품을 복사하여 세로운 이미지에 붙이고, 크로핑된 이미지를 적절한 방향으로 회전시키고 그것을 보관하게 하는 것이다. 이와같은 사용자 간섭은 다수의 부품 유형이 있는 경우 상당히 부담스러운 일이다.
도 3에서, 디폴트 방향에서 회전되어야 할 컴포넌트의 스냅숏을 자동으로 획득하기 위한 프로세스가 나타나 있고 도 3에 기술된 방법은 부품의 크로핑된 이미지를 자동으로 획득하는 법을 설명한다.
도 3을 참조하면, 처리는 검사되는 객체의 "디폴트 스냅숏"이 획득되는 단계(72)로부터 시작한다. 부품의 실제 스냅숏을 얻는 최선의 방법은 소망하는 부품을 관련 영역에 위치지정하기 위해 이미 정의된 검사 프로세스를 사용하는 것이다. 부품이 양호하게 위치지정되어 있으면, 부품의 이미지는 디폴트 방향으로 용이하게 회전되어 크로핑될 수 있다. 현재 이미지 모델 및 구조적 모델은 검사하기 위해 스냅숏을 필요로 한다. 원형 문제 특성을 해결하기 위해, 부품의 중요한 비주얼 특성의 일부 및 소망하는 컴포넌트의 동일한 기하학적 특징을 갖는 합성 스냅숏으로 시스템을 촉진시킬 수 있다. 또한, 유사한 외형 부품의 스냅숏도 사용될수 있다. 예로서, 부품 번호 123-000-000의 CC0805의 스냅숏이 필요하면, 동일 패키지 유형 CC08-5을 공유하지만 부품 번호가 123-000-001인 이전에 캡춰된 스냅숏을 사용할 수 있다. 이들 디폴트 스냅숏은 데이터베이스(12)에 또는 검사 플랜 자체에 저장될 수 있다.
디폴트 스냅숏이 제공되는 방법에 무관하게, 처리는, 스냅숏이 디폴트 이미지 모델 및 디폴트 구조적 모델을 구축하기 위해 사용되는 단계(74)로 간다. 단계(74)에서 생성된 이미지 모델 및 구조적 모델은 그 모델들이 어떠한 특정 보드 종속적 정보가 아니기 때문에 "디폴트" 모델로서 참조된다.
처리는 기하학적 모델이 생성되거나 구축된 순수한 기하학적 정보만이 있는 단계(76)로 간다(예로서, 패키지 라이브러리에서 이용가능한 기하학적 정보). 따라서 패키지 라이브러리의 부품에 대한 정보로부터 직접 기하학적 모델을 구축할 수 있다.
다음에 단계(78)에 나타낸 바와 같이, 검사되는 PCB상의 관련 영역(ROI)이 확인된다. ROI는 고려되는 객체를 포함하여야 한다(예, 검사되는 회로 컴포넌트와 같은 부품). 처리 단계(80)에서, 디폴트 이미지 및 디폴트 구조적 모델은 부품이 ROI에 있는 지의 여부를 판정하기 위해 ROI에 적용된다. 처리는 부품이 ROI에 있는 지의 여부를 판정하는 단계(82)로 진행한다. 이와같이, 이미지 모델 및 구조적 모델은 부품이 ROI에 있는 지의 여부를 판정하는 데에 사용된다.
판정 블록(82)에서, 부품이 존재하지 않는다고 결정되면, 처리는 단계(80)에서 새로운 ROI가 이미지 및 구조적 모델들의 적용을 위해 입력되는 단계(78)로 되돌아간다. 이 루프는 부품이 몇몇 ROI에 존재한다는 것을 이미지 및 구조적 모델들이 지시할 때 까지 또는 모든 ROI가 이미 탐색되었고 부품이 존재하지 않는 것으로 여겨질 때 까지 반복된다.
판정 블록(82)에서, 부품이 존재한다고 결정되면, 처리는 단계(84)로 진행한다. 단계(84)에서, 구조적 모델은 ROI의 PCB상에서 개략적으로 위치지정된 부품 위치를 기하학적 모델에 제공한다. 구조적 모델로부터의 출력은 ROI<dx, dy>(예상위치로부터의 델타 위치)에서의 부품의 중앙 및 부품이 회전되는 법에 대한 개략적인 추정치를 포함한다. 구조적 모델은 <dx, dy> 및 쎄타를 고려된 기하학적 모델인 부품의 각각의 에지의 위치로 더욱 변환하는 단계로 갈 수 있다.
기하학적 모델은 부품의 경계 및 임의의 회전각도(θ)를 서브픽셀 크기 정도(예, 픽셀의 수십분의 일)의 정확도로 변환시킨다.
단계(86)에 도시된 바와 같이, 부품의 정확한 경계 및 그 회전은 공지되어 있고, 디폴트 방향으로 회전될 수 있다. 부품은 부품 라이브러리에 정의된 "명목 각도"를 획득하기 위해 마이너스 회전각도(-θ)와 동일한 양만큼 회전된다(즉, 부품 라이브러리는 제로 각도 회전에 대한 정의를 유지하고 이것은 특정 인쇄회로 기판상에서 발견된 것과 관련이 있을 수 있다). 예로서, 시스템이, 부품이 반시계 방향으로 1도 만큼 회전되고 부품의 디폴트 방향이 시계 방향으로 90도 인 것을 발견하면, 시스템은 이미지를 정확한 방향으로 변형시키기 위해 부품 이미지를 시계 방향으로 91도 만큼 회전시킬 수 있다.
단계(88)에 나타낸 바와 같이 스냅숏이 발견되어 크로핑되면, 기준 지정자는플레이스된, 페이스트 및 베어 예를 제공하기 위해 무작위로 선택될 수 있다.
도 3a는 특정 보드 종속 예 및 스냅숏상에서 모델을 트레이닝시키는 한 방법을 설명한다. 이것은 도 2의 단계(56)에 대응한다. 도 3a를 참조하면 구조적 모델에서 이미지에 대한 인지 프로세스를 설명한다. 처리는 구조적 모델 및 이미지 모델이 반입되어 크로핑된, 페이스트, 플레이스 및 베어 예 ROIs에 적용되는 단계(90)에서 시작한다. 도 3a의 처리 흐름에서, 이미지는 무작위로 선택된다. 그러나, 몇몇 응용분야에선, 인지 프로세스에서 사용되는 최선의 이미지 예들의 셋트를 선택하는 것이 바람직하다. 이러한 기술이 도 4와 관련하여 하기에 설명된다.
처리는, 구조적 모델의 속성 또는 디폴트 정성적 및 정량적 특성이 구조적 모델을 이미지에적용함으로써 인지된 값으로 대체된다. 한 실시예에서, 4개 이미지 즉, 크로핑된, 플레이스된, 페이스트 및 베어 이미지가 사용된다. 그러나, 본 발명은, 그것이 매우 특유한 인지 흐름이므로 4개 이미지에 제한되지 않는다. 구조적 모델의 속성은 여러 레벨에서 수정될 수 있다. 최상위 레벨에서, 구조적 모델은 그것이 페이스트 이미지 및 플레이스 이미지상에서 양호 및 열악하게 수행된 정도를 단지 기록할 수 있을 뿐이다. 이 수행정도는 페이스트 이미지에 대한 하나의 스코어 및 플레이스 이미지에 대한 하나의 스코어를 지닌 스코어의 셋트로서 저장될 수 있다.
구조적 모델은 하위 레벨로 수정될 수 있다. 플레이스된 이미지에 가장 잘 맞도록하기 위해 그리고 페이스트 이미지와 가장 잘 구별하기 위해 그 정량적 및정성적 특성을 변경하도록 지시한다.
처리는 이미지 모델의 디폴트 속성이 이미지 모델을 4개 이미지(크로핑된, 페이스트, 플레이스된, 및 베어 이미지들)에 적용함으로써 인지된 값으로 대체되는 단계(94)로 진행한다.
구조적 모델과 유사하게, 이미지 모델은 여러 상이한 레벨에서 수정될 수 있다. 첫째, 스냅숏은 모델과 연관된다. 둘째, 페이스트 이미지 및 플레이스된 이미지상에서의 이미지 모델의 스코어는 저장될 수 있다. 또한, 이미지 모델내의 기타 속성은 플레이스된 이미지에 가장 잘 맞도록하기 위해 그리고 페이스트 이미지와 가장 잘 구별하기 위해 수정될 수 있다. 예로서, 위치 (x1, y1) 및 (x2, y2)에 있는 페이스트 이미지에서 이미지 모델은 양호한 매치를 제공한다. 이것은 특징이 부품과 매우 유사하게 보이는 베어 보드상에 있음을 의미한다. 새로운 영역에 적용된 경우 이미지 모델은 (x1, y1) 또는 (x2, y2)에서 가장 적합하다는 것을 발견하면 낮은 신뢰도를 부여하도록 스코어 함수를 생성할 수 있다.
처리는, 기하학적 모델을 4개 이미지에 적용함으로써 인지된 값으로 기하학적 모델의 디폴트 속성이 대체되는 단계(95)로 진행한다. 예로서, 기하학적 모델은 부품의 실제 치수 및 플레이스된 이미지와 스냅숏으로부터 그것의 서브부품을 측정할 수 있다. 디폴트 기하학적 모델에 저장된 치수는 모든 판매자의 것에 대해 부품 유형을 위한 예상 값의 평균이다. 기하학적 모델은 부품 및 보드 경계에서 그래디언트 및 서브부품간의 강도를 인지할 수 있다. 기하학적 모델은 또한, 이미지가 색으로 제공된다면, 그래디언트를 계산하기 위해 최량의 색 채널을 인지할 수있다.
처리는 이제 종료한다.
트레이닝시키기 위해 베어, 페이스트, 및 플레이스된 이미지들의 무작위 셋트를 선택하는 것은 (도 3a에 설명된 바와 같이)최적의 프로시저가 아닐 수 있다. 시스템은 최량의 수행능력을 제공하는 이미지 예들을 선택하기 위해 상이한 보드 유형(예, 베어, 페이스트, 및 플레이스)에 대해 모든 기준 지정자를 조자해야 한다.
따라서, 도 4를 참조하면, 도 3a와 연계하여 상기한 인지 프로세스에서 사용하기 위해 크로핑된, 페이스트, 및 플레이스된 및 베어 이미지들을 선택하기 위해 바람직하다면 수행될 수 있는 단계들이 나타나 있다.
처리는 (1) 보드 유형(예, 베어, 페이스트, 플레이스), (2) 검사 플랜을 반입함으로써 단계(96)에서 시작된다. 플레이스 보드 예는, 보드상의 부품의 배치에서 에러 및 생략사항이 있을 수 있기 때문에 흔히 "브론즈 보드"로 칭해진다. "리 단계(98)에서 각각의 부품 유형과 연관된 디폴트 모델이 생성되고 단계(100)에서, 특정 부품 유형에 대해, 디폴트 모델이 하나이상의 기준 지정자로 트레이닝되고 부품 유형과 연관된 그밖의 모든 기준 지정자에게 적용된다. 컴포넌트가 위치되어야 하는 인쇄회로 기판상의 각각의 위치(또는 보드 위치)에는 고유한 기준 지정자가 할당됨을 알아야 한다. 따라서, 검사 플랜에서 각각의 기준 지정자는 인쇄회로 기판상에서의 특정한 고유 위치, 및 특정 부품이 위치되어야 할 보드 위치를 지정한다.
단계(102)에서, 특정한 기준 지정자에 대해, 특정한 부품 유형의 디폴트 이미지 및 구조적 모델은 부품이 "브론즈" 보드에 존재하는 지 및 그 기준 지정자에 있는 페이스트 및 플레이스 보드에 존재하지 않는지를 먼저 검사하는 데에 사용된다.
처리는, 단계(102)로부터의 표명 셋트가 검증되면 모델들이 기준 지정자 예로부터 유도된 3개 이미지로 트레이닝되는, 단계(104)로 진행한다(3개 이미지 전부를 트레이닝시킬 것이 요구되지는 않는다. 몇몇 실시예에서 베어 보드는 유용하지 않은 것으로 알려졌다). 단계(106)에서 알 수 있는 바와 같이, 인지된 모델은 그후 "브론즈" 플레이스 보드와 베어 및 페이스트 보드상에 있는 부품 유형과 연관된 나머지 기준 지정자를 검사하기 위해 사용될 수 있다.
단계(106)에서 알 수 있는 바와 같이, 특정 기준 지정자로 트레이닝된 모델은 "부품이 존재한다"와 같은 트루 포지티브 예를 "부품이 존재하지 않는다"와 같은 트루 네거티브 예로부터 얼마나 양호하게 분리할 수 있는 지의 관점에서 등급이 정해질 수 있다. 트레이닝 예에서 사용된 각각의 기준 지정자에 대해, 상기 분리를 제공하는 데에 있어서 얼마나 효과적인 지를 등급으로 나타낼 수 있다. 단계(110)에 나타난 바와 같이, 최선의 분리를 제공하는 이미지 셋트의 예는 완전한 제품 보드 검사에서 사용되는 트레이닝 예로서 선택되어야 한다.
단계(112)에서 알 수 있는 바와 같이, 트레이닝 이미지의 한 셋트는 트루 포지티브와 트루 네거티브를 분리하기 위해선 한 부품 유형의 모델에 대해 충분하지 못하다. 예로서, 한 부품 유형의 모델에 대해, 보드상에 갈색 및 흰색 인스턴스가있을 수 있다. 갈색 또는 흰색 예 사이에서 선택하기 보단, 두 개의 모델 셋트를 트레이닝시킬 수 있는, 그 한 셋트는 갈색부품로 다른 하나는 흰색 부품으로 트레이닝시킬 수 있다. 이미지 및 구조적 모델 스코어의 출력에 대한 클러스터링 알고리즘은 하나이상의 기준 지정자가 요구되는 지를 판정하기 위해 사용될 수 있다. 클러스터링 알고리즘은 필요로 되는 기준 지정자의 갯수를 결정할 수 있다.
단계(114)에서, 각각의 클러스터를 위해 기준 지정자 셋트의 이미지가 선택된다. 디폴트 이미지 모델 및 구조적 모델은 각각의 클러스터에 대해 생성된다. 그후 각각의 <모델, 기준 지정자> 셋트에 대한 인지 프로세스가 수행된다.
처리는 그후 인지 모델이 검사 플랜내에 보관되는 단계(116)로 간다. 처리는 종료한다.
도 4는 단일한 3개 이미지(한 예인 베어, 페이스트 및 플레이스된 이미지들)가 트레이닝을 위해 사용된 시나리오를 설명한다. 기타 N-1개 이미지들은 모델이 양호하게 작동하는 정도를 판정 또는 측정하는 트레이닝을 위해 사용된다. 그러나 하나이상의 기준 지정자가 단계(104)에서 트레이닝을 위해 사용될 수 있고 이에따라 모델에게 테스트 셋트(즉, 남겨진 모든 것) 대한 최선의 구별능력을 부여하는 최선의 기준 지정자의 셋트를 선택하는 것이 바람직하다.
예로서, 두 개의 기준 지정자를 이용할 수 있으면, 하나는 스냅숏을 제공하는 데에 사용할 수 있고 다른 하나는 페이스트 및 플레이스된 모델들에서 모델들을 트레이닝시키는 데에 사용될 수 있다. 다른 예로서, 3개 기준 지정자가 주어지면, 제1 기준 지정자는 스냅숏을 위해 사용될 수 있고 나머지 두 기준 지정자는 트레이닝을 위해 사용될 수 있다. 이것은 N개 기준 지정자를 이용할 수 있고 M개 기준 지정자(여기서 M은 N 보다 작다)가 테스팅에 이용할 수 있고 트레이닝을 위해 N-M 기준 지정자를 남기는 경우까지 확대될 수 있다. 마지막으로, 이 프로세스는 최선의 스냅숏 및 최선의 ROIs의 트레이닝 셋트를 선택하는 데에 사용될 수 있다.
상기한 설명에서, 페이스트, 플레이스 및 베어 트레이닝 이미지들을 선택하는 것으로부터 스냅숏을 선택하는 것 사이에 어떠한 구별도 없음을 알아야 한다. 최악의 경우에, 모든 기준 지정자는 스냅숏을 위한 후보자로서 검사되어야 한다. 그러나, 실제적으로 이것은 시간이 너무 많이 걸린다.
각각의 부품 유형을 위한 모델이 생성되어 이미지 예의 셋트로 트레이닝되면, 시스템은 보드를 검사할 준비가 된다. 도 5는 다수의 모델을 이용하는 검사 프로세스의 단계들을 예시한다.
도 5를 참조하면, 처리는 특정 부품 유형을 포함해야 하는 보드상의 관련 영역의 이미지를 먼자 획득함으로써 단계(118)에서 시작한다. 처리는 그후 그 부품 유형과 연관된 모델이 획득되는 단계(120)로 진행한다.
다음에, 단계(122)에서 알 수 있는 바와 같이, 이미지 모델이 캡춰된 이미지에 적용된다. 임의의 모델로, 부품 중심 및 회전을 판정하기 위해 모든 가능한 회전에 있는 모든 가능한 중심 위치에 모델을 적용하는 것이 바람직하다. 이것은 소비 탐색 방법으로 공지되어 있고 이미지 모델내의 스냅숏과 매우 유사한 부품이 있다면, 이미지 모델은 그것을 발견하게되는 것을 보장한다. 속도 관점에 대해 이미지 모델은 POI를 탐색하는 경우 가능한 회전 및 중심의 셋트를 샘플링한다. 그러나, 샘플 사이즈가 증대함에 따라, 모델이 부품을 발견할 확률은 감소한다. 속도 및 효율을 최대화하기 위해, 덜 정밀하게 샘플링하고 그후 실제 부품 중심 및 회전에 대한 최량의 후보자인 영역 급앙에서 정밀하게 샘플링하는, 덜 정밀에서부터 정밀로 전략으로 적용한다. 이 전략은 이미지 모델만이 아닌, 임의의 모델에 의해 사용될 수 있다.
처리는 그후, 부품이 존재한다고 이미지 모델이 지시하는 것에 대해 판정이 내려지는, 판정 블록(124)으로 진행한다.
이미지 모델이 부품이 존재하는 것으로 여긴다는 판정이 행해지면, 처리는 이미지 모델이 부품을 발견한 비교적 소영역 근방을 탐색하는 데에 구조적 모델이 사용되는 단계(126)로 진행한다. 부품이 존재하는 지를 모른다는 판정이 내려지면, 처리는 ROI를 전부 탐색하는 데에 구조적 모델이 사용되는 단계(128)로 진행한다. 구조적 모델이 ROI를 전부 탐색하는 경우, 덜 정밀에서부터 정밀로 전략 방법을 채용할 수 있다.
다음에 단계(130)에서, 구조적 모델의 결과에 기초하여, 부품이 존재하는 지의 여부에 관한 최종 판정이 행해진다. (부품이 존재하는 지의 여부에 관한 판정에서, 구조적 모델은 이미지 모델을 그 판정 기능의 일부로서 사용할 수 있다). 부품이 존재하지 않는 것으로 여겨지면, 처리는 종료한다.
부품이 존재하는 것으로 여겨지면, 처리는, 기하학적 모델이 부품을 정밀하게 위치시키는 데에 사용되고 부품에 대한 더욱 상세한 정보를 제공하는 데에 사용되는 단계(132)로 진행한다. 그후 처리는 종료한다.
도 6 및 6a는 특정 기준 지정자에 있는 특정 컴포넌트를 위한 검사 프로세스의 상세한 단계들을 예시한다. 3개 모델에 의한 응용분야외의 단계들이 확인된다. 이미지 및 구조적 모델들이 부품을 지시하는 지에 관한 판정을 하는 판정 프로시저도 설명된다.
단계(134)에서, 부품 유형을 위해, 모델들은 검사 플랜에 적재된다. 다음에 단계(136)에 나타난 바와 같이, 시스템은 특정 기준 지정자를 위한 부품의 화상 및 그 서라운드를 획득한다. 이 이미지는 "관련 영역" 또는 ROI로 표기된다. ROI는 여러 카메라로부터 이미 획득되거나 분석된 보드의 대형 화상으로부터 크로핑될 수 있다. ROI의 사이즈에 대한 판정은 부품 유형, 그 사이즈, 사용자에 의해 입력된 위치 공차, 및 모델내의 임의의 서라운드 영역의 사이즈에 좌우된다.
제1 옵션 단계(138)는 베어 및 페이스트된 보드상에 나타나는 특징에 대한 ROI를 검사하는 것이지만, 부품이 존재하는 경우 교합되어야 한다. 이들 특징은 볼 그리드 어레이와 같은 숨겨진 연결부를 갖춘 부품, 또는 집적회로와 같은 큰 부품 아래에 숨겨진 비아, 트레이스 및 패드(페이스트된 또는 베어)를 포함한다. 이 단계의 한 구현은 예상된 사이즈를 지닌 원형, 장방형 또는 선형 특징을 조사하는 것이다. 또다른 구현은 현재 ROI를 인지된 페이스트 보드상의 동일한 ROI와 비교하는 것이다. 단계(140)에서 고 신뢰도를 지닌 교합 특징이 존재한다는 판정이 내려지면, 부품이 부존재함을 의미하기 때문에 처리는 종료한다.
단계(140)에서 교합 특징이 존재하지 않는다는 판정이 내려지면, 어떤 것(예, 올바른 부품 또는 그밖의 것)이 이미지에 존재하는 것으로 추측된다. 시스템은 그후 우세한 각도 특징을 조사하기 위해 ROI를 처리하는 제2 옵션 단계(142)를 수행한다. 이를 위한 한 방법은 이미지내의 각각의 지점에서 그래디언트 방향 및 크기를 계산하는 것이다. 각도 특징에 기초하여, 시스템은 이미지내의 객체의 우세한 각도를 계산한다. 부품이 존재하지 않으면, 보드 트레이스의 배경 및 패드는 0, 90, 180 및 360도인 우세한 각도를 나타낸다. 이것은 이들 특징이 일반적으로 카메라 프레임에 대해 나란하거나 수직이다. 부품이 존재하면, 그것들의 특징은 우세한 각도의 셋트에 기여한다. 최량의 우세한 각도, 0, 90, 180 및 360도 이외인, 쎄타는 나중에 사용하기 위해 기록된다. 이것은 시스템에게 부품이 위치되어 있지 않은 곳에서, 부품이 얼마나 회전됐는 지에 대한 추정치를 부여한다.
다음에 단계(144)에서, 이미지 모델은 ROI 이미지에 적용된다. 이미지 모델은 크로핑된 스냅숏과 매우 유사하고 베어 및 페이스트 이미지와는 상이하게 보이는 패턴을 ROI가 포함하는 지를 조사한다. 그것은 올바른 부품이 존재한다는 확률 및 신뢰도를 계산하기 위해 인지된 데이터를 사용한다. 이미지 모델은 부품이 예상 위치로부터 수평이동되고 예상 회전을 넘어 회전된 경우 이미지내의 복수의 위치에서 복수의 회전에 있는 스냅숏에 매칭하여야 한다. 속도를 증가시키기 위해, 이미지 모델은 ROI내의 모든 위치에 있는 부품에 대해 검사하지 않는다. 부품 사이즈 및 유형은 현재 이미지 모델이 이미지 공간을 덜 정밀하게 샘플링하는 법을 판정한다. 또한, 속도를 증가시키기 위해, 이미지 모델은 단지 예상 회전 및 쎄타와 같은 두 회전에 대해서만 검사한다. 덜 정밀한 탐색 후, 이미지 모델은 부품 중심에 대한 최선 후보자 근방을 정밀 탐색한다. 이미지 모델은 ROI내의 부품에대해, 최량 위치인 <x1, y1>과 가설 각도인 쎄타2를 출력한다. 그것은 또한 부품이 존재한다는 확률인 파이를 출력한다.
다음에 단계(146)에서, 이미지 모델이 부품이 존재한다고 지시하는 지의 여부에 관한 판정이 행해진다. 이것은 파이로 표기된, 제1 임계값에 기초한다. 매우 단순한 임계값이 몇몇 응용에서 사용될 지라도 임계값을 제공하기 위해 매우 복잡한 임계값을 이용하는 것이 유익하거나 바람직하다. 예로서, 정교한 함수가 계산된 확률 파이, 이미지 스냅숏과 그 부품을 위한 후보자 위치간의 실제 매치 스코어, 후보자 위치, 및 부품이 실제 존재하는 지에 대해 판정하기 위해 이미지가 페이스트가 아닐 확률을 취할 수 있다.
부품이 존재하고 인지된 부품과 거의 정확히 같다고 이미지 모델이 확신하면, 처리는 단계(148)로 가고 구조적 모델은 부품이 존재한다는 것을 검증하기 위해 사용된다. 그것은 이미지 모델이 부품을 발견한 소영역 근방을 탐색함으로써 위치지정 레졸루션을 증대시키려 한다. 이 경우, 위치 <x1, y1>과 각도 쎄타2 근방의, 1 또는 2 픽셀과 같은 소형 사이즈에서, 부품을 위한 검사만이 행해진다.
부품이 존재한다고 이미지 모델이 확신하지 않으면, 처리는 구조적 모델이 ROI를 전부 탐색하는 단계(150)로 간다. 속도를 위해, 구조적 모델은 ROI내의 모든 위치 및 회전에 있는 부품에 대해 검사하지 않는다. 부품 사이즈는 현재 구조적 모델이 ROI를 덜 정밀하게 샘플링하는 법을 결정한다. 또한 축 속도 증대를 위해, 구조적 모델은 예상회전 및 쎄타인 두 개의 가능한 회전에 대해서만 검사한다.
구조적 모델은 부품 존재하는 지를 최종 결정한다. 어느 한 경우에도, 부품이 ROI에 있으면, 단계(152)에 나타난 바와 같이, 최적 위치 <x3, y3> 및 각도 쎄타3를 돌려준다. 이 정보는 기하학적 모델로 전잘되고, 이것은 그후 단계(156)에 나타낸 바와 같이, 부품을 서브픽셀 정확도로 위치지정하고 쎄타 추정치를 더욱 정확하게 한다. 기하학적 모델은, 단계(158)에 나타낸 바와 같이, "존재" 라는 표기, 최종 중심 위치 <x3, y3> 및 각도 쎄타4를 돌려준다.
구조적 모델이 부품은 존재하지 않는 것으로 결정하면, 시스템은 정지하고 "부존재" 라는 표기를 나타낸다.
도 6 및 6a에 설명된 흐름은 속도를 위해 최적화되었다. 베어 보드 특징을 비교하고 쎄타 추정치를 계산하는 선택적 프리커서 단계는 생략될 수 있다. 대부분의 완전한 모드에서, 이미지 및 구조적 모델들은 ROI내의 모든 부품에 대한 모든 가능한 위치를 탐색할 수 있다. 다양한 각도로 부품을 조사하는 탐색을 수행한다. 또한, 위치 및 회전을 덜 정밀에서 정밀로의 방식에 의한 탐색이 수행된다.
인지 및 디버그를 통해 대안 이미지 및 구조적 모델들이 지정될 수 있다. 이 경우, 적절한 시간에서, 두 개 모두 적용될 수 있다. 어느 하나가 매칭되면, 프로세스는 도 4에 지정된 바와 같이 진행한다.
도 6 및 6a의 판전 기능은 "파이< 확률이다" 보다 정교한 수식 또는 기타 인자에 기초할 수 있음을 알아야 한다. 이것은 단지 예일 뿐이다. 또한, 모델 스코어의 혼합된 조합은 구조적 모델 판정 함수와 같은 판정 함수에서 사용될 수 있다.
도 6 및 6a는 "존재" 및 "부존재"만을 출력함을 알아야 한다. 어떤 것이 이미지에 있지만 올바른 부품이 아닌, 중간 시나리오가 있다. 이 경우, 구조적 모델 스테이지에서, 제2 판정 함수를 사용하여, 확률이, 부품은 존재한다는 중간치이면, 시스템은 진단을 행하여 "부분 손상", "악성 부품", "오염된 페이스트", " 부품이 묻힌"과 결과로 되는 기타 분석 프로시저로 분기한다.
마지막으로, 이 작업은 인쇄회로 기판을 목표로 하지만, 그 전략은 이미지 처리 영역 전반에 적용될 수 있다. 안면 인식, 사람 인식 및 인스턴스를 위한 이미지 데이터베이스 탐색을 위해 동일한 탐색을 사용할 수 있다.
도 7 및 7a를 참조하면, 명목 방향으로 도시된 이미지 모델(160), 구조적 모델(162) 및 기하학적 모델(164)은 캡춰된 이미지 영역(166,168)상에서 트레이닝된다. 이미지 영역(166,168)은 PCB의 부분에 대응한다. 이미지 영역(166)은 회로 컴포넌트가 장착되는 영역에 배치된 페이스트를 PCB가 갖는 다는 것을 의미하는 "페이스트" 이미지이다. 따라서, 어떠한 회로 컴포넌트도 이미지(166)에 도시되지 않았다. 이미지 영역(168)은 회로 컴포넌트(170)가 영역(168)내의 특정 위치에서 발견되어야 하는 것을 의미하는 "플레이스돤" 이미지이다.
3개 모델 유형의 각각은 소정 비쥬얼 클래스를 위해 제공된다. 한 인쇄회로 기판 검사 실시예에서 사용된 11개 클래스 유형은 도 2와 연계하여 상기에 나타내었다. 상기한 바와 같이, 11개 보다 많거나 적은 클래스 유형이 사용될 수 있고 클래스 유형의 특정 번호 및 클래스 유형 자체는 특정 응용에 따라 선택된다.
비쥬얼 클래스의 갯수를 결정하기 위해, 표면 장착 인쇄회로 기판을 위한 모든 대표적인 컴포넌트 유형이 고려된다. 컴포넌트 기반 공통 비쥬얼 특징의 부품을 클러스텅한다. 목표는 모든 유형의 부품에 대해 확장된 가장 적은 수의 비쥬얼클래스를 생성하는 것이다. PCB 컴포넌트의 경우에, 컴포넌트의 비쥬얼 유형을 지정한 컴포넌트 리드 유형을 발견하였다. 예로서, 엔드캡을 갖춘 컴포넌트는 레지스터 및 커패시터이고, 이것들은 모두 두 개의 금속 엔드캡 및 색을 갖는 보디를 갖는다. 걸 윙 리드를 갖춘 컴포넌트는 보디로부터 돌출하고, z축 하방으로 만곡되고 그후 곧바로 펴지는, 금속 리드를 갖푼 흑색 장방형 보디를 갖는 집적회로이다. 각각의 경우에, 전체 패키지의 사이즈 및 그 서붑이 변화하는 경우에도, 컴포넌트의 전체구성은 동일하게 유지된다. 이것은 구조적 모델이 이들 클래스를 표현하는 데에 적합하기 때문이다.
비쥬얼 스티물러스 및 비쥬얼 클래스를 클러스터링하는 기술은 인쇄회로 기판 검사기술에서 고유한 것은 아니다. 그 응용분야에 대한 비쥬얼 스티물러스의 클래스를커버하는 모델의 셋트를 생성하기 위해 대부분의 컴퓨터 비전 응용분야에에 적용된다. 한 예는 안면 검출 분야이다. 상이한 성별 및 연령대의 사람의 상이한 표정을 지닌, 상이한 조명상태하에서 안면은 시각적 유사성에 기초하여 그룹으로 클러스터링될 수 있다. 예를들어, 안면의 이미지 처리와 관련된 종래 작업에서, 전방안면이 6개 비주얼 클래스로 클러스터링되었다. 비주얼 클래스가 인간에 대한 어떠한 이름 또는 시맨틱도 갖지 않는 경우에도, 클러스터는 안면이 검출되면 문제해결에 상당히 도움이 된다. 처리되었을 때 새로운 이미지가 비주얼 클러스터중의 하나에 속하게 되면, 안면으로서 식별된다. 그 비주얼 클러스터에 속하지 않으면, 안면이 아닌 것으로서 식별된다. 진단에서 신뢰 측정은 새로운 이미지가 안면 클러스터에 근접한 정도에 대한 측정이다.
비주얼 클래스 클러스터링은 의료 이미징 응용분야(예, 센서를 통한 종양의 외형을 특징화 및 클러스터링), 군사적 응용분야(예, 합성 애퍼처 레이더로부터 물체를 탐지하기 위한 패턴을 분류화)와 같은 기타 응용분야 및 교통 흐름 모니터링과 같은 응용분야(예, 교통 흐름의 상이한 패턴을 분류화))에도 공통적이다.
이 특정 예에서, 모델(160-164)는 각각 이산(DISCRETE)이라 칭하는 비주얼 클래스 유형에 속한다. 11개 비주얼 클래스 유형의 각각은 전체 매칭 방법에 대한 9개 엘리먼트들인 (1)교합 특징; (2)쎄타 평가기 영역; (3)이미지 모델 특성; (4)구조적 모델 특성; (5)기하학적 모델 특성; (6)방향 표시 유형; (7)대안 모델; (8)인지 파라미터; (9)판정 기능을 포함한다.
교합 속성은 ROI내에 존재하는 것으로 예상된 교합특징을 식별한다. 쎄타 평가기 속성은 쎄타 평가기가 사용되는 영역을 식별한다. 구조적 모델 속성은 영역, 영역 특성 및 모델이 비교되는 관계를 설명한다. 기하학적 모델 속성은 높은 그래디언트 및 에지 속성의 조합을 설명한다. 방향 표시는 부품 보디에 존재하는 것으로 예상된 표시의 유형을 식별한다.
대안 모델 속성은 특정 클래스 유형의 각각의 부품을 위해 사용될 수 있는 대안 모델을 식별한다. 예로서, 대안 모델은 그것이 상하로 위치된 경우 부품의 이미지 모델을 포함한다. 인지 특성은 각각의 클래스 유형의 각각의 모델을 위해 인지되고 저장되어야 하는 특성에 관한 정보를 포함한다. 마지막으로 최종 특성은 부품의 존재여부에 대한 판정함수를 설명한다. 이 판정 함수는 하나이상의 모델 유형의 출력을 입력으로서 취할 수 있다. 인쇄회로 기판에 사용된 이산의 비주얼클래스 유형의 예는 아래의 표 1에 나타나 있다.
교합 쎄타 평가기 이미지 모델 구조적 모델 기하학적 모델 방향 표시 대안 모델 인지 노트 노트
예상됨 전체 ROI 또는 에러 경계 장방형에 대해 사용됨 엔드캡에 대해 잠재적 강조로 전체 이미지를 사용 3 보디 영역2 페이스트 영역2 배경 영역 멀티라인 동작 순서1)쎄타2) Dx Dy3) 쎄타 교정엔드캡의 외부 경계를 먼저 맞춤조정결과를 검증하기 위해 보디 경계를 사용부품에 대해 최선 조정하기 위해 오리지널 스펙으로부터 치수를 변경 대부분의 경우엔 방향 표시 없음몇몇 경우에 방향 표시는 줄무늬임 플립핑된 부품에 대해 모델을 가질 수 있음 기하학은 참 전체 사이즈 및 엔드캡을 알려줌.모든 구조를 저장함모든 모델 파라미터를 포함.엔드캡과 페이스트간의 비율을 결정보디 및 배경 구조적 모델은 존재/부존재에 대한 판정 표시자
이미지 모델(160)은 예로서, 상기한 기술에 따라 제공될 수 있는 크로핑된 이미지에 대응한다. 구조적 모델(162)은 인쇄회로 기판의 상이한 인스턴스상의 기준 지정자(R29)를 위해 사용된다.
패키지 유형(RC1206)을 위해 사용되는 구조적 모델은 기준 지정자(R29)에 있는 특정 부품을 정확히 식별하지 못하기 때문에, 새로운 구조적 모델이 보드상의 상기 특정 위치에 있는 상기 특정 부품을 위해 생성된다. 도 11a에서 알 수 있는 바와 같이, 패키지 유형(RC1206) 및 기준 지정자(R29)를 위해 새로운 모델이 사용되면, 위치의 그룹핑(210)으로 지시된 바와 같이 플레이스된 및 페이스트된 부품간에 양호한 분리가 달성된다. 그룹(210)은 기준 지정자(R29)에 있는 플레이스된 부품의 이미지를 위한 새로운 구조적 모델에 의해 생성된 스코어를 나타낸다. 따라서, 도 11a는 플레이스된 및 페이스트된 부품간에 양호한 분리가 달성되는 R29 모델(그룹(210))과 비R29 모델(플레이스된 이미지에 대한 그룹(204) 및 페이스트된 이미지에 대한 그룹(206))을 위한 식별 스코어를 도시한다.
도 11 및 11a는 이미지 예들의 클러스터를 검사함으로써, 팜지 및 인식을 위한 특수화된 또는 특정하게 트레이닝된 모델을 필요로 하는 컴포넌트를 식별하는 것이 가능함을 설명한다. 예로서, 도 4와 연계하여 설명된 단계(100-108)는 플레이스 및 페이스트 이미지들에 대해, 포지티브 및 네거티브 예들간의 차이를 모델이 구별할 수 있는 정도에 대한 측정치들인, 분리 플롯을 생성하는 기술을 예시한다. 도 4는 플레이스 이미지와 페이스트 이미지간의 양호한 분리를 부여하는 최량의 ㅁ의 셋트를 선택하는 법을 설명한다.
도 11a의 처리단계들의 끝에서, 부품 유형 RC1206을 위한 새로운 구조적 모델을 추가하였다. 이것은 두 개의 구조적 모델이 상기 부품 유형과 연관됨을 의미한다. 어떤 새로운 이미지 또는 기하학적 모델을 생성할 것인지를 판정하기 위해 동일한 프로세스를 사용할 수 있다.
이제 도 12를 참조하면, RC0805로서 식별된 컴포넌트에 매칭하는 이미지 모델이 도시되었다. 이 특정한 예에서, 페이스트 및 플레이스된 부품 그룹핑(214,216)간의 양호한 분리가 있고 따라서 이미지 모델은 페이스트 부품과 플레이스된 부품사이에서 양호하게 구별될 수 있음을 지시한다. 이러한 분석은 그 부품 유형에 대해, 매칭 방법이, 부품 탐지 및 위치 식별이 아닌 검증을 위해 구조적 모델이 사용된 도 9a에 설명된 바와 같은 흐름을 가장 잘 수행한다는 것을 보여준다.
도 13은 유형 RC1206의 페이스트 및 플레이스된 이미지에 대한 이미지 모델 스코어를 도시한다. 도 13에서 페이스트 스코어는 그룹(218)으로서 도시되었고 플레이스 스코어는 점선으로 도시되었다. 도 13을 참조하고 본 발명의 기술에 따라 달성된 결과와 상반되게, 종래기술이 사용되는 경(즉, 인쇄회로 기판의 페이스트 및 플레이스된 영역을 식별 및 구별하기 위해 이미지 모델을 사용하는 것), 도 13에 도시된 바와 같은 페이스트 이미지와 플레이스된 이미지간에 거의 또는 어떠한 분리도 발생하지 않는다. 본 발명에 설명된 프로세스는 구조적 모델을 사용함으로써 이미지 모델의 제한에 대해 보상할 수 있다. 구조적 모델은 도 11a에 이미 나타낸 바와 같이 페이스트 이미지와 플레이스된 이미지간에 양호한 분리를 제공한다.
이러한 분석은 그 부품 유형에 대해, 매칭 방법은 구조적 모델이 부품 탐지 및 위치 시별을 위해 사용되는 도 9b 및 9c에 설명된 바와 같은 흐름을 가장 잘 준수한다는 것을 보여준다.
도 14-14b를 참조하면, 부품 유형을 위한 이미지의 양호한 분류를 제공하는 모델을 인지하기 위한 기술이 나타나 있다. 이 프로세스는 부품 유형을 위한 모델이 모델 유형의 셋트로부터 선택되는 단계(230)에서 시작한다. 이들 모델의 각각은 독립적으로 인지될 수 있지만, 이미지와 구조적 모델을 함께 인지한다.
단계(232)에 나타낸 바와 같이, 모델은 동일 부품 유형의 모든 "플레이스된 이미지"에 적용된다. "플레이스된 이미지"는 검사되는 객체가 이미지내의 예상위치의 범위중의 하나에 있는 이미지를 밀컫는다. 처리는 관련 영역(ROI)내의 각각의 "플레이스된 이미지"와 선택된 모델사이에서 "플레이스된 이미지 스코어"가 계산되는 단계(234)로 간다. "플레이스된 이미지 스코어" 각각은 모델과 특정 플레이스된 이미지간의 양호한 매칭을 표현 또는 지시하는 값이다.
처리는 그후, 동일한 모델이 동일 부품 유형의 모든 페이스트 이미지에 적용되고 "페이스트 이미지 스코어"가 관련 영역(ROI)내의 각각의 "페이스트 이미지"와 선택된 모델사이에서 계산된다.
플레이스된 이미지 스코어 및 페이스트 이미지 스코어가 계산되면 그것들은 후 처리를 위한 사용을 위해 저장된다. 단계(242)에서, "아웃라이어 스코어"(또는 "아웃라이어")에 대한 검사가 수행된다. 용어 "아웃라이어"는 플레이스된 이미지 스코어 및 페이스트 이미지 스코어를 위한 전형적인 범위의 값의 외부에 나타나는 플레이스된 이미지 스코어 및 페이스트 이미지 스코어를 칭한다. 아웃라이어가 식별되면, 아웃라이어에 대한 추정이 결정되어야 한다. 즉, 반복될 것으로 예상되지 않는 비정형 상황 또는 특징에 기인하여 아웃라이어스코어가 발생하면, 아웃라이어 포인트는 스코어의 배분에 관한 계산에 포함되지 않아야 한다. 반복될 것으로 예상되는 상황 또는 특징에 기인하여 아웃라이어 스코어가 발생하면, 아웃라이어 포인트는 스코어의 배분에 관한 계산에 포함되어야 한다. 예로서, 엔드캡에 페이스트를 갖춘 이산 컴포넌트는 아웃라이어인 스코어를 제공하게 된다. 그것은 실제적 결함이므로 양호한 플레이스된 스코어의 셋트로부터 상기 스코어를 제거한다. 또한, 예상 객체가 이미지내에 있지 않음을 의미하는, 플레이스된 이미지가 부정확하게 표기되면, 플레이스된 스코어의 셋트로부터 이 이미지와 연관된 스코어를 제거한다. 이산 컴포넌트가 일반적으로 흑색 보디를 갖고 흰색 보디(혹은 매우 상이한 외형의)를 지닌 부품의 유효 인스턴스가 발생하면, 이 유효 인스턴스를 양호한 플레이스된 스코어의 분배에 포함시킨다.
예로서 도 14b를 참조하면, 다수의 발생 스코어에 대한 두 개의 히스토그램이 도시되어 있다. X축상의 각각의 요소는 스코어의 범위를 나타낸다. Y축은 그 스코어 또는 스코어 범위의 다수의 외형을 나타낸다. 곡선(254)은 플레이스된 이미지 스코어의 히스토그램에 대한 가우시안 맞춤에 대응하고 곡선(256)은 페이스트 이미지 스코어상의 히스토그램에 대한 가우시안 맞춤에 대응한다. 포인트(258)은 플레이스된 이미지 스코어상의 아웃라이어를 표현한다. 즉, 포인트(258)은 곡선(254)을 생성하는 데에 사용되는 계산에 포함되지 않는 포인트를 표현한다. 마찬가지로, 포인트(258)은 페이스트 이미지 스코어상의 아웃라이어를 표현하고 따라서 포인트(258)는 곡선(256)을 생성하는 데에 사용되는 계산에 포함되지 않는 포인트에 대응한다.
도 14 및 14a를 참조하면, 처리는 분리 함수가 계산되는 단계(244)로 진행한다. 분리 함수가 계산되는 방법은 단계(230)에서 모델이 사용되는 응용분야의 특정 유형, 플레이스 및 페이스트 이미지들의 특성, 및 선택된 모델의 유형을 포함하지만 이에 제한되지 않는 다양한 요인에 좌우된다. 모델이 이미지 모델에 대응하는 인쇄회로 기판 검사 프로세스와 같은 응용분야에서, 분리 함수는 상관 함수의 스코어로부터 생성될 수 있다. 스코어는 임의의 모델 매칭 방법으로부터 생성된다. 예를들어, 모델은 복소 매칭 함수와 맞서는 것일 수 있다. 최종 스코어는 단계(244)에 설명된 바와 같이 분리 함수를 생성하기 위해 동일 프로세스에 입력될 수 있다.
이 경우에 분리 함수는 포지티브 예에 대해 가우시안 곡선이 조정되도록 하고 네거티브 예에 대해 다른 가우시안 곡선이 조정되도록 한다. 하나의 가우시안 곡선은 곡선 조정을 달성하는 데에 충분하지 않을 수 있다. 따라서 각각의 클래스에서 데이터를 근사시키기 위해 여러 가우시안 곡선이 필요로 될 수 있다. 예로서, 페이스트 예들은 PCB가 두 개의 뚜렷한 배경 색을 갖는다면 바이-모달 분산을 생성한다. 상기 목적에 적합한 당업자에게 공지된, K-평균과 같은 다양한 클러스터링 알고리즘이 있다. 분리 함수를 계산하는 다른 방법은 데이터를 맞춤조정하는 최량의 곡선을 찾는 것이다. 이것은 분산 함수를 부과하거나 알지 못한다는 것을 가정한다.
새로운 데이터 포인트가 주어지면, 그 포인트에서 곡선의 값을 조사한다. 계산된 값 및 분산의 특성에 기초하여, 데이터 포인트가 그 클래스에 속하는 가능성 및 확률을 계산할 수 있다. 몇몇 경우에 포인트는 두 개의 분산 함수의 교차에 속한다. 이 경우, 포인트가 각각의 분산 함수에 속하는 것으로 표기할 수 있다. 그러나, 저 레벨의 신뢰도로 이러한 진단을 보고할 수 있다.
분리 함수가 계산된 후 분리 함수가 수용가능한 것이지에 대한 판정이 행해지는 판정 블록(246)으로 간다. 상기와 같이 판정이 행해지고 판정에 인자는 고려되는 방식은 다양한 요인에 좌우된다. 예로서, 모델이 이미지 모델에 대응하고 분리 함수가 상관 함수를 포함하는 인쇄회로 기판 검사 프로세스와 같은 응용분야에서, 분리 함수가 수용가능한 것인 지에 대한 판정은 최소 상관값과 최대 상관값간의 차이를 계산함으로써 그리고 그 차이를 소정 임계값과 비교함으로써 행해진다.
기타 응용분야에서, 분리 함수는 영역의 상관관계 및 영역 특성이 구조적 모델과 얼마나 양호하게 매칭하는 지 또는 그래디언트 패턴이 에지 모델과 얼마나 양호하게 매칭하는 정도에 관한 것일 수 있다.
이 프로세스는 스코어가 포지티브 및 네거티브 예를 위해 생성된 임의의 응용분야에 대해 본질적으로 동일하다. 그러나 복수 개 스코어 출력을 갖질 수 있다. 이 경우, 더욱 큰 치수의 가우시안이 데이터를 근사화시키기 위해 필요로 된다.
판정 블록(246)에서, 분리 함수가 허용가능한 것으로 판정되면, 처리는 모델이 추가 사용을 위해 저장되는 단계(248)로 진행한다. 판정 블록(246)에서, 분리 함수가 허용가능하지 않은 것으로 판정되면, 모델이 사용되지 않을 것으로 표시된것중의 하나인 것으로 확인되는(또는 모델이 단순히 배치될 모델로서 표시될 수 있다) 단계(250)로 진행한다. 이 "악성 모델"은 미래 모델을 벤치마킹하는데에 사용될 수 있다.
처리는 그후 동일 유형의 기타 모델이 평가하기 위해 존재하는 지의 여부에 대해 판정이 행해지는 단계(252)로 간다. 그러한 모델이 더 이상 없으면, 처리는 종료한다. 판정 블록(252)에서 동일 유형의 기타 모델이 평가하기 위해 존재하지 않는다는 판정이 내려지면, 처리는 다음 모델 유형이 선택는 단계(253)로 가고 그후 처리는 단계(232)로 되돌아 간다. 단계(232)에서, 상기한 바와 같은 처리단계들이 반복된다. 임의의 기타 모델이 있는지에 대한 의문은 여러방식으로 해석될 수 있다. 가장 제한된 범위에서, 동일 유형의 임의의 기타 모델이 있는 지의 여부에 대한 질문이 행해진다. 예로서, 모델 유형이 이미지 모델이면, 질문은 임의의 기타 상관 이미지가 모든 데이터에 대해 시도죄는 지에 대한 질문이다. 그 부품 또는 부품 유형을 위한 임의의 모델이 있는지에 대한 질문이 있으면, 다음 모델 유형은 구조적 모델 또는 기하학적 모델일 수 있다. 도 14-14b에 설명된 바와 같이 인지 방법 또는 판정 함수 발생기는 이용가능한 모든 트루 포지티브 및 네거티브 를 사용하는 방법이다. 이 판정 함수는 새로운 예가 나타나는 시간 동안 개량된다. 모델의 개량은 도 2의 모델의 배경 인지 단계(70)에서 발생한다.
이러한 인지 방법은 도 3a 및 4에 설명된 것과는 상이하다. 이 방법은 모델을 생성하기 위해 이용가능한 모든 데이터를 사용한다. 도 3a 및 4는 모델을 트레이닝시키기 위해 최우량 표현 데이터를 획득하는 것에 중점을 둔다.
도 1 및 14a에서 단지 두 유형의 진단, 거기에 있는 부품, 거기에 없는 부품이 이용될 수 있는 것으로 가정된다. 그러나, 부분 손상됨, 악성 부품 및 더럽혀진 페이스트와 같은 것을 표현하는 기타 클래스를 갖는다. 새로운 측정된 이미지가 트루 플레이스된 및 트루 페이스트된 이미지 사이에 있다면, 이들 표기된 이미지의 각각에 대한 스코어의 분산을 계산하거나 세로운 이미지를 분류하기 위해 더욱 정교한 함수를 생성할 수 있다.
본 발명의 실시예가 상기와 같이 설명되었지만, 당업자는 상기 실시예의 개념을 통합하는 기타 실시예도 마찬가지로 가능함이 명백하게 될 것이다. 따라서 이들 실시예는 개시된 실시예에 제한되기 보단 첨부된 특허청구범위의 정신 및 범위에 의해서만 한정된다.
본 명세서에서 참조된 모든 문헌은 그 내용 전체가 참조문헌으로서 분명히 포함되었다.

Claims (11)

  1. 관련 영역내의 객체에 관한 정보를 획득하기 위해 이미지를 검사하는 방법에 있어서,
    제1 모델 및 제2 모델을 적용하는 단계를 포함하고, 제2 모델의 적용은 제1 모델의 적용에 의한 결과를 기초로 하고, 제1 모델은 이미지내의 제1 셋트의 속성을 확인함으로써 관련 영역에 객체가 표현되었는 지를 예측하는 출력을 생성하고 제2 모델은 제2 유형의 속성을 확인함으로써 관련 영역에 정 유형의 객체가 존재하는 지를 예측하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 제3 모델을 적용하는 단계를 더 포함하고, 제3모델의 적용은 객체의 정확한 위치를 초래하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서, 제3모델의 적용은 예상 위치로부터의 객체내의 변위 및 예상 방향에 대한 회전에 대한 지시를 초래하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 제1 모델은, 이미지내에 존재하는 경우, 객체가 관련영역에 존재한다는 것을 지시하는 포지티브 속성과, 이미지내에 존재하는 경우, 객체가 관련영역에 존재하지 않는다는 것을 지시하는 네거티브속성을 포함하는 이미지 모델인 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 네거티브 속성은 인쇄회로기판상에 적절하게 놓인 부품에 의해 블록킹되어야 할 인쇄회로기판의 표면상에서의 구조를 표현하는 교합 특징부를 포함하는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 제1 모델은, 복수개의 상관 스코어를 생성하기 위해 패턴을 이미지의 서브영역에 상관시킴에 의해 그리고 상관 스코어로부터 객체의 존재 및 위치를 확인함에 의해, 적용되는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 패턴은 이미지내의 가능한 서브영역의 부분에만 적용되고 확인된 위치는 개략 위치를 표현하는 특징으로 하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 제1 모델의 적용은 객체가 관련 영역에 존재한다는 예측에 대한 신뢰도를 생성하고 제2 모델의 적용은 이미지의 서브영역내에서의 소정 위치 관계로 복수의 특징부를 탐색하는 것을 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서, 복수의 특징부는 이미지내의 객체의 에지를 표현하는 이미지내의 큰 그래디언트를 포함하는 것을 특징으로 하는 방법.
  10. 제8항 또는 제9항에 있어서, 제2 모델은 복수의 서브영역에 적용되고 제2 모델이 적용되는 서브영역의 갯수는 신뢰도가 높을수록 더욱 적은 갯수인 것을 특징으로 하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 따른 이미지의 검사 방법을 사용하여 인쇄회로기판을 검사하는 방법에 있어서, 이미지는 전자 컴포넌트가 장착되어야 하는 인쇄회로기판의 한 영역을 표현하고, 인쇄회로기판의 상기 한 영역에 장착될 것이 예상되는 컴포넌트의 스타일에 기초하여 사용하기 위해 적절한 모델을 선택하는 것을 포함하는 검사 플랜을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1020027017920A 2000-06-28 2001-06-25 검사 시스템에 이용하기 위한 이미지 처리 시스템 KR100830523B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/605,289 US7167583B1 (en) 2000-06-28 2000-06-28 Image processing system for use with inspection systems
US09/605,289 2000-06-28
PCT/US2001/020238 WO2002001504A2 (en) 2000-06-28 2001-06-25 Image processing system for use with inspection systems

Publications (2)

Publication Number Publication Date
KR20030012901A true KR20030012901A (ko) 2003-02-12
KR100830523B1 KR100830523B1 (ko) 2008-05-21

Family

ID=24423041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027017920A KR100830523B1 (ko) 2000-06-28 2001-06-25 검사 시스템에 이용하기 위한 이미지 처리 시스템

Country Status (11)

Country Link
US (1) US7167583B1 (ko)
EP (1) EP1297493A2 (ko)
JP (1) JP2004502250A (ko)
KR (1) KR100830523B1 (ko)
CN (1) CN100361159C (ko)
AU (1) AU2001271447A1 (ko)
CZ (1) CZ20024260A3 (ko)
HU (1) HUP0301721A3 (ko)
PL (1) PL365818A1 (ko)
TW (1) TW561427B (ko)
WO (1) WO2002001504A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160018341A (ko) * 2014-08-08 2016-02-17 삼성전자주식회사 환경 프로파일 생성 방법 및 환경 프로파일 생성 장치

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6988088B1 (en) * 2000-10-17 2006-01-17 Recare, Inc. Systems and methods for adaptive medical decision support
FI20031835A (fi) 2003-12-15 2005-06-16 Instrumentarium Corp Menetelmä ja järjestelmä referenssimerkin paikantamiseksi digitaalisista projektiokuvista
DE102004012125B3 (de) * 2004-03-12 2005-09-01 Nanofilm Technologie Gmbh Ellipsometrisches Messverfahren mit ROI-gestützter Bildkorrektur
GB2417073A (en) * 2004-08-13 2006-02-15 Mv Res Ltd A machine vision analysis system and method
US7689038B2 (en) * 2005-01-10 2010-03-30 Cytyc Corporation Method for improved image segmentation
JP2006235762A (ja) * 2005-02-22 2006-09-07 Orion Denki Kk プリント基板用cadシステム
US7505949B2 (en) * 2006-01-31 2009-03-17 Caterpillar Inc. Process model error correction method and system
JP4855141B2 (ja) * 2006-05-19 2012-01-18 富士フイルム株式会社 医用画像部位認識装置、及び、医用画像部位認識プログラム
WO2008003036A2 (en) * 2006-06-29 2008-01-03 Se2 Labs Systems and methods for providing spectral feedback to visually convey a quantitative value
US8041141B2 (en) * 2006-06-30 2011-10-18 The University Of Louisville Research Foundation, Inc. Method and software for shape representation with curve skeletons
US7809170B2 (en) * 2006-08-10 2010-10-05 Louisiana Tech University Foundation, Inc. Method and apparatus for choosing and evaluating sample size for biometric training process
US8131055B2 (en) * 2008-01-31 2012-03-06 Caterpillar Inc. System and method for assembly inspection
US8009921B2 (en) * 2008-02-19 2011-08-30 Xerox Corporation Context dependent intelligent thumbnail images
US8224021B2 (en) * 2008-03-14 2012-07-17 Millivision Technologies, Inc. Method and system for automatic detection of a class of objects
US7869645B2 (en) * 2008-07-22 2011-01-11 Seiko Epson Corporation Image capture and calibratiion
US8090184B2 (en) * 2008-07-23 2012-01-03 Seiko Epson Corporation Fault detection of a printed dot-pattern bitmap
US8269836B2 (en) * 2008-07-24 2012-09-18 Seiko Epson Corporation Image capture, alignment, and registration
US20100034452A1 (en) * 2008-08-08 2010-02-11 Gines David L Method And Apparatus For Reconstructing Solder Joints Using Constrained X-ray Photogrammetry
IL194298A (en) * 2008-09-23 2016-09-29 Camtek Ltd Method, device and software product for reference-based evaluation
JP5381166B2 (ja) * 2009-03-04 2014-01-08 オムロン株式会社 モデル画像取得支援装置、モデル画像取得支援方法およびモデル画像取得支援プログラム
JP2010210585A (ja) * 2009-03-12 2010-09-24 Omron Corp 3次元視覚センサにおけるモデル表示方法および3次元視覚センサ
JP5714232B2 (ja) * 2009-03-12 2015-05-07 オムロン株式会社 キャリブレーション装置および3次元計測のためのパラメータの精度の確認支援方法
JP5245938B2 (ja) * 2009-03-12 2013-07-24 オムロン株式会社 3次元認識結果の表示方法および3次元視覚センサ
JP5282614B2 (ja) * 2009-03-13 2013-09-04 オムロン株式会社 視覚認識処理用のモデルデータの登録方法および視覚センサ
US20110173127A1 (en) * 2010-01-08 2011-07-14 Albert Ho System and method used for configuration of an inspection compliance tool with machine readable tags and their associations to inspected components
JP5468981B2 (ja) * 2010-05-11 2014-04-09 株式会社ミツトヨ 画像測定機、プログラム、及び画像測定機のティーチング方法
US9158295B2 (en) * 2010-05-21 2015-10-13 Fisher-Rosemount Systems, Inc. Multi-stage process modeling method
US8904517B2 (en) 2011-06-28 2014-12-02 International Business Machines Corporation System and method for contexually interpreting image sequences
CN103186789B (zh) * 2011-12-27 2016-09-07 英业达股份有限公司 自动判别零件正确性的方法
KR101337881B1 (ko) * 2012-03-28 2013-12-06 주식회사 고영테크놀러지 Pcb 검사장치의 작업 데이터 생성 및 검사방법
DE102012215120B4 (de) * 2012-08-24 2017-04-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Auswertevorrichtung, verfahren und prüfsystem zur prüfung von elektro-chemischen zellenanordnungen
EP3428880B1 (en) 2012-10-26 2021-08-04 Brainlab AG Matching patient images and images of an anatomical atlas
US9880694B2 (en) 2013-05-09 2018-01-30 The Boeing Company Shop order status visualization system
US9340304B2 (en) 2013-02-28 2016-05-17 The Boeing Company Aircraft comparison system
US9612725B1 (en) 2013-02-28 2017-04-04 The Boeing Company Nonconformance visualization system
US9492900B2 (en) * 2013-03-15 2016-11-15 The Boeing Company Condition of assembly visualization system based on build cycles
US9870444B2 (en) 2013-03-05 2018-01-16 The Boeing Company Shop order status visualization system
US10481768B2 (en) 2013-04-12 2019-11-19 The Boeing Company Nonconformance identification and visualization system and method
US10061481B2 (en) 2013-02-28 2018-08-28 The Boeing Company Methods and devices for visually querying an aircraft based on an area of an image
US20140298216A1 (en) 2013-03-28 2014-10-02 The Boeing Company Visualization of an Object Using a Visual Query System
US10416857B2 (en) 2013-05-09 2019-09-17 The Boeing Company Serial number control visualization system
US20140375957A1 (en) * 2013-06-20 2014-12-25 Northrop Grumman Systems Corporation Discrete area circuit board image projection system and method
US9679224B2 (en) * 2013-06-28 2017-06-13 Cognex Corporation Semi-supervised method for training multiple pattern recognition and registration tool models
JP6557943B2 (ja) * 2014-01-15 2019-08-14 オムロン株式会社 画像照合装置、画像センサ、処理システム、画像照合方法
CN104021251B (zh) * 2014-06-10 2018-01-09 浪潮(北京)电子信息产业有限公司 一种pcb检查方法和装置
JP2016071597A (ja) * 2014-09-30 2016-05-09 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
CN107408297B (zh) * 2014-11-24 2021-02-02 基托夫系统有限公司 自动检查
KR20180090385A (ko) 2015-12-31 2018-08-10 케이엘에이-텐코 코포레이션 반도체 애플리케이션을 위한 기계 학습 기반의 모델의 가속 트레이닝
US11580375B2 (en) 2015-12-31 2023-02-14 Kla-Tencor Corp. Accelerated training of a machine learning based model for semiconductor applications
CA3012889A1 (en) 2016-01-29 2017-08-03 Kiwisecurity Software Gmbh Methods and apparatus for using video analytics to detect regions for privacy protection within images from moving cameras
US9868212B1 (en) * 2016-02-18 2018-01-16 X Development Llc Methods and apparatus for determining the pose of an object based on point cloud data
US10685147B2 (en) 2016-02-29 2020-06-16 The Boeing Company Non-conformance mapping and visualization
JP6707920B2 (ja) 2016-03-14 2020-06-10 株式会社リコー 画像処理装置、画像処理方法、およびプログラム
JP2017223448A (ja) * 2016-06-13 2017-12-21 株式会社キーエンス 画像処理センサ、画像処理方法及び画像処理プログラム並びにコンピュータで読み取り可能な記録媒体
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
KR101900180B1 (ko) * 2017-01-11 2018-09-18 포항공과대학교 산학협력단 영상의 특성 추출을 위한 영상 분석 방법 및 장치
CN109685756A (zh) * 2017-10-16 2019-04-26 乐达创意科技有限公司 影像特征自动辨识装置、系统及方法
JP7028333B2 (ja) * 2018-03-05 2022-03-02 オムロン株式会社 照明条件の設定方法、装置、システム及びプログラム並びに記憶媒体
US10664717B2 (en) * 2018-06-18 2020-05-26 Interra Systems, Inc. System and method for searching an image within another image
US11379788B1 (en) 2018-10-09 2022-07-05 Fida, Llc Multilayered method and apparatus to facilitate the accurate calculation of freight density, area, and classification and provide recommendations to optimize shipping efficiency
JP7194613B2 (ja) * 2019-02-28 2022-12-22 デンカ株式会社 基板の製造方法
JP7195977B2 (ja) * 2019-02-28 2022-12-26 デンカ株式会社 基板検査装置、基板検査方法、およびプログラム
US11210770B2 (en) * 2019-03-15 2021-12-28 Hitachi, Ltd. AI-based inspection in transportation
JP2020165713A (ja) * 2019-03-28 2020-10-08 株式会社デンソーテン 検査データ出力装置、表示システムおよび検査データ出力方法
CN110132978A (zh) * 2019-04-28 2019-08-16 无锡和博永新科技有限公司 电阻片整片检测装置及检测方法
CN111191800B (zh) * 2019-12-05 2022-12-02 万翼科技有限公司 设备模型核查方法、装置、计算机设备和存储介质
US11937019B2 (en) 2021-06-07 2024-03-19 Elementary Robotics, Inc. Intelligent quality assurance and inspection device having multiple camera modules
EP3941177A1 (en) * 2020-07-13 2022-01-19 Siemens Aktiengesellschaft Inspection and production of printed circuit board assemblies
KR102459695B1 (ko) 2020-11-03 2022-10-28 주식회사 고영테크놀러지 실장 정보를 결정하기 위한 장치, 방법 및 명령을 기록한 기록 매체
US11605159B1 (en) 2021-11-03 2023-03-14 Elementary Robotics, Inc. Computationally efficient quality assurance inspection processes using machine learning
US20230133152A1 (en) * 2021-11-03 2023-05-04 Elementary Robotics, Inc. Automatic Object Detection and Changeover for Quality Assurance Inspection
US11675345B2 (en) 2021-11-10 2023-06-13 Elementary Robotics, Inc. Cloud-based multi-camera quality assurance architecture
US11605216B1 (en) 2022-02-10 2023-03-14 Elementary Robotics, Inc. Intelligent automated image clustering for quality assurance
WO2023236038A1 (zh) * 2022-06-07 2023-12-14 西门子股份公司 电路板检测模型的更新方法、系统、电子设备和存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4894790A (en) 1986-02-05 1990-01-16 Omron Tateisi Electronics Co. Input method for reference printed circuit board assembly data to an image processing printed circuit board assembly automatic inspection apparatus
IL85862A (en) 1988-03-24 1993-01-14 Orbot Systems Ltd Telecentric imaging system
JP2885823B2 (ja) * 1989-04-11 1999-04-26 株式会社豊田中央研究所 視覚認識装置
US5058982A (en) 1989-06-21 1991-10-22 Orbot Systems Ltd. Illumination system and inspection apparatus including same
EP0435660B1 (en) 1989-12-29 1997-06-04 Canon Kabushiki Kaisha Method of evaluating objects based upon image processing, and inspection apparatus using said method
JP2840347B2 (ja) * 1989-12-29 1998-12-24 キヤノン株式会社 基板実装検査装置
IL99823A0 (en) 1990-11-16 1992-08-18 Orbot Instr Ltd Optical inspection method and apparatus
IL125216A (en) 1990-12-04 2001-07-24 Orbot Instr Ltd Apparatus and method for microscopic inspection of articles
US5542600A (en) 1991-11-07 1996-08-06 Omron Corporation Automatic soldering apparatus, apparatus and method for teaching same, soldering inspection apparatus and method, and apparatus and method for automatically correcting soldering
US5371690A (en) * 1992-01-17 1994-12-06 Cognex Corporation Method and apparatus for inspection of surface mounted devices
IL102659A (en) 1992-07-27 1997-07-13 Orbot Instr Ltd Apparatus and method for comparing and aligning two digital representations of an image
US5307421A (en) * 1992-10-14 1994-04-26 Commissariat A L'energie Atomique Process for producing a synthesized reference image for the inspection of objects and apparatus for performing the same
IL104708A (en) 1993-02-12 1995-12-31 Orbotech Ltd Device and method for optical inspection of items
US5465221A (en) * 1993-12-30 1995-11-07 The United States Of America As Represented By The Secretary Of The Air Force Automated process planning for quality control inspection
JPH0835935A (ja) * 1994-07-21 1996-02-06 Hioki Ee Corp ビジュアル型x−y方式インサーキットテスタ
JPH0896129A (ja) 1994-09-21 1996-04-12 Omron Corp モデル画像登録方法
US5793901A (en) 1994-09-30 1998-08-11 Omron Corporation Device and method to detect dislocation of object image data
US5764536A (en) 1994-12-19 1998-06-09 Omron Corporation Method and device to establish viewing zones and to inspect products using viewing zones
US5848189A (en) 1996-03-25 1998-12-08 Focus Automation Systems Inc. Method, apparatus and system for verification of patterns
US5963662A (en) 1996-08-07 1999-10-05 Georgia Tech Research Corporation Inspection system and method for bond detection and validation of surface mount devices
US6317513B2 (en) * 1996-12-19 2001-11-13 Cognex Corporation Method and apparatus for inspecting solder paste using geometric constraints
US5982927A (en) * 1996-12-19 1999-11-09 Cognex Corporation Methods and apparatuses for in-line solder paste inspection
US6324298B1 (en) * 1998-07-15 2001-11-27 August Technology Corp. Automated wafer defect inspection system and a process of performing such inspection
US6539106B1 (en) * 1999-01-08 2003-03-25 Applied Materials, Inc. Feature-based defect detection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160018341A (ko) * 2014-08-08 2016-02-17 삼성전자주식회사 환경 프로파일 생성 방법 및 환경 프로파일 생성 장치

Also Published As

Publication number Publication date
JP2004502250A (ja) 2004-01-22
AU2001271447A1 (en) 2002-01-08
WO2002001504A2 (en) 2002-01-03
HUP0301721A3 (en) 2004-08-30
PL365818A1 (en) 2005-01-10
HUP0301721A2 (hu) 2003-08-28
WO2002001504A3 (en) 2002-04-25
EP1297493A2 (en) 2003-04-02
CN100361159C (zh) 2008-01-09
KR100830523B1 (ko) 2008-05-21
CN1440543A (zh) 2003-09-03
CZ20024260A3 (cs) 2003-10-15
TW561427B (en) 2003-11-11
US7167583B1 (en) 2007-01-23

Similar Documents

Publication Publication Date Title
KR100830523B1 (ko) 검사 시스템에 이용하기 위한 이미지 처리 시스템
Moganti et al. Automatic PCB inspection algorithms: a survey
Capson et al. A tiered-color illumination approach for machine inspection of solder joints
CN107945184B (zh) 一种基于彩色图像分割和梯度投影定位的贴装元件检测方法
KR100673423B1 (ko) 화상의 영역분할에 의한 결함의 검출
US20040120571A1 (en) Apparatus and methods for the inspection of objects
WO2017181724A1 (zh) 电子元件漏件检测方法和系统
JP5045591B2 (ja) 検査領域の領域設定データの作成方法および基板外観検査装置
CN111965197A (zh) 一种基于多特征融合的缺陷分类方法
CN116228741A (zh) 一种pcba元器件缺陷检测方法及装置
CN115775246A (zh) 一种pcb元器件缺陷检测的方法
WO2002088688A1 (en) Inspection system using dynamically obtained values and related techniques
Aggarwal et al. A survey on automatic printed circuit board defect detection techniques
CN116879708A (zh) 一种利用红外云图识别技术印刷电路板故障的检测方法
JP4814116B2 (ja) 実装基板外観検査方法
CN115375610A (zh) 检测方法及装置、检测设备和存储介质
Kobayashi et al. Hybrid defect detection method based on the shape measurement and feature extraction for complex patterns
JPH02251714A (ja) 実装極性部品の極性検査方法および実装基板外観検査方法
Anu et al. Automatic visual inspection of PCB using CAD information
JP2906454B2 (ja) 物体位置検出方法
JP3106370B2 (ja) グラフ情報によるプリント基板の欠陥検出及び種別認識方法
US20240135527A1 (en) Method of detecting errors in the placement of elements in the pcb
Chhetri et al. Detection of Missing Component in PCB Using YOLO
JPH10283480A (ja) 認識処理装置およびこの装置に適用される認識処理用の記憶媒体
Melnyk et al. Check for updates Detection of Defects in PCB Images by Separation and Intensity Measurement of Chains on the Board

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130508

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140513

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee