KR20190050311A - 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법 - Google Patents

비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20190050311A
KR20190050311A KR1020190049972A KR20190049972A KR20190050311A KR 20190050311 A KR20190050311 A KR 20190050311A KR 1020190049972 A KR1020190049972 A KR 1020190049972A KR 20190049972 A KR20190049972 A KR 20190049972A KR 20190050311 A KR20190050311 A KR 20190050311A
Authority
KR
South Korea
Prior art keywords
line
gradient
lines
edge points
image
Prior art date
Application number
KR1020190049972A
Other languages
English (en)
Other versions
KR102402906B1 (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
Priority claimed from US15/338,445 external-priority patent/US10152780B2/en
Application filed by 코그넥스코오포레이션 filed Critical 코그넥스코오포레이션
Publication of KR20190050311A publication Critical patent/KR20190050311A/ko
Priority to KR1020220063255A priority Critical patent/KR102649038B1/ko
Application granted granted Critical
Publication of KR102402906B1 publication Critical patent/KR102402906B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/143Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/162Segmentation; Edge detection involving graph-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/181Segmentation; Edge detection involving edge growing; involving edge linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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/20076Probabilistic image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

본 발명은 이미지 내에서 다중선 특징을 찾아내기 위한 방법 및 시스템에 관한 것이다. 두 개의 관련된 스텝이 라인 특징을 식별하기 위해 이용된다. 첫번째 프로세스는 각 이미지 위치에서 기울기장(the gradient field)의 x와 y 컴포넌트를 계산하고, 다수의 서브영역을 넘어 기울기장을 프로젝트하고, 위치와 경사를 갖는 다수의 에지포인트를 산출하는 다수의 경사도 극값(a plurality of gradient extrema)을 검출한다. 두 번째 프로세스는 두 개의 에지 포인트를 선택하고, 그것들에 모델라인을 맞추고(fits), 에지포인트 기울기가 모델과 동일하면(consistent), 위치와 기울기가 그 모델과 일치하는 내좌층 포인트의 전체 세트(full set of inlier points)를 연산한다. 최대 내좌층 카운트를 갖는 후보 라인이 유지되고 외좌층 포인트(outlier points)를 남기는 세트가 도출된다. 상기 프로세스는 라인 맞춤 동작(the line fitting operation)과 다수의 라인결과를 찾기 위한 이후의 외좌층 세트를 반복적으로 적용한다. 이러한 프로세스는 철저한 RANSAC 기반에서 이루어질 수 있다.

Description

비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법{SYSTEM AND METHOD FOR FINDING LINES IN AN IMAGE WITH A VISION SYSTEM}
관련 출원
본 출원은, 전체 내용이 본 명세서에 병합된, 2015년 11월 2일에 출원된, 발명의 명칭이 "SYSTEM AND METHOD FOR FINDING LINES IN AN IMAGE WITH A VISION SYSTEM"인 공동-계류 중인 미국 특허 가출원 일련 번호 62/249,918의 이익을 주장한다.
기술 분야
본 발명은 머신 비전 시스템에 관한 것으로, 보다 구체적으로 취득된 이미지에서 라인 특징부(line feature)를 발견하는 비전 시스템 도구에 관한 것이다.
머신 비전 시스템(본 명세서에서, 단순히 "비전 시스템"이라고도 언급됨)은 제조, 물류, 및 산업계에서 여러 작업에 사용된다. 이러한 작업은 표면과 부분의 검사, 조립 동안 물체의 정렬, 패턴과 ID 코드의 판독, 및 추가적인 프로세스에 사용하기 위해 시각적 데이터가 취득되고 해석되는 임의의 다른 동작을 포함할 수 있다. 비전 시스템은 일반적으로 관심 물체 또는 관심 대상을 포함하는 장면 이미지를 취득하는 하나 이상의 카메라를 사용한다. 이 물체/대상은 고정되어 있거나 또는 상대적으로 움직일 수 있다. 움직임은 로봇에 의해 부분들을 조작하는 경우와 같이 비전 시스템에 의해 유도된 정보에 의해 제어될 수도 있다.
비전 시스템의 공통 작업은 이미지에서 라인 특징부를 발견하고 특성화하는 것이다. 이러한 라인 특징부를 식별하고 분석하는데 여러 도구가 사용된다. 일반적으로, 이 도구는 이미지의 일부분에서 일어나는 급격한 콘트라스트(sharp contrast) 차이에 의존한다. 예를 들어 캘리퍼 도구를 사용하여 이 콘트라스트 차이를 분석하여, 콘트라스트 차이를 갖는 이미지 내 개별 점들이 라인-같은 특징부로 조립될 수 있는지 여부를 결정한다. 만약 조립될 수 있다면, 이미지에서 라인이 식별된다. 특히, 에지점(edge point)들을 발견하는 도구와, 라인을 점들에 맞추는(fit) 시도를 하는 도구는 서로 독립적이다. 이것은 처리 오버헤드를 증가시키고 신뢰성을 감소시킨다. 이미지가 다수의 라인을 포함하는 경우, 이들 도구는 이 라인을 정확히 식별하는 능력이 제한될 수 있다. 나아가, 이미지에서 단일 라인을 발견하도록 설계된 전통적인 라인-발견 도구는, 이미지가 유사한 배향과 극성을 갖는 다수의 근접 이격된 라인들을 포함할 때, 사용하는데 문제가 있을 수 있다.
본 발명은, 다수의 라인을 효율적이고 정확히 식별하고 특성화할 수 있는, 이미지에서 라인 특징부를 발견하는 시스템 및 방법을 제공하는 것에 의해 종래 기술의 단점을 극복한다. 먼저, 프로세스는, 이미지의 각 위치에서 구배장(gradient field)의 x 성분과 y-성분을 연산하고, 복수의 이미지 서브구역(subregion)에 걸쳐 상기 구배장을 사영(project)하고, 각 서브구역 내에 복수의 구배 극단값(gradient extrema)을 검출하여, 연관된 위치와 구배를 갖는 복수의 에지점을 산출한다. 다음으로, 상기 프로세스는 2개의 에지점을 반복적으로 선택하고, 모델 라인을 이들 에지점에 맞추고, 만약 이들 에지점의 구배들이 상기 모델 라인과 일치(consistent)하는 경우, 상기 모델 라인과 일치하는 위치와 구배를 갖는 정상치 점(inlier point)들의 전체 세트를 연산한다. 최대 정상치 카운트를 갖는 후보 라인은 라인 결과로 유지(retained)되고, 나머지 이상치 점(outlier point)들의 세트가 유도된다. 상기 프로세스는 이 이상치 세트와 후속 이상치 세트에 라인 맞춤 동작을 반복적으로 적용하여 복수의 라인 결과를 발견한다. 라인-맞춤 프로세스는 전체에 걸쳐 다 수행되거나, 또는 RANSAC(random sample consensus) 기술에 기초할 수 있다.
예시적인 실시예에서, 취득된 이미지에서 라인 특징부를 발견하는 시스템이 제공된다. 비전 시스템 프로세서는 라인 특징부를 포함하는 장면의 이미지 데이터를 수신한다. 에지점 추출기는 상기 이미지 데이터로부터 세기 구배 이미지(intensity gradient image)들을 생성하고, 상기 세기 구배 이미지들에 기초하여 에지점들을 발견한다. 라인-파인더(line-finder)는 상기 에지점들에서 세기 구배에 기초하여 상기 에지점들을 하나 이상의 라인에 맞춘다. 예시적으로, 상기 라인 파인더는, 이전에 한정된 라인에 대해 이상치 에지점들로부터 라인들을 반복적으로 한정하는 것을 포함하여, 정상치 에지점들을 새로운 라인들에 맞추는 RANSAC-기반 프로세스를 동작시킨다. 상기 에지점 추출기는 상기 세기 구배 이미지들의 라인-특징부를-포함하는 구역들의 구배장 사영(gradient field projection)을 수행한다. 예시적으로 상기 구배장 사영은 하나 이상의 또는 상기 라인 특징부들의 예상된 배향에 응답하여 설정된 방향을 따라 배향되고, 상기 구배장 사영은 가우시안 커널(Gaussian kernel)에 기초하여 입도(granularity)를 한정할 수 있다. 예시적으로, 상기 이미지 데이터는, 복수의 카메라로부터 취득되고 공통 좌표 공간으로 변환된 복수의 이미지로부터 데이터를 포함할 수 있다. 상기 이미지 데이터는 또한 1D 가우시안 커널 또는 다른 가중 함수(weighting function)를 포함할 수 있는 평활화(smoothing) (가중) 커널을 사용하여 평활화될 수 있다. 상기 에지점들은, 절대 콘트라스트(absolute contrast)에 의해 한정된 임계값과, 상기 이미지 데이터의 평균 세기에 기초하여 정규화된 콘트라스트(normalized contrast)에 기초하여 선택될 수 있다. 예시적으로, 상기 라인 파인더는, 에러 있는 배향을 정정(correct)하기 위해 평행한 라인들 또는 교차하는 라인들의 일부분을 나타내는 에지점들을 교환하거나, 및/또는 상기 에지점들의 구배 값들에 기초하여 라인 특징부들의 혼합된 극성을 포함하는, 극성 변동(polarity variation)을 갖는 라인을 식별하도록 구성되고 배열된다. 또한, 예시적으로, 상기 에지점 추출기는 상기 구배 사영 서브-구역들 각각에서 복수의 구배 크기 최대값을 발견하도록 배열된다. 이들 구배 크기 최대값은 각각 상기 복수의 에지점들 중 일부로 식별될 수 있고, 위치 벡터와 구배 벡터에 의해 설명될 수 있다. 추가적으로, 상기 라인 파인더는 메트릭(metric)을 연산하는 것에 의해 상기 추출된 복수의 에지점들 중 적어도 하나의 에지점과 상기 발견된 복수의 라인들 중 적어도 하나의 후보 라인 사이에 일치도(consistency)를 결정하도록 배열될 수 있다. 이 메트릭은, 상기 후보 라인으로부터 상기 적어도 하나의 에지점의 거리, 및 상기 에지점의 구배 방향과 상기 후보 라인의 법선 방향 사이의 각도 차이에 기초할 수 있다.
본 발명의 아래 설명은 첨부 도면을 참조한다.
도 1은 예시적인 실시예에 따른 에지-발견 도구/모듈을 포함하는 다수의 에지 특징부와 비전 시스템 프로세서를 포함하는, 물체의 이미지를 취득하는 예시적인 비전 시스템 배열을 도시하는 도면;
도 2는 예시적인 실시예에 따라, 취득된 이미지로부터 에지점을 추출하고 라인을 발견하는 시스템 및 방법의 개요를 도시하는 도면;
도 3은 도 2의 시스템 및 방법에 따라 에지점을 추출하는 절차의 흐름도;
도 4는 도 3의 에지점을 추출하는 절차의 일부인 에지 특징부들을 포함하는 이미지의 구역에 구배장 사영을 도시하는 도면;
도 5는 도 3의 에지점을 추출하는 절차에 사용하기 위해, 이미지를 평활화하기 위해 이미지에 가우시안 커널을 적용하는 것을 도시하는 도면;
도 6은 도 3의 에지점을 추출하는 절차에 사용하기 위해, 사영을 평활화하기 위해 가우시안 커널을 적용하는 것을 포함하는 구배장 사영을 도시하는 도면;
도 7은 가우시안 커널들을 적용하고, 에지점들에 대해 절대 콘트라스트 임계값과 정규화된 콘트라스트 임계값을 계산하는 것을 포함하는, 도 3의 에지점을 추출하는 절차의 개요를 그래프로 도시하는 도면;
도 8은 충분한 절대 콘트라스트 임계값과 정규화된 콘트라스트 임계값을 구비하는, 에지점들에 대한 자격 있는 콘트라스트(qualified contrast)들의 구역을 도시하는 그래프;
도 9는 예시적인 실시예에 따라 예시적인 RANSAC 프로세스를 사용하여 도 3에서 발견된 에지점들에 기초하여 라인을 발견하는 절차의 흐름도;
도 10 및 도 11은 근접 이격된 평행한 라인 특징부들에 대해 에지점들이 에러 있게 정렬된 것과 올바르게 정렬된 것을 각각 도시하는 도면;
도 12 및 도 13은 예시적인 시스템 및 방법의 라인-파인더에 따라 분석될 수 있는 교차 라인 특징부들에 대해 에지점들이 올바르게 정렬된 것과 에러 있게 정렬된 것을 각각 도시하는 도면;
도 14 내지 도 17은 예시적인 시스템 및 방법의 라인-파인더에 따라 분석될 수 있는 밝은에서-어두운으로의 극성(light-to-dark polarity), 어두운에서-밝은으로의-극성(dark-to-light polarity), 밝은에서-어두운으로의 극성 또는 어두운에서-밝은으로의 극성 중 어느 하나의 극성, 또는 이들이 혼합된 극성을 나타내는 라인의 예를 각각 도시하는 도면; 및
도 18은 사용자-한정된 마스크를 고려하여 발견된 라인에 대해 커버리지 스코어(coverage score)의 변경을 도시하는 도면.
예시적인 실시예에 따라 사용될 수 있는 예시적인 비전 시스템 배열(100)이 도 1에 도시된다. 시스템(100)은 적어도 하나의 비전 시스템 카메라(110)를 포함하고, 하나 이상의 추가적인 선택적인 카메라(112)(점선으로 도시)를 포함할 수 있다. 예시적인 카메라(들)(110, 112)는, 이미지 프레임을 취득하고 이 이미지 프레임을 비전 시스템 프로세스(프로세서)(130)에 전송하는 이미지 센서(또는 이미저)(S) 및 연관된 전자성분(electronics)을 포함하고, 이 이미지 프레임은 독립 프로세서 및/또는 연산 디바이스(140)에서 인스턴스화(instantiated)될 수 있다. 카메라(110)(및 112)는 검사 받는 물체(150)를 포함하는 장면에 집중(focus)하는 적절한 렌즈/광학기기(116)를 포함한다. 카메라(110)(및 112)는 이미지 취득 프로세스에 따라 동작하는 내부 및/또는 외부 조명기(미도시)를 포함할 수 있다. 연산 디바이스(140)는 예시적인 실시예에 따라 이미지 데이터를 저장하고 조작할 수 있는 임의의 허용가능한 프로세서-기반 시스템일 수 있다. 예를 들어, 연산 디바이스(140)는 (도시된) PC, 서버, 랩탑, 태블릿, 스마트폰 또는 다른 유사한 디바이스를 포함할 수 있다. 연산 디바이스(140)는 카메라에 상호 연결된 버스-기반 이미지 캡처 카드와 같은 적절한 주변기기를 포함할 수 있다. 대안적인 실시예에서, 비전 프로세서는 카메라 몸체 그 자체 내에 부분적으로 또는 완전히 포함될 수 있고, 이미지 데이터를 공유하고 처리하는 다른 PC, 서버 및/또는 카메라-기반 프로세서와 네트워크로 연결될 수 있다. 연산 디바이스(140)는, 비전 시스템 프로세스(프로세서)(130)에 제공된 비전 시스템 도구와 프로세서(132)에 따라 동작할 수 있는 적절한 그래픽 사용자 인터페이스(GUI)를 지원할 수 있는 적절한 디스플레이(142)를 선택적으로 포함할 수 있다. 디스플레이는 여러 실시예에서 생략되거나 및/또는 셋업 기능과 서비스 기능만을 위해 제공될 수 있는 것으로 이해된다. 비전 시스템 도구는 매사추세츠(MA)주, 나틱(Natick)에 소재하는 코그넥스사(Cognex Corporation)로부터 상업적으로 구입가능한 것과 같은, 물체를 검사하는데 사용하기 위해 허용가능한, 임의의 허용가능한 소프트웨어 및/또는 하드웨어 패키지의 일부일 수 있다. 연산 디바이스는, 예를 들어, 키보드(144)와 마우스(146), 및 디스플레이(142) 내 터치스크린을 포함하는 연관된 사용자 인터페이스(UI) 성분을 포함할 수도 있다.
카메라(들)(110)(및 112)는 장면 내에 위치된 물체(150)의 일부 또는 전부를 이미징한다. 각 카메라는 광축(OA)을 한정하고, 이 광축 주위로 광학기기(116), 초점 거리, 등에 기초하여 시야(field of view)가 수립된다. 물체(150)는 여러 방향으로 각각 배열된 복수의 에지(152, 154 및 156)를 포함한다. 예를 들어, 물체 에지들은 스마트폰 몸체 내에 장착된 커버 유리의 에지를 포함할 수 있다. 예시적으로, 카메라(들)는 전체 물체 또는 특정 위치(예를 들어 유리가 몸체와 만나는 코너)를 이미징할 수 있다. (공통) 좌표 공간이 물체, 카메라들 중 하나의 카메라, 또는 다른 기준점(예를 들어 물체(150)를 지지하는 이동 스테이지)에 대해 수립될 수 있다. 도시된 바와 같이, 좌표 공간은 축(158)들로 표현된다. 이 축들은 예시적으로 직교하는 x 축, y 축 및 z 축과, x-y 평면에서 z 축 주위로 회전(θz)을 한정한다.
예시적인 실시예에 따라, 비전 시스템 프로세스(130)는 비전 시스템 도구/프로세스(132)의 세트를 집합적으로 포함하는 (연산 디바이스(140)에서 실행되는) 하나 이상의 애플리케이션(application)/프로세스와 상호 동작한다. 이들 도구는 이미지 데이터를 분석하는데 사용되는 여러 종래의 전문화된 애플리케이션을 포함할 수 있고 - 예를 들어 여러 교정 도구(calibration tool)와 아핀 변환 도구(affine transform tool)를 사용하여, 취득된 이미지 데이터를 미리 결정된 (예를 들어 공통) 좌표 시스템으로 변환할 수 있다. 이미지 그레이스케일 세기 데이터를 미리 결정된 임계값에 기초하여 바이너리(binary) 이미지로 변환하는 도구들이 포함될 수도 있다. 또한, 인접한 이미지 픽셀(및 서브픽셀)들 사이에 세기(콘트라스트)의 구배를 분석하는 도구들이 제공될 수 있다.
비전 시스템 프로세스(프로세서)(130)는 예시적인 실시예에 따라 취득된 이미지에서 다수의 라인을 찾는 라인-발견 프로세스, 도구 또는 모듈(134)을 포함한다. 도 2를 참조하면, 도 2는 예시적인 실시예에 따른 라인-발견 절차(200)의 개요를 그래프로 도시한다. 이 절차(200)는 2개의 주요 부분으로 구성된다. 입력 이미지(210)는 프로세서에 제공된다. 도시된 바와 같이, 이 이미지는 한 쌍의 교차하는 에지(212 및 214)들을 포함한다. 이들 교차하는 에지는 전술된 물체(150)의 코너 구역을 나타낼 수 있다. 에지점 추출기(220)는 입력 이미지(210)를 처리하여, 에지(212 및 214)를 따라 각각 존재하는 에지점(232 및 234)들을 포함하는 후보 에지점들의 세트(230)를 획득한다. 에지점(232, 234)들과 그 연관된 데이터(예를 들어 아래에 설명된 세기 구배 정보)는 재귀적 라인 파인더(recursive line finder)(240)에 제공되고, 이 라인 파인더는 선택된 에지점들에 일련의 반복 프로세스(iterative process)를 수행한다. 반복 프로세스의 목표는 다른 발견된 에지점들을 후보 라인 특징부들에 맞추는 시도를 하는 것이다. 라인-발견 프로세스(240)를 수행한 결과, 도시된 바와 같이 라인(252)과 라인(254)이 발견된다. 이들 결과는 정보를 사용하는 다른 다운스트림 프로세스(260) - 예를 들어 정렬 프로세스, 로봇 조작, 검사, ID 판독, 부분/표면 검사 등에 제공될 수 있다.
도 3을 참조하면, 도 3은 일 실시예에 따라 에지점들을 추출하는 절차를 설명한다. 장면에서 발견될 에지 특징부를 가지는 물체 또는 표면을 포함하는 하나 이상의 이미지가 취득된다(단계 310). 이 이미지(들)는 단일 카메라 또는 복수의 카메라에 의해 추출될 수 있다. 어느 경우이든, 이미지 픽셀들은 단계(320)에서 적절한 교정 파라미터에 의해 새로운 좌표 공간 및/또는 공통 좌표 공간으로 (선택적으로) 변환될 수 있다. 이 단계는 아래에 설명된 바와 같이 이미지를 평활화하는 것을 더 포함할 수 있다. 특정 실시예에서, 복수의 카메라가 장면의 불연속적인 구역을 이미징하는 경우 - 예를 들어 더 큰 물체의 코너 구역에 집중하는 경우 - , 공통 좌표 공간은 카메라의 시야들 사이에 빈 구역(empty region)을 고려할 수 있다. 아래에 설명된 바와 같이, 이러한 시야들 사이에 연장되는 라인들(예를 들어 2개의 발견된 코너 구역들을 연결하는 물체 에지)이 예시적인 실시예의 시스템 및 방법에 의해 외삽될 수 있다. 라인들을 발견하는데 요구되는 에지점들이 단계(330)에서 구배장 사영을 사용하여 에지점 추출기에 의해 적절한 좌표 공간에서 이미지(들)로부터 추출된다. 먼저 각 픽셀에 대해 구배 값들이 연산되어, x 및 y 구배 성분에 대한 2개의 이미지가 생성된다. 이 이미지(들)는 많은 캘리퍼-같은 구역들에 걸쳐 구배장을 사영하는 것에 의해 더 처리된다. 세기 값을 사영하는 종래의 캘리퍼 도구와는 달리, 이 실시예에 따른 구배장을 사영하는 것에 의해, 구배 배향이 보존될 수 있고, 이는 아래에 설명된 바와 같이 후속 라인을-발견하는 프로세스를 촉진한다.
단계(340)에서 또한 도 4의 도면을 참조하면, 후보 에지 특징부를 포함하는 이미지의 부분(캘리퍼-같은 구역)(400)은 (복수의 사영(410, 420, 430)으로 표현된) 구배장 사영을 받고, 검색 방향(화살표 SD)으로 에지들의 (대략) 예상된 배향에 걸쳐 검색되는데, 이 사영은 직교 사영 방향(화살표 PD)으로 구역(400)에 걸쳐 반복된다. 각 사영(예를 들어 사영(420))에서 에지들은 이 사영과 연관된 구배장(440)에서 국부적인 최대값으로 보인다. 일반적으로, 에지와 연관된 사영에서 일련의 에지점들은 이 에지의 연장 방향과 직교하는 세기 구배(벡터(552, 554))를 나타낸다. 아래에 설명된 바와 같이, 사용자는 예상된 라인 배향에 기초하여 사영 방향을 한정할 수 있다. 대안적으로, 이것은 디폴트에 의해 또는 다른 메커니즘에 의해 - 예를 들어 이미지 내 특징부를 분석하는 것에 의해 제공될 수 있다.
2개의 입도 파라미터가 전술된 구배 사영 단계에 수반된다. 구배장을 계산하기 전에, 사용자는 등방성 가우시안 커널을 사용하여 이미지를 평활화하도록 선택할 수 있다. 제1 입도는 이 가우시안 평활화 커널의 사이즈를 결정한다. 도 5의 다이아그램(500)에 도시된 바와 같이, 적절히 사이즈의 가우시안 커널(예를 들어 대형(512), 중형(514), 소형(516))을 적용하여 이미지(210)를 평활화한다. 그리하여, 제1 입도 파라미터는, 구배장을 계산하기 전에, 등방성 가우시안 평활화 커널의 사이즈를 결정한다.
구배장을 계산한 후, 종래의 캘리퍼 도구에서 수행되는 균일한 가중이 아니라 가우시안-가중된 사영이 이 프로세스에 의해 수행된다. 따라서, 제2 입도 파라미터는, 구역(600)이 가우시안-평활화된 커널(610, 620, 630)을 받은 도 6에 도시된 바와 같이, 구배장 사영 동안 사용되는 1차원(1D) 가우시안 커널의 사이즈를 결정한다. 일반적인 동작 동안, 사용자는 이미지에 오버레이된 모든 추출된 에지들을 (GUI를 사용하여) 검증하고 나서, 이미지의 배경 잡음으로 인한 과도한 개수의 에지를 회피하면서, 발견될 라인을 따라 추출된 에지의 개수가 만족스럽게 보일 때까지, 입도 및 콘트라스트 임계값을 조절한다. 다시 말해, 이 단계에 의해 신호-대-잡음 비가 이미지 특성에 대해 최적화될 수 있다. 이 조절은 여러 실시예에서 디폴트 값을 사용하여 시스템에 의해 자동적으로 수행될 수도 있다. 가우시안 가중 함수를 사용하는 것은 (예를 들어) 균일한 가중을 하는 것을 포함하여 사영을 가중시키는 여러 접근법들 중 하나의 접근법인 것으로 이해된다.
구배장을 추출하고 사영하는 전체적인 흐름은 도 7의 다이아그램(700)에서 그래프로 도시된다. 2개의 입도 파라미터, 즉 등방성 가우시안 커널(710)과 1D 가우시안 커널(720)은 전체 다이아그램(700)의 각 절반에 각각 도시된다. 도시된 바와 같이, 각 취득된 이미지(210)는 평활화 및 데시메이션(decimation)(730)을 받는다. 그 결과로 생긴 이미지(740)는 전술된 바와 같이 구배장 계산(750)을 받아서, 2개의 구배 이미지(752 및 754)들이 생성된다. 이들 구배 이미지는 또한 공통 좌표 공간에서 2개의 직교 축을 나타내는 gx와 gy로 표현된다. 2개의 구배 이미지에 더하여, 처리된 세기 정보는 또한 일 실시예 - 아래에 설명된 실시예에 따라 정규화된 콘트라스트를 계산하는데 사용되기 때문에, 세기 이미지(756)는 또한 일반적으로 (1D 가우시안 커널(720)에 기초하여 가우시안-가중된 사영(770)을 사용하여) 평활화, 데시메이션 및 사영 프로세스(760)를 받는 것으로 이해된다. 그 결과 구배 이미지(772)(gx), 이미지(774)(gy), 및 세기 이미지(776)의 사영 프로파일이 생성된다.
또한 절차(300)(도 3)에서 단계(350)를 참조하면, x 및 y 구배 이미지들의 1D 사영 프로파일들을 결합하는 것에 의해 자격 있는 에지점(qualified edge point)들이 추출된다. 이것은 세기 이미지에 기초하여 원시(raw) 콘트라스트를 계산하는 것(780)과 정규화된 콘트라스트를 계산하는 것(790)을 사용하여 달성된다. 보다 구체적으로, 각 임계값을 초과하는 원시 사영된 구배 크기와 정규화된 사영된 구배 크기를 갖는 임의의 국부적인 피크는 다음 예시적인 수식에 따라 후속 라인을 발견하기 위한 후보 에지점으로 고려된다:
(gx 2 + gy 2)1/2 > TABS
(gx 2 + gy 2)1/2/I > TNORM
여기서 gx 및 gy는, 각각, 픽셀 위치에서 x-구배와 y-구배 사영의 값이고, I는 세기이고, TABS는 원시 사영된 구배 크기에 대한 절대 콘트라스트 임계값이고, TNORM은 세기-정규화된 사영된 구배 크기에 대한 정규화된 콘트라스트 임계값이다.
특히, 점의 절대 콘트라스트와 정규화된 콘트라스트가 각 임계값을 모두 초과할 때, 이 점만이 후보 에지점으로 고려된다. 이것은, 정규화된 콘트라스트 임계값(TNORM) 대(versus) 절대 콘트라스트 임계값(TABS)의 예시적인 그래프(800)에서 우상 사분면(upper right quadrant)(810)으로 도시된다. 듀얼(dual) 임계값(절대 임계값과 정규화된 임계값)을 사용하는 것이 일반적으로 절대 콘트라스트 임계값을 사용하는 기존의 접근법과 일반적으로 상이하다. 듀얼 콘트라스트 임계값의 이익은, 예시적으로, 이미지가 관심 에지들을 포함하는 어두운 세기 구역과 밝은 세기 구역을 모두 포함할 때, 명확하다. 이미지의 어두운 구역에서 에지를 검출하기 위해서는, 낮은 콘트라스트 임계값을 설정하는 것이 바람직하다. 그러나, 이러한 낮은 콘트라스트 설정은 이미지의 밝은 부분에서는 잘못된 에지를 검출할 수 있다. 역으로, 이미지의 밝은 구역에서 잘못된 에지를 검출하는 것을 회피하기 위해서는, 높은 콘트라스트 임계값을 설정하는 것이 바람직하다. 그러나, 높은 콘트라스트 설정에서는 시스템이 이미지의 어두운 구역에서 에지를 적절히 검출하지 못할 수 있다. 전통적인 절대 콘트라스트 임계값에 더하여 제2 정규화된 콘트라스트 임계값을 사용하는 것에 의해, 시스템은 어두운 구역과 밝은 구역에서 에지를 모두 적절히 검출할 수 있고, 이미지의 밝은 구역에서 잘못된 에지를 검출하는 것을 회피할 수 있다. 그리하여, 듀얼 콘트라스트 임계값을 사용하는 것을 통해, 의사 에지(spurious edge)를 회피하면서 관련 에지를 검출할 수 있는 것에 의해, 전체 프로세스에서 후속 라인을 발견하는 단계의 속력과 강력함(robustness)을 최대화하는 기능을 한다.
절차 단계(350)(도 3)를 더 참조하면, 모든 에지점들이 추출되면, 이들 에지점들은 후속 라인-파인더들이 동작하기에 편리한 데이터 구조로 표현되고 저장된다. 예를 들어, 다음 집합(tuple), 즉 :
p = (x,y,gx,gy,gm,go,I,gm/I,m,n)로 표현되는데,
여기서 (x,y)는 에지점의 위치이고, (gx,gy)는 각 x-구배와 y-구배 사영의 값이고, (gm,go)는 (gx,gy)로부터 연산된 구배 크기와 배향이고, I는 에지점 위치에서의 세기이고, gm/I는 구배 크기(gm)를 세기(I)로 분할한 것에 의해 획득된 세기-정규화된 콘트라스트이고, m은 이미지 색인(index)이고, n은 사영 구역 색인이다. 표준 캘리퍼 도구에서와 같이 에지점의 위치는 정확성을 개선하기 위해 내삽될 수 있다.
일반적으로 에지점을 추출하는 프로세스는, 예상된 라인 각도와 실질적으로 매칭(match)하는 단일 방향으로 구배장 사영을 실행하도록 동작하는 것으로 이해된다. 그리하여 도구는 이 각도의 에지에 가장 민감하고, 그 감도는 다른 각도의 에지에서는 점진적으로 떨어지고, 여기서 떨어지는 율은 구배장 사영 길이를 간접적으로 결정하는 입도 설정에 의존한다. 그 결과, 이 프로세스는, 사용자에 의해 지정된 각도 범위에 따라, 예상된 라인 각도"부근(near)"의 각도를 갖는 라인을 발견하는 것으로 제한된다. 이 프로세스는 직교가 아닌 라인을 발견하도록 적응된 것이지만, 이 프로세스는 여러 실시예에서 직교 방향을 포함하는 다수의 방향으로 사영을 수행하는 것에 의해 360도에 걸쳐 임의의 각도 라인을 발견(전방향 라인을 발견)하도록 일반화될 수 있는 것으로 고려된다.
이제 절차(300)(도 3)에서 단계(360)를 참조하면, 임계값을 넘는 에지점 후보들이 예시적인 실시예에 따라 라인-파인더에 제공된다. 예를 들어, 라인-파인더는 재귀적으로(recursively) 동작하고, (예를 들어) RANSAC(RANdom SAmple Concensus)-기반 기술을 사용한다. 또한 도 9에 있는 라인-발견 절차(900)를 참조한다. 단계(910)에서, 사용자는, (예를 들어) GUI를 통해 예상된 각도, 각도 공차, 거리 공차, 및 (예시적으로) (일반적으로 아래에 한정된) 최소 커버리지 스코어와 함께 이미지에서 예상된 라인의 최대 개수를 지정한다. 이 파라미터는 다음 프로세스를 동작시키기 위해 라인-파인더에 사용된다. 이 라인은 RANSAC 라인 파인더를 재귀적으로 실행하는 것에 의해 이미지의 각 서브구역에 대해 발견되고, 하나의 단계로부터 에지점 이상치들은 그 다음 단계의 입력점이 된다. 따라서, 단계(920)에서, 절차(900)는, 에지-발견 프로세스에서 극단값으로 식별된 에지점들의 그룹의 일부인 한 쌍의 에지점을 선택한다. 절차(900)는 모델 라인과 일치하는 (선택된 공차 범위 내에서) 매칭 구배 값들에 기초하여 모델 라인을 선택된 에지점들에 맞추는 시도를 한다. 단계(924)에서, 단계(922)로부터의 하나 이상의 라인 후보(들)가 리턴된다. 각 라인-발견 단계는 후보 라인, 그 정상치 및 이상치를 리턴한다. 리턴된 라인(들)은 라인 후보와 일치하는 위치와 구배를 구비하는 정상치 에지점들에 대해 연산을 받는다(단계 926). 단계(928)에서, 최대 정상치 카운트를 갖는 후보 라인이 식별된다. 전술된 라인-발견 단계(단계 920-928)는 허용된 RANSAC 반복의 최대 개수에 도달될 때 종료한다(판정 단계 930). 각 라인-발견 단계 내 반복의 최대 개수는 사용자에 의해 지정된 보장 레벨(assurance level)과, 이상치의 내부적으로 연산된 최악의 경우의 비율을 자동적으로 사용하여 연산된다. 각 라인 발견 단계는, 사용자-지정된 맞춤 공차, 기하학적 제약 및 극성에 따라, 모든 반복들 중에서 최대 개수의 캡처된 에지점들을 갖는 라인을 리턴한다. 각 에지점은 단일 라인의 정상치 리스트에만 할당될 수 있고, 각 라인은 각 사영 구역으로부터 기껏 하나의 에지점만을 포함하도록 허용된다. 그 위치와 함께 에지점의 구배 배향은 에지점이 후보 라인의 정상치 리스트에 포함되어야 할지 여부를 결정하는데 사용된다. 특히, 에지점들은 후보 라인의 각도와 일치하는 구배 배향을 구비하여야 한다.
판정 단계(930)가 더 많은 반복이 허용되는 것으로 결정하면, 최상의 정상치 후보로부터 이상치가 라인 후보를 발견하는데 사용하기 위해 RANSAC 프로세스(단계 920)로 리턴된다(단계 940).
각 RANSAC 반복 동안, 상이한 사영 구역에 속하는 2개의 에지점들이 랜덤하게 선택되고, 이 2개의 점들에 맞는 라인이 있을 수 있다. 그 결과로 생긴 후보 라인은, 후보 라인의 각도가 한 쌍의 점에서 두 에지들의 구배 각도와 일치하는 경우에만 그리고 라인의 각도가 사용자가 지정한 불확정성 범위와 일치하는 경우, 추가적인 고려를 받는다. 일반적으로, 에지점의 구배 방향은 공칭적으로 직교하지만, 사용자-구성된 각도 공차만큼 상이한 것이 허용된다. 후보 라인이 이들 초기 테스트를 통과하는 경우, 정상치 에지점들의 수가 평가되고, 만약 통과하지 못하면, 새로운 RANSAC 반복이 개시된다. 에지점은, 그 구배 방향과 위치가 사용자가 지정한 구배 각도와 거리 공차에 기초하여 라인과 일치하는 경우에만, 후보 라인의 정상치로 고려된다.
RANSAC 반복이 최대값에 도달하면(판정 단계 930), 최상으로 발견된 라인 후보의 정상치들이 (예를 들어) 최소 제곱 회귀(least squares regression) 또는 다른 허용가능한 근사 기술을 사용하여 개선된 라인 맞춤을 받고, 정상치들의 개수가 더 증가하거나 또는 감소하지 않을 때까지, 이 단계를 최대 N회(예를 들어 3회 이상) 반복하여 정상치 에지점들의 세트를 재평가한다(단계 960). 이것은 단계(970)에서 발견된 것으로 지시된 라인이다.
판정 단계(980)는 더 많은 라인이 ((예를 들어) 추가적인 서브 구역 또는 다른 기준을 검색하는데 기초하여) 발견될지 여부를 결정하고, 만약 발견된다면, 프로세스는 단계(920)로 되돌아가서, 새로운 세트의 에지점에 대해 동작한다(단계 982). 점들이 전체에 걸쳐 다 수행되었거나 또는 최대 반복 카운트에 도달되었다면, 절차(900)는 단계(990)에서 이미지에서 (즉, 다수의) 발견된 라인의 세트를 리턴한다.
다중-라인 파인더는, 2개의 라인 결과가 검사 구역에서 서로 교차하는 경우에, 기존의 결과를 최종적으로 조절하도록 적응된다. 일반적으로 도 10 및 도 11에 도시된 바와 같이, 근접 이격된 평행한 라인(1010 및 1020)들에 대해, RANSAC 절차의 통계적 특성으로 인해 종종 에러 있는 라인 결과(즉 도 10)가 획득될 수 있다. 그러나, 이러한 에러가 일어날 때, 정상치의 점 그룹을 교환하는 것(도 11에서 그룹(1110) 내 화살표 1120)에 의해 종종 증가된 커버리지 스코어와 감소된-맞춤 잔류값(fit residual)을 갖는 정확한 라인을 찾을 수 있다. 점을 교환하는 것은, 이미지가 도시된 바와 같이 근접 이격된 평행한 라인들을 포함할 때, 가장 효과적일 수 있다. 역으로, 이미지가 도 12 및 도 13에 도시된 바와 같이 실제 서로 교차하는 라인(1210)과 라인(1220)을 포함할 때, 커버리지 스코어가 점을 교환한(도 12에서 그룹(1240) 내 화살표 1230) 후 감소되는 경우, 교환하기 전에 획득된 원래의 결과가 프로세스에 의해 교차하는 라인들을 성공적으로 검출하기 위해 유지된다.
RANSAC 절차는 라인-파인더가 점들을 라인으로 맞출 수 있는 여러 기술 중 하나인 뿐이라는 것으로 이해된다. 대안적인 실시예에서, 후보 점들은 이들 점들 사이에 설정된 변위에 따라 선택될 수 있고, 또는 이미지는 (예를 들어) 전수 검색 기술(exhaustive search technique)을 사용하여 처리될 수 있다. 따라서, 본 명세서에 사용된 바와 같이 RANSAC 기술이라는 언급은 여러 유사한 점-맞춤 기술을 포함하는 것으로 넓게 해석되어야 한다.
이 시스템 및 방법의 추가적인 기능이 제공될 수 있다. 이들 기능은 혼합된-극성을 지원하는 것, 사영 구역 폭을 자동 연산하는 것, 다중-뷰 라인 발견을 지원하는 것, 및 입력 이미지에서 미리-뒤틀림(pre-warpage)을 제거하여 광학적 왜곡을 제거하는 것을 포함한다. 이들 기능은 아래에서 더 설명된다.
도 14 내지 도 16의 예를 더 참조하면, 예시적인 실시예의 라인-발견 시스템 및 방법은 발견된 에지들 사이에 콘트라스트에 대한 표준 밝은에서-어두운으로의 극성, 어두운에서-밝은으로의 극성, 및 어느 하나의 극성 설정을 (각각) 일반적으로 지원한다. 나아가, 이 시스템 및 방법은 밝은에서-어두운으로의 극성 및 어두운에서-밝은으로의 극성 특성이 동일한 라인에 모두 보이는 혼합된-극성 설정(도 17)을 더 지원할 수 있다. 모두 4개의 설정의 라인-발견 결과는 다음 도면에서 도시된다. 예시적인 실시예에서, 이 시스템 및 방법은 반대 극성의 에지점들을 포함하는 단일 라인을 발견할 수 있는 혼합된-극성 설정을 포함할 수 있다. 이것은 단일 라인의 모든 에지점들이 어느 하나의 극성이지만 - 단 하나의 극성인"어느 하나의" 극성만을 구비하는 종래의 설정과는 상이하다. 혼합된-극성 설정은, 다른 적용 중에서 (예를 들어) 교정 판의 밝은 체커보드와 어두운 체커보드를 분석하는데 사용될 때 유리할 수 있다.
사용자는 라인을-발견하는 개선된 시프트 불변성(shift invariance)을 선택할 수 있다. 이러한 경우에, 에지점 추출기는 실질적으로 오버랩된 사영 구역을 사용하여 결과 안정성을 개선시킨다. 구역들이 오버랩하지 않는 경우, 고려되는 픽셀들은 이미지가 시프트될 때 사영 구역으로부터 잠재적으로 이동하여, 그 결과, 라인-발견 결과에 불량한 시프트 불변성을 초래할 수 있다. 오버랩된 사영 구역들은 고려되는 픽셀들이 사영 구역들에 의해 연속적으로 커버되는 것을 보장한다. 오버랩된 사영 구역들이 사용된 경우, 증분적 연산을 수행하여 가능한 낮은 레벨의 최적화와 함께 속력을 유지할 수 있다.
사용자는 라인 특징부에 대한 분석으로부터 취득된 이미지 및/또는 이미징된 표면의 특정 부분들을 생략하는 마스크를 제공할 수 있다. 이것은 표면이 관심이 없는 알려진 라인 특징부(예를 들어, 라인들이 발견되는 작업과 관련이 없는 다른 메커니즘, 텍스트, 및 임의의 다른 구조에 의해 분석되는 바코드)를 포함하는 경우 바람직할 수 있다. 따라서, 에지점 추출기는, 이미지에서 "관심 없는(don't care)" 구역이 마스킹아웃(masked out)될 수 있고, "관심"구역이 마스킹인(masked in)되는 이미지 마스킹을 지원할 수 있다. 이러한 마스킹이 일어나는 경우, 발견된 라인들의 커버리지 스코어들은 마스크 내에 있는 에지점들의 수에 따라 예시적으로 재가중된다.
도 18의 예시적인 이미지 구역(1800)을 참조하면, 도 18은 이미지 마스크들이 존재할 때 커버리지 스코어들과, 이러한 커버리지 스코어들에 대한 이미지 마스킹의 효과를 도시한다. 에지점 추출기는 이미지에서 "관심 없는 구역"이 마스킹아웃될 수 있는 이미지 마스킹을 지원한다. 도시된 바와 같이, 발견된 라인(1810)은 ("관심" 마스크 구역(1820)에 기초하여) 관심 에지점들로 특성화된다. 이러한 관심 에지점들은 라인(1810)으로의 관심 에지점 정상치(1830)와 라인(1810)으로의 관심 에지점 이상치(1840)로 구성된다. 라인(1810)에서 관심 없는 에지점(1850)들은 이 예에 도시된 바와 같이 마스크의 관심 구역(1820)들 사이에 존재하고, 이 관심 없는 에지점들이 정상치로 라인에 존재하는 경우에도 커버리지 스코어 연산에 포함되지 않는다. 라인(1810)을 따라 에지점들의 잠재적인 위치(1860)가 도시된 바와 같이 또한 결정된다. 이 잠재적인 위치는 발견된 점들의 간격에 기초하여 예측가능한 간격으로 알려진 점들 사이에 위치된다. 예시적으로, 발견된 라인들의 커버리지 스코어들은 마스크 내에 있는 에지점들의 수에 따라 재가중된다. 그리하여 커버리지 스코어는 다음과 같이 변경된다:
커버리지 스코어 = 라인에 대한 관심 에지점 정상치의 수/(라인에 대한 관심 에지점 정상치의 수 + 라인에 대한 관심 에지점 이상치 + 에지점들의 관심 잠재적인 위치의 수).
본 명세서에서 시스템 및 방법에 따른 라인-발견 프로세스를 실행한 후, 발견된 라인들은 ((예를 들어) GUI를 통해) 사용자에 의해 지정된 분류 기준에 기초하여 여러 방식으로 분류될 수 있다. 사용자는 정상치 커버리지 스코어, 세기 또는 콘트라스트와 같은 내적(intrinsic) 분류 조치로부터 선택될 수 있다. 사용자는 또한 부호 있는 거리 또는 상대 각도와 같은 외적(extrinsic) 분류 조치로부터 선택할 수 있다. 외적 분류 조치를 사용할 때, 사용자는 발견된 라인들의 외적 조치를 연산하는 기준 라인 세그먼트를 지정할 수 있다.
일반적으로 전술된 바와 같이, 이 시스템 및 방법은 상이한 시야로부터 이미지 벡터를 프로세스로 전달할 수 있는 MFOV(Multi-Field-of-View) 오버로드를 포함할 수 있다. 이미지들은 교정에 기초하여 공통 클라이언트 좌표 공간에 모두 있어야 한다. 전술된 바와 같이, 이 기능은 다수의 카메라가 단일 부분의 부분 영역들을 캡처하는데 사용되는 응용 시나리오에서 극히 유리할 수 있다. 에지점들은 구배 정보를 유지하기 때문에, (두 FOV에서의 구배들이 각 FOV에서 주어진 라인 배향과 정렬에 매칭할 때) 시야에 있는 갭들 사이에 사영된 라인 특징부들은 여전히 분석될 수 있다.
특히, 이 시스템 및 방법은, 왜곡이 심각하지 않는다고 가정하면, 비선형 왜곡을 제거하기 위해, (이미지에서) 뒤틀림을 제거할 것을 요구하지 않는다(즉, 이미지가 뒤틀리지 않은 것을 요구하지 않는다). 이미지가 뒤틀리지 않은 경우, 이 시스템 및 방법은 여전히 후보 에지점들을 검출할 수 있고, 비선형 변환을 통해 점의 위치와 구배 벡터를 맵핑할 수 있다.
이 시스템 및 방법 및 여러 대안적인 실시예/개선에 따라 제공된 라인-파인더는 여러 조건 하에서 다수의 라인 특징부를 결정하는 효과적이고 강력한 도구인 것이 분명하다. 일반적으로, 이 시스템 및 방법은 라인 특징부를 발견하는데 사용될 때, 이미지에서 발견되는 최대 라인 개수에 특정 제한을 갖지 않는다. 메모리와 연산 시간만이 발견될 수 있는 라인의 개수에 실제적 제한을 준다.
상기는 본 발명의 예시적인 실시예의 상세한 설명이다. 본 발명의 사상과 범위를 벗어남이 없이 여러 변형과 추가를 할 수 있을 것이다. 전술된 여러 실시예 각각의 특징부는 적절한 경우 다른 설명된 실시예의 특징부와 결합되어, 연관된 새로운 실시예에서 다수의 특징부 조합이 제공될 수 있다. 나아가, 상기는 본 발명의 장치 및 방법의 다수의 별개의 실시예를 설명하지만, 본 명세서에서 설명된 것은 본 발명의 원리의 적용을 단지 예시하는 것이다. 예를 들어, 본 명세서에 사용된 바와 같이 "프로세스" 및/또는 "프로세서"라는 용어는 여러 전자 하드웨어 및/또는 소프트웨어 기반 기능과 성분을 포함하는 것으로 넓게 해석되어야 한다(그리고 대안적으로 기능 "모듈" 또는 "요소"이라고 언급될 수 있다). 나아가, 도시된 프로세스 또는 프로세서는 다른 프로세스 및/또는 프로세서와 결합되거나 또는 여러 서브-프로세스 또는 프로세서로 분할될 수 있다. 이러한 서브-프로세스 및/또는 서브-프로세서는 본 명세서에 개시된 실시예에 따라 여러 방식으로 결합될 수 있다. 또한, 본 명세서에서 임의의 기능, 프로세스 및/또는 프로세서는 전자 하드웨어, 프로그램 명령의 비-일시적인 컴퓨터-판독가능한 매체로 구성된 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있는 것으로 명시적으로 고려된다. 추가적으로, 본 명세서에 사용된 바와 같이 "수직", "수평", "위로", "아래로", "하부", "상부", "측면", "전방", "후방", "좌측", "우측" 등과 같은 여러 방향과 배치 용어는 상대적인 관례로서만 사용된 것일 뿐, 중력의 작용 방향과 같은 고정된 좌표 공간에 대해 절대 방향/배치로 사용된 것이 아니다. 추가적으로, "실질적으로" 또는 "대략"이라는 용어는 주어진 측정값, 값 또는 특성에 사용된 경우, 이 용어는 원하는 결과를 달성하는 정상 동작 범위 내에 있는 양을 말하지만, 이것은 시스템의 내적 부정확성과 허용된 공차 내 에러(예를 들어, 1-5 퍼센트)로 인한 일부 변동을 포함한다. 따라서, 본 설명은 예시적인 것으로만 해석되어야 하고, 본 발명의 범위를 제한하려고 의도된 것이 아니다.

Claims (23)

  1. 취득된 이미지에서 라인 특징부를 발견하는 시스템으로서,
    라인 특징부를 포함하는 장면의 이미지 데이터를 수신하는 비전 시스템 프로세서로서,
    (a) 상기 이미지 데이터로부터 구배 벡터장(gradient vector field)을 연산하는 동작,
    (b) 복수의 구배 사영 서브-구역(gradient projection sub-region)들에 걸쳐 상기 구배 벡터장을 사영하는 동작, 및
    (c) 사영된 구배 데이터에 기초하여 상기 구배 사영 서브-구역들 각각에서 복수의 에지점(edge point)들을 발견하는 동작을 수행하는 에지점 추출기를 구비하는 비전 시스템 프로세서; 및
    상기 이미지로부터 추출된 에지점들과 일치(consistent)하는 복수의 라인을 생성하는 라인-파인더(line-finder)를 포함하는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서, 상기 라인 파인더는, 이전에 한정된 라인들에 대해 이상치 에지점(outlier edge point)들로부터 라인을 반복적으로 한정하는 것을 포함하여, 정상치 에지점(inlier edge point)들을 새로운 라인들에 맞추는(fit) RANSAC-기반 프로세스를 동작시키는 것을 특징으로 하는 시스템.
  3. 제1항에 있어서, 상기 구배 벡터장 사영은 하나 이상의 또는 상기 라인 특징부의 예상된 배향에 응답하여 설정된 방향을 따라 배향된 것을 특징으로 하는 시스템.
  4. 제1항에 있어서, 상기 구배 벡터장 사영은 가우시안 커널(Gaussian kernel)에 기초하여 입도(granularity)를 한정하는 것을 특징으로 하는 시스템.
  5. 제1항에 있어서, 상기 에지점 추출기는 상기 구배 사영 서브-구역들 각각에서 복수의 구배 크기 최대값을 발견하도록 배열되고, 상기 구배 크기 최대값은, 위치 벡터와 구배 벡터에 의해 설명되는 상기 복수의 에지점의 일부로서 각각 식별되는 것을 특징으로 하는 시스템.
  6. 제1항에 있어서, 상기 라인 파인더는, 메트릭(metric)을 연산하는 것에 의해, 상기 추출된 복수의 에지점들 중 적어도 하나의 에지점과 상기 발견된 복수의 라인 중 적어도 하나의 후보 라인 사이의 일치도(consistency)를 결정하도록 배열되고, 상기 메트릭은, 상기 적어도 하나의 후보 라인으로부터 상기 적어도 하나의 에지점의 거리, 및 상기 적어도 하나의 에지점의 구배 방향과 상기 적어도 하나의 후보 라인의 법선 방향 사이의 각도 차이에 기초하는 것을 특징으로 하는 시스템.
  7. 제1항에 있어서, 상기 이미지 데이터는, 복수의 카메라로부터 취득되고 공통 좌표 공간으로 변환된 복수의 이미지로부터 데이터를 포함하는 것을 특징으로 하는 시스템.
  8. 제1항에 있어서, 상기 이미지 데이터를 평활화하는 평활화 커널(smoothing kernel)을 더 포함하는 시스템.
  9. 제8항에 있어서, 상기 평활화 커널은 가우시안 커널을 포함하는 것을 특징으로 하는 시스템.
  10. 제1항에 있어서, 상기 에지점들은, 절대 콘트라스트에 의해 한정된 임계값과, 상기 이미지 데이터의 평균 세기에 기초하여 정규화된 콘트라스트에 기초하여 선택되는 것을 특징으로 하는 시스템.
  11. 제1항에 있어서, 상기 라인 파인더는 에러 있는 배향을 정정하기 위해 상기 발견된 복수의 라인으로부터 평행한 라인들 또는 교차하는 라인들의 부분을 나타내는 추출된 복수의 에지점으로부터 적어도 일부 에지점들을 교환하도록 배열된 것을 특징으로 하는 시스템.
  12. 제1항에 있어서, 상기 라인 파인더는 극성 변동(polarity variation)을 가지는 발견된 복수의 라인으로부터 라인을 식별하도록 배열된 것을 특징으로 하는 시스템.
  13. 제12항에 있어서, 상기 식별된 라인들은 상기 추출된 복수의 에지점의 구배 값에 기초하여 상기 발견된 복수의 라인의 라인 특징부들의 혼합된 극성에 의해 한정된 라인인 것을 특징으로 하는 시스템.
  14. 취득된 이미지에서 라인 특징부를 발견하는 방법으로서,
    비전 시스템 프로세서로 장면의 이미지 데이터를 수신하는 단계로서, 상기 데이터는 라인 특징부를 포함하는, 상기 이미지 데이터를 수신하는 단계;
    상기 이미지 데이터로부터 구배 벡터장을 연산하는 단계;
    복수의 구배 사영 서브-구역에 걸쳐 상기 구배 벡터장을 사영하는 단계;
    사영된 구배 데이터에 기초하여 상기 구배 사영 서브-구역들 각각에서 복수의 에지점을 발견하는 단계; 및
    상기 이미지로부터 추출된 에지점들과 일치하는 복수의 라인을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서, 이전에 한정된 라인들에 대해 이상치 에지점들로부터 라인을 반복적으로 한정하는 것을 포함하여, 정상치 에지점들을 새로운 라인들로 맞추는 RANSAC-기반 프로세스를 적용하는 것을 더 포함하는 것을 특징으로 하는 방법.
  16. 제14항에 있어서, 상기 구배 벡터장 사영은 하나 이상의 또는 상기 라인 특징부들의 예상된 배향에 응답하여 설정된 방향에 따라 배향된 것을 특징으로 하는 방법.
  17. 제14항에 있어서, 상기 구배 벡터장 사영은 1D 가우시안 커널에 기초하여 입도를 한정하는 것을 특징으로 하는 방법.
  18. 제14항에 있어서, 상기 구배 사영 서브-구역들 각각에서 복수의 구배 크기 최대값을 발견하는 단계를 더 포함하고, 상기 구배 크기 최대값은 위치 벡터와 구배 벡터에 의해 설명되는 상기 복수의 에지점의 일부로 각각 식별되는 것을 특징으로 하는 방법.
  19. 제14항에 있어서, 메트릭을 연산하는 것에 의해, 상기 추출된 복수의 에지점 중 적어도 하나의 에지점과 상기 발견된 복수의 라인 중 적어도 하나의 후보 라인 사이에 일치도를 결정하는 단계를 더 포함하고, 상기 메트릭은, 상기 적어도 하나의 후보 라인으로부터 상기 적어도 하나의 에지점의 거리, 및 상기 적어도 하나의 에지점의 구배 방향과 상기 적어도 하나의 후보 라인의 법선 방향 사이의 각도 차이에 기초하는 것을 특징으로 하는 방법
  20. 제14항에 있어서, 상기 이미지 데이터는, 복수의 카메라로부터 취득되고 공통 좌표 공간으로 변환된 복수의 이미지로부터 데이터를 포함하는 것을 특징으로 하는 방법.
  21. 제14항에 있어서, 평활화 커널을 사용하여 상기 이미지 데이터를 평활화하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  22. 제14항에 있어서, 절대 콘트라스트에 의해 한정된 임계값과, 상기 이미지 데이터의 평균 세기에 기초하여 정규화된 콘트라스트에 기초하여 상기 에지점들을 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  23. 제14항에 있어서, (a) 에러 있는 배향을 정정하기 위해 평행한 라인들 또는 교차하는 라인들의 부분을 나타내는 에지점들을 교환하는 단계 및 (b) 상기 에지점들의 구배 값에 기초하여 라인들의 혼합된 극성을 포함하는, 상기 라인 특징부들의 극성 변동을 갖는 라인을 식별하는 단계 중 적어도 하나를 더 포함하는 것을 특징으로 하는 방법.
KR1020190049972A 2015-11-02 2019-04-29 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법 KR102402906B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220063255A KR102649038B1 (ko) 2015-11-02 2022-05-24 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562249918P 2015-11-02 2015-11-02
US62/249,918 2015-11-02
US15/338,445 US10152780B2 (en) 2015-11-02 2016-10-31 System and method for finding lines in an image with a vision system
US15/338,445 2016-10-31
KR1020160145441A KR102153962B1 (ko) 2015-11-02 2016-11-02 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160145441A Division KR102153962B1 (ko) 2015-11-02 2016-11-02 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220063255A Division KR102649038B1 (ko) 2015-11-02 2022-05-24 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20190050311A true KR20190050311A (ko) 2019-05-10
KR102402906B1 KR102402906B1 (ko) 2022-05-26

Family

ID=58741907

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020160145441A KR102153962B1 (ko) 2015-11-02 2016-11-02 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법
KR1020190049972A KR102402906B1 (ko) 2015-11-02 2019-04-29 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법
KR1020220063255A KR102649038B1 (ko) 2015-11-02 2022-05-24 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020160145441A KR102153962B1 (ko) 2015-11-02 2016-11-02 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220063255A KR102649038B1 (ko) 2015-11-02 2022-05-24 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법

Country Status (2)

Country Link
JP (2) JP6463593B2 (ko)
KR (3) KR102153962B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10937168B2 (en) 2015-11-02 2021-03-02 Cognex Corporation System and method for finding and classifying lines in an image with a vision system
DE102016120775A1 (de) 2015-11-02 2017-05-04 Cognex Corporation System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
US10753726B2 (en) * 2017-03-26 2020-08-25 Cognex Corporation System and method for 3D profile determination using model-based peak selection
US10540749B2 (en) * 2018-03-29 2020-01-21 Mitsubishi Electric Research Laboratories, Inc. System and method for learning-based image super-resolution
JP2019220163A (ja) * 2018-06-06 2019-12-26 コグネックス・コーポレイション ビジョンシステムでラインを検出するためのシステム及び方法
CN111612776A (zh) * 2020-05-22 2020-09-01 福州数据技术研究院有限公司 一种基于图像边缘识别的病理大体标本大小自动测量方法
CN111724373B (zh) * 2020-06-22 2024-05-14 江西财经大学 一种基于感知加密光场图像的视觉安全性度量方法
CN113344955B (zh) * 2021-05-25 2022-03-18 云南凤云高速公路有限公司 一种模糊边缘精准检测边坡的系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084221A (ja) * 2011-10-12 2013-05-09 Tottori Univ 直線検出装置、直線検出方法、直線検出プログラム及び撮影システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61120002A (ja) * 1984-11-16 1986-06-07 Toyota Central Res & Dev Lab Inc 画像のコ−ナ点検出方法及びその装置
JP3394104B2 (ja) * 1993-12-24 2003-04-07 株式会社小松製作所 位置認識方式
JPH08335274A (ja) * 1995-06-07 1996-12-17 Sony Corp 曲線生成方法
US8442304B2 (en) * 2008-12-29 2013-05-14 Cognex Corporation System and method for three-dimensional alignment of objects using machine vision
RU2458396C1 (ru) * 2011-07-19 2012-08-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ редактирования статических цифровых комбинированных изображений, включающих в себя изображения нескольких объектов
JP2014092922A (ja) * 2012-11-02 2014-05-19 Tottori Univ 検出装置、検出方法及び検出プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084221A (ja) * 2011-10-12 2013-05-09 Tottori Univ 直線検出装置、直線検出方法、直線検出プログラム及び撮影システム

Also Published As

Publication number Publication date
JP2017090450A (ja) 2017-05-25
KR20170051369A (ko) 2017-05-11
KR20220075290A (ko) 2022-06-08
JP6463593B2 (ja) 2019-02-06
KR102153962B1 (ko) 2020-09-10
JP2023120281A (ja) 2023-08-29
KR102402906B1 (ko) 2022-05-26
KR102649038B1 (ko) 2024-03-18

Similar Documents

Publication Publication Date Title
US11854173B2 (en) System and method for finding lines in an image with a vision system
KR102649038B1 (ko) 비전 시스템으로 이미지에서 라인을 찾기 위한 시스템 및 방법
US11699283B2 (en) System and method for finding and classifying lines in an image with a vision system
Placht et al. Rochade: Robust checkerboard advanced detection for camera calibration
CN107085728B (zh) 利用视觉系统对图像中的探针进行有效评分的方法及系统
US9946947B2 (en) System and method for finding saddle point-like structures in an image and determining information from the same
JP2024016287A (ja) ビジョンシステムでラインを検出するためのシステム及び方法
Zhang et al. A new algorithm for accurate and automatic chessboard corner detection
CN116958058A (zh) 镜头脏污检测方法、装置及图像检测设备
Kalinić et al. A novel image similarity measure for image registration
US20240078801A1 (en) System and method for finding and classifying lines in an image with a vision system
CN109670519B (zh) 图像处理装置和图像处理方法
Zhou et al. Deep-sky image live stacking via star descriptor
Seth et al. An Analytic Approach of Edge Detection Gradient Operators [J]
Wedekind et al. Using generic image processing operations to detect a calibration grid
CN117788798A (zh) 目标检测方法、装置、视觉检测系统及电子设备

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant