KR102419427B1 - 비전 시스템에 대한 캘리브레이션 - Google Patents

비전 시스템에 대한 캘리브레이션 Download PDF

Info

Publication number
KR102419427B1
KR102419427B1 KR1020187035915A KR20187035915A KR102419427B1 KR 102419427 B1 KR102419427 B1 KR 102419427B1 KR 1020187035915 A KR1020187035915 A KR 1020187035915A KR 20187035915 A KR20187035915 A KR 20187035915A KR 102419427 B1 KR102419427 B1 KR 102419427B1
Authority
KR
South Korea
Prior art keywords
calibration
mount
calibration structure
camera
vision system
Prior art date
Application number
KR1020187035915A
Other languages
English (en)
Other versions
KR20190007467A (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 KR20190007467A publication Critical patent/KR20190007467A/ko
Application granted granted Critical
Publication of KR102419427B1 publication Critical patent/KR102419427B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2504Calibration devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2518Projection by scanning of the object
    • G01B11/2522Projection by scanning of the object the position of the object changing and being recorded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • H04N13/0221
    • 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/30204Marker

Abstract

런-타임 3D 캘리브레이션을 수행할 수 있는 비전 시스템은, 대상을 유지하도록 구성된 마운트로서, 3D 캘리브레이션 구조를 포함하는 마운트; 카메라; 상기 마운트 또는 상기 카메라와 결합되는 모션 스테이지; 및 작동을 수행하도록 구성된 컴퓨팅 장치를 포함하며, 상기 작동은: 상기 마운트가 상기 카메라에 대해 각각의 미리 결정된 방향에 있을 때, 상기 카메라로부터 이미지를 획득하는 것으로서, 상기 획득된 이미지 각각은 동시에 상기 카메라의 시야에 있는 상기 대상의 적어도 일 부분과 상기 3D 캘리브레이션 구조의 적어도 일 부분의 표현을 포함하며; 상기 획득된 이미지에서 이미징된 상기 3D 캘리브레이션 구조에 관한 정보에 기초하여, 상기 획득된 이미지 각각에 대한 3D 캘리브레이션의 적어도 조정을 수행하는 것; 그리고, 상기 대상의 하나 이상의 특징부의 3D 위치, 치수, 또는 양자 모두를 결정하는 것을 포함한다.

Description

비전 시스템에 대한 캘리브레이션
본 명세서는 비전 시스템에 대한 캘리브레이션(calibration)에 관한 것이다.
관련 출원에 대한 상호 참조
본 출원은 본 명세서에 참조로서 포함된, 2016년 5월 12일자로 출원된 미국 가출원 제62/335,414호의 35 U.S.C.§119(e)(1)에 따른 우선권의 이익을 주장한다.
비전 시스템은 대상의 하나 이상의 3D 표현을 얻기 위해 다수의 이미지를 획득하고, 얻어진 3D 표현으로부터의 정보에 기초하여, 대상, 또는 대상의 특징부(feature)의 적어도 일부 치수를 결정하는데 사용될 수 있다.
대상의 3D 표현의 예시는 포인트 클라우드(point cloud)이다. 포인트 클라우드는 각 포인트 i를 (Xi, Yi, Zi)로 표현할 수 있는 공간의 3D 포인트들의 집합이다. 포인트 클라우드는 대상의 후면 및 측면, 상부 및 하부를 포함하는 완전한 3D 대상을 표현할 수 있다.
대상의 3D 표현의 다른 예시는 각각의 픽셀(일반적으로, x-y 평면에 수직인 z축을 따라 표현됨)에 대한 제3의 (높이) 치수를 또한 포함하는 이미지 픽셀들(일반적으로 직교하는 x 및 y 축을 따르는 위치로 표현됨)의 어레이로 구성되는 범위 이미지이다.
이미지 데이터로부터 정확한 추론을 용이하게 하기 위해, 비전 시스템은 종종 하나 이상의 이미지 좌표 프레임과 단일의 공유 세계 좌표 프레임 사이의 매핑을 확립하는 설정 캘리브레이션 절차를 제공한다. 설정 캘리브레이션에 대한 추가적인 캘리브레이션 절차 또는 조정은 다양한 후속 시간들, 예를 들면, 매년, 매월, 매주 또는 매일 수행될 수 있다.
본 명세서는 비전 시스템에 대한 런-타임(run-time) 캘리브레이션 또는 조정을 수행하고 대상의 하나 이상의 특징부(feature)의 치수를 측정하기 위한 시스템 및 기술에 관한 것이다.
일반적으로, 본 명세서에 설명된 주제의 하나 이상의 양상은 하나 이상의 시스템, 키트, 및 컴퓨팅 장치로 하여금 작동을 수행하게 하는 작동 가능한 컴퓨터 프로그램을 인코딩하는 컴퓨터-판독 가능 매체에서 구체화될 수 있다.
런-타임 3D 캘리브레이션을 수행할 수 있는 비전 시스템은: 대상을 유지하도록 구성된 마운트로서, 평평한 면과 하나 이상의 다른 면을 포함하는 3D 캘리브레이션 구조를 포함하는 마운트; 카메라; 상기 마운트 또는 상기 카메라와 결합되는 모션 스테이지로서, 적어도 하나의 회전 자유도를 갖는 모션 스테이지; 및 작동을 수행하도록 구성된 컴퓨팅 장치를 포함할 수 있으며, 상기 작동은: 상기 대상이 상기 마운트에 의해 유지될 때, 상기 마운트가 상기 카메라에 대해 각각의 미리 결정된 방향에 있을 때, 상기 카메라로부터 이미지를 획득하는 것으로서, 상기 획득된 이미지 각각은 동시에 상기 카메라의 시야에 있는 상기 대상의 적어도 일 부분과 상기 3D 캘리브레이션 구조의 적어도 일 부분의 표현을 포함하며; 상기 획득된 이미지에서 이미징된 상기 3D 캘리브레이션 구조에 관한 정보에 기초하여, 상기 획득된 이미지 각각에 대한 3D 캘리브레이션의 적어도 조정을 수행하는 것; 그리고, (i) 상기 3D 캘리브레이션의 결과, 및 (ii) 상기 획득된 이미지에서 이미징된 상기 대상에 관한 정보에 기초하여, 상기 대상의 하나 이상의 특징부(feature)의 3D 위치, 치수, 또는 양자 모두를 결정하는 것을 포함한다.
다양한 구현에서, 상기 3D 캘리브레이션 구조는 다양한 특징부를 포함할 수 있다. 예를 들면, 상기 3D 캘리브레이션 구조는 주기적으로 이격된 특징부를 포함할 수 있다. 다른 예시로서, 상기 3D 캘리브레이션 구조는 채널에 의해 분리된 바를 포함할 수 있으며, 상기 바 각각은 상기 3D 캘리브레이션 구조의 상기 평평한 면을 형성하는 평평한 면, 및 상기 3D 캘리브레이션 구조의 상기 하나 이상의 다른 면을 형성하는 적어도 하나의 테이퍼(tapered) 면을 포함할 수 있다. 다른 예시로서, 상기 3D 캘리브레이션 구조는 절두체(frustum)를 포함할 수 있고, 상기 절두체 각각은 상기 3D 캘리브레이션 구조의 상기 평평한 면을 형성하는 평평한 면을 포함한다.
일부 구현에서, 상기 절두체의 상기 평평한 면은 다각형을 한정한다. 일부 구현에서, 상기 다각형은 정사각형이다. 일부 구현에서, 상기 절두체의 상기 평평한 면은 원을 한정한다.
일부 구현에서, 상기 모션 스테이지는 상기 마운트가 상기 미리 결정된 방향에서 추가로 병진 이동되도록 적어도 하나의 병진 자유도를 더 포함한다.
일부 구현에서, 상기 3D 캘리브레이션 구조의 상기 다른 면은 상기 평평한 면의 원통형 홀의 측면이다.
일부 구현에서, 상기 마운트는 상기 대상을 유지하기 위한 제1 면, 상기 모션 스테이지와 결합하기 위해 대향하는 제2 면, 및 상기 제1 및 제2 면을 연결하는 측면을 가지며, 또한, 상기 3D 캘리브레이션 구조는 상기 측면 상에 형성된다. 일부 구현에서, 상기 마운트는 식별 마킹을 더 포함한다.
일부 구현에서, 상기 3D 캘리브레이션의 상기 조정은, 상기 획득된 이미지에서 이미징된 상기 3D 캘리브레이션 구조에 관한 정보에 기초하여, 상기 3D 캘리브레이션의 런-타임 완료를 포함한다.
일부 구현에서, 상기 컴퓨팅 장치는 (i) 상기 획득된 이미지, 및 (ii) 상기 수행된 조정에 기초하여, 상기 3D 캘리브레이션 구조의 적어도 일 부분과 상기 대상의 적어도 일 부분의 3D 표현을 얻고, 그리고, 상기 획득된 3D 표현으로부터 상기 3D 캘리브레이션 구조에 관한 정보와 상기 대상에 관한 정보를 추출하도록 구성된다.
일부 구현에서, 상기 3D 캘리브레이션의 상기 조정은 비선형 왜곡, 아핀(affine) 왜곡, 및 강성(rigid) 변형을 보상한다.
일부 구현에서, 상기 컴퓨팅 장치는, 상기 이미지를 공통 3D 좌표 프레임에 정렬시키기 위해 상기 획득된 이미지 각각에 대해 각각의 캘리브레이션 모델 중 적절한 하나를 적용함으로써, 상기 3D 캘리브레이션의 적어도 상기 조정을 수행하도록 구성되며, 상기 각각의 캘리브레이션 모델은 각각의 미리 결정된 방향에 대해 생성되어 있다.
일부 구현에서, 상기 각각의 캘리브레이션 모델은 공통 원점 및 공통 좌표 프레임을 포함한다.
키트는, 비전 시스템을 위한 마운트로서, 상기 마운트는 평평한 면과 하나 이상의 다른 면을 포함하는 3D 캘리브레이션 구조를 포함하며, 상기 3D 캘리브레이션 구조는 주기적으로 이격된 특징부를 포함하는 마운트; 및 상기 3D 캘리브레이션 구조에 대한 캘리브레이션 모델을 인코딩하는 컴퓨터 판독 가능 매체로서, 상기 캘리브레이션 모델은 상기 마운트 상의 상기 3D 캘리브레이션 구조를 사용하여 상기 비전 시스템의 런-타임 3D 캘리브레이션에 사용 가능한 컴퓨터 판독 가능 매체를 포함할 수 있다.
일부 구현에서, 상기 3D 캘리브레이션 구조의 상기 다른 면은 상기 평평한 면의 원통형 홀의 측면이다.
일부 구현에서, 상기 3D 캘리브레이션 구조는 채널에 의해 분리된 바를 포함하며, 상기 바 각각은, 상기 3D 캘리브레이션 구조의 상기 평평한 면을 형성하는 평평한 면, 및 상기 3D 캘리브레이션 구조의 상기 하나 이상의 다른 면을 형성하는 적어도 하나의 테이퍼 면을 포함한다.
일부 구현에서, 상기 3D 캘리브레이션 구조는 절두체를 포함하며, 상기 절두체 각각은, 상기 3D 캘리브레이션 구조의 상기 평평한 면을 형성하는 평평한 면을 포함한다.
컴퓨팅 장치로 하여금 작동을 수행하게 하도록 작동 가능한 컴퓨터 프로그램을 인코딩하는 컴퓨터 판독 가능 매체로서, 상기 작동은: 대상의 적어도 일 부분 및 3D 캘리브레이션 구조의 적어도 일 부분의 이미지를 얻는 것; 상기 얻어진 이미지에서 이미징된 상기 3D 캘리브레이션 구조에 관한 정보에 기초하여, 비전 시스템의 3D 캘리브레이션의 적어도 조정을 수행하는 것; (i) 상기 얻어진 이미지, 및 (ii) 상기 수행된 조정에 기초하여, 상기 3D 캘리브레이션 구조의 적어도 일 부분 및 상기 대상의 적어도 일 부분의 3D 표현을 얻는 것; 상기 얻어진 3D 표현으로부터 상기 3D 캘리브레이션 구조에 관한 정보 및 상기 대상에 관한 정보를 추출하는 것; 및 (i) 상기 3D 캘리브레이션의 결과, 및 (ii) 상기 얻어진 이미지에서 이미징된 상기 대상에 관한 정보에 기초하여, 상기 대상의 하나 이상의 특징부의 3D 위치, 치수, 또는 양자 모두를 결정하는 것을 포함한다.
일부 구현에서, 상기 이미지를 얻는 것은: 상기 대상의 적어도 일 부분 및 상기 3D 캘리브레이션 구조의 적어도 일 부분이 동시에 시야에 있는 카메라에 대해 미리 결정된 방향으로 마운트를 적어도 회전시키기 위해 상기 대상을 유지하는 마운트와 결합되는 모션 스테이지를 지시하는 것으로서, 상기 마운트는 평평한 면과 하나 이상의 다른 면을 포함하는 상기 3D 캘리브레이션 구조를 포함하는 것; 및 상기 마운트가 상기 미리 결정된 방향에 있을 때, 이미지를 획득하도록 상기 카메라를 지시하는 것을 포함한다.
본 명세서에 설명된 주제의 특정 실시예는 다음의 이점 중 하나 이상을 달성하도록 구현될 수 있다. 개시된 런-타임 캘리브레이션은 비전 시스템의 모션 스테이지와 관련된 정확성/반복성 문제를 완화할 수 있다. 예를 들면, 병진 스테이지의 스테이지 회전, 팁 각도, 및 각도 런-아웃의 가변성이 보상될 수 있다. 덜 비싸거나 및/또는 정밀한 모션 스테이지가 사용될 수 있다.
본 명세서에서 설명된 주제의 하나 이상의 실시예의 세부 사항은 첨부된 도면 및 이하의 설명에서 제시된다. 본 발명의 다른 특징, 양상 및 이점은 상세한 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1a는 비전 시스템의 예시의 사시도다.
도 1b 내지 1e는 비전 시스템을 사용하여 대상의 3D 표현을 생성하는 프로세스의 예시의 양상을 나타낸다.
도 2a는 제1의 3D 캘리브레이션 구조를 갖는 마운트의 제1 예시의 사시도다.
도 2b는 제1의 3D 캘리브레이션 구조의 클로즈-업 사시도다.
도 2c는 제1의 3D 캘리브레이션 구조를 갖는 마운트의 제1 예시 상에 장착된 대상의 사시도다.
도 3a는 제2의 3D 캘리브레이션 구조를 갖는 마운트의 제2 예시의 사시도다.
도 3b는 제2의 3D 캘리브레이션 구조를 갖는 마운트의 제2 예시 상에 장착된 대상의 사시도다.
도 4a 내지 4d는 3D 캘리브레이션 구조를 갖는 마운트 상에 장착된 대상의 3D 표현을 얻기 위해 사용되는 스캔 A, B, C, D의 사시도다.
도 5a 및 5b는 제1의 3D 캘리브레이션 구조의 일 부분의 3D 표현의 사시도다.
도 6a는 비전 시스템에 의해 형성된 대상의 3D 표현의 사시도다.
도 6b는 3D 표현의 특징부의 클로즈-업 도면이다.
도 7a는 제3의 3D 캘리브레이션 구조를 갖는 마운트의 제3 예시의 사시도다.
도 7b는 제3의 3D 캘리브레이션 구조의 클로즈-업 사시도며, 복수의 절두체 중 일부를 나타낸다.
도 7c 및 7d는 비전 시스템에 의해 형성된 마운트의 제3 예시 상에 장착된 대상의 3D 표현의 사시도다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
도 1은 비전 시스템(100)의 예시의 사시도다. 비전 시스템(100)은 모션 스테이지(110), 및 하나 이상의 다른 선형 스테이지(114B)를 포함한다. 비전 시스템(100)은 또한 카메라(120), 광원(130), 대상(105)을 유지하는 마운트(150), 및 컴퓨팅 장치(160)를 포함한다.
컴퓨팅 장치(160)는 프로세서(161) 및 메모리(162)를 포함하며, 컴퓨팅 장치(160)는 네트워크에 연결될 수 있다. 프로세서(161)는 하나 이상의 하드웨어 프로세서일 수 있으며, 이는 다수의 프로세서 코어를 각각 포함할 수 있다. 메모리(162)는 랜덤 액세스 메모리(Random Access Memory (RAM)) 및 플래시 램(Flash RAM)과 같은 휘발성 및 비-휘발성 메모리 모두를 포함할 수 있다. 컴퓨팅 장치(160)는 프로세서(161)에서 실행되는 프로그램의 명령을 저장하기 위해, 메모리(162)를 포함할 수 있는 다양한 유형의 컴퓨터 저장 매체 및 장치를 포함할 수 있다. 이러한 프로그램은 비전 프로그램(163)을 포함할 수 있다.
마운트(150)는 모션 스테이지(110)에 견고하게 부착되어, 마운트(150)가 이동할 수 있게 한다. 모션 스테이지(110)는 하나 이상의 회전 스테이지(112) 및 하나 이상의 선형 스테이지(114A)를 포함하여 하나 이상의 회전 자유도 및 하나 이상의 병진 자유도를 마운트(150)에 대해 제공한다.
일부 구현에서, 하나 이상의 회전 스테이지(112)는, 예를 들면, 도 1의 X-축을 중심으로 단일의 회전 자유도를 제공하기 위한 단일의 회전 스테이지로 구성된다. 일부 다른 구현에서, 하나 이상의 회전 스테이지(112)는 제1 회전 스테이지와 제2 회전 스테이지를 포함하고, 제1 회전 스테이지는 마운트(150)의 표면에 평행한, 예를 들면, 도 1에 나타낸 X-축에 평행한 제1 회전축을 가질 수 있으며, 제2 회전 스테이지는 마운트(150)의 표면에 수직인 제2 회전축을 가질 수 있다. 제2 회전 스테이지는 마운트(150)의 롤(roll) 각도 및 요(yaw) 각도의 독립적인 제어를 가능하게 하도록 제1 회전 스테이지 상에 장착될 수 있다.
일부 구현에서, 하나 이상의 선형 스테이지(114A)는, 예를 들면, 도 1에 나타낸 X-축을 따라, 단일의 병진 자유도를 제공하기 위한 단일의 선형 스테이지로 구성된다. 일부 다른 구현에서, 하나 이상의 선형 스테이지(114A)는, 예를 들면, 도 1에 나타낸 X-축 및 Y-축을 따라 마운트(150)에 대한 2개의 병진 자유도를 제공하기 위해 제1 선형 스테이지와 제2 선형 스테이지를 포함한다. 일부 또 다른 구현에서, 하나 이상의 선형 스테이지(114A)는, 예를 들면, 도 1에 나타낸 X-축, Y-축, 및 Z-축을 따라 마운트(150)에 대한 3개의 병진 자유도를 제공하기 위해 제1 선형 스테이지, 제2 선형 스테이지, 및 제3 선형 스테이지를 포함한다.
카메라(120) 및 광원(130)은 하나 이상의 다른 선형 스테이지(114B)에 견고하게 부착된다. 하나 이상의 선형 스테이지(114B)는 마운트(150)에 대해 카메라(120) 및 광원(130)의 이동을 가능하게 한다. 일부 구현에서, 하나 이상의 다른 선형 스테이지(114B)는, 예를 들면, 도 1에 나타낸 Y-축을 따라 단일의 병진 자유도를 제공하기 위한 단일의 선형 스테이지로 구성된다. 일부 다른 구현에서, 하나 이상의 다른 선형 스테이지(114B)는, 예를 들면, 도 1에 나타낸 Y-축 및 Z-축을 따라 마운트(150)에 대한 2개의 병진 자유도를 제공하기 위해 제1 선형 스테이지 및 제2 선형 스테이지를 포함한다. 일부 구현에서, 하나 이상의 회전 스테이지는 하나 이상의 회전 자유도를 제공하기 위해 선형 스테이지(114B) 상에 장착된다. 일부 구현에서, 비전 시스템(100)은 2개 이상의 카메라(120)를 포함할 수 있다.
비전 시스템(100)에 의해 측정될 대상(105)은 마운트(150) 상에 장착된다. 마운트(150)는, 비전 시스템(100)의 런-타임 캘리브레이션에 사용되며, "런-타임 캘리브레이션 타겟(run-time calibration target)"으로도 지칭되는 3D 캘리브레이션 구조를 포함한다. 모션 스테이지(110)의 회전 및 병진 스테이지는 적어도 대상(105)의 일 부분 및 마운트(150)의 3D 캘리브레이션 구조의 일 부분이 동시에 광원(130)에 의해 조명되고 카메라(120)의 시야에 있도록, 비전 시스템(100)의 카메라(120)에 대한 다수의 미리 결정된 방향에서 마운트(150)를 위치시키기 위해 사용될 수 있다. 그러고 나서, 이미지는 미리 결정된 방향에 대해 획득된다.
도 1b 내지 1e는 비전 시스템을 사용하여 대상(105)의 3D 표현을 생성하는 프로세스의 예시의 양상을 나타낸다. 도 1b를 참조하면, 비전 시스템(100)은 (예를 들면, 광원(130)을 사용하여) 삼각형의 레이저 평면을 검사 중인 대상(105) 위에 투영하여, 그 표면을 조명한다. 일부 구현에서, 광원(130)은 발광 다이오드 또는 할로겐 광원일 수 있다. 여기서, 대상(105)은 마운트(150)에 의해 지지된다. 레이저 평면을 대상 위에 투영하면, 대상(105)과 레이저 평면의 교차점(135)이 생기며, 그 형태는 대상의 표면에 의해 결정된다.
도 1c를 참조하면, 비전 시스템(100)은 (예를 들면, 카메라(120)를 사용하여) 교차점(135)의 강도 이미지(192)를 획득한다. 교차점(135)의 강도 이미지(192)는 조명 라인을 가로지르는 대상의 높이 프로파일 정보를 제공한다. 일단 강도 이미지(192)가 획득되면, 도 1b를 다시 참조하여, 대상(105)이 화살표(170)에 의해 표시된 바와 같이 카메라에 대해 이동된다. 일부 구현에서, 상대적인 이동은 모션 스테이지(110)에 의해 제공되며, 이는 카메라(120) 및 광원(130)에 대해 대상을 이동시킨다. 일부 다른 구현에서, 상대적인 이동은 (예를 들면, 하나 이상의 선형 스테이지(114B)를 사용하여) 카메라(120) 및 광원(130)을 이동시킴으로써 제공된다. 상대적인 이동은 컴퓨팅 장치(160)에 의해 제공되는 명령에 기초될 수 있다. (이미지(192)와 같은) 일련의 강도 이미지는 대상이 카메라(120) 및 광원(130)과 상대적인 이동을 하는 동안 비전 시스템(100)에 의해 획득된다.
도 1d를 참조하면, 컴퓨팅 장치(160)는 비전 시스템(100)에 의해 획득된 일련의 강도 이미지를 프로세스한다. 예를 들면, 컴퓨팅 장치(160)는 대상(105)의 슬라이스의 라인 프로파일을 추출하기 위해 각각의 강도 이미지를 프로세스할 수 있다. 그러고 나서, 컴퓨팅 장치(160)는 적절한 오프셋을 사용하여, 대상(105)의 집합 라인 프로파일(194)을 형성하기 위해 각각의 강도 이미지로부터 추출된 라인 프로파일을 모을 수 있다. 적절한 오프셋은, 예를 들면, 상대적인 이동의 속도에 기초하여 결정될 수 있다.
도 1e를 참조하면, 컴퓨팅 장치(160)는 대상(105)의 집합 라인 프로파일(194)을 프로세스하고, 대상(105)의 3D 표현(196)을 생성한다. 여기서, 3D 표현(196)은 범위 이미지로서 출력된다; 그러나, 3D 표현(196)은, 예를 들면, 3D 포인트 클라우드로서 출력될 수 있다. 3D 표현(196)은 스캐닝 프로세스 중에 획득된 대상(105)에 관한 3D 정보를 포함한다.
비전 시스템(100)의 캘리브레이션은 컴퓨팅 장치(160)에 의해 수행되어, (3D 표현(196)과 같은) 각각의 얻어진 3D 표현의 단일 세계 좌표 프레임("3D 기준 프레임") 및 개별 좌표 프레임("이미지 좌표 프레임") 사이의 좌표 변환을 추정할 수 있다. 일반적으로, 캘리브레이션을 수행하는 것은 캘리브레이션 타겟에 대한 관측된 측정값을 그들의 알려진 값에 대응시키는 것에 의한 모델 파라미터의 계산을 포함한다. 일부 구현에서, 캘리브레이션을 수행하는 것은 파라미터 추정 문제와 같은 최적화 문제로 제기된다. 캘리브레이션을 수행하기 위해 사용될 수 있는 최적화 알고리즘은 선형 최소-제곱 솔루션과 Levenberg-Marquardt 알고리즘과 같은 비선형 수치 검색 알고리즘을 포함할 수 있다.
캘리브레이션은 팩토리 캘리브레이션, 필드 캘리브레이션, 및 런-타임 캘리브레이션을 포함할 수 있다. 팩토리 캘리브레이션은, 예를 들면, 비전 시스템(100)의 광학 설계 및 기하학적 형태와 관련된 카메라 렌즈 왜곡 및 원근 왜곡과 같은 정적 오류를 제거할 수 있다. 필드 캘리브레이션은, 예를 들면, 다수의 카메라들을 포함하는 시스템에 대해, 카메라에 대한 스캔 모션 방향, 다수의 카메라들 사이의 상대적 3D 포즈(회전 및 병진)을 결정할 수 있다. 런-타임 캘리브레이션은, 예를 들면, 스캔마다 변경될 수 있는 동적 오류를 제거할 수 있다. 동적 오류의 예시는 비선형 왜곡, 아핀("선형") 왜곡, 및 병진 및/또는 방향의 강성 변형을 포함한다. 비선형 왜곡은, 예를 들면, 인코더 신호의 런-타임 변형에 의해 발생할 수 있다. 아핀 왜곡은, 예를 들면, 레이저 평면과 카메라에 대한 대상의 상대적 이동 방향 사이의 각도 변화에 의해 발생하는 전단(shear)을 포함할 수 있다. 강성 변형은, 예를 들면, 마운트(150) 또는 카메라(120)의 회전 및/또는 병진의 부정확성에 기인될 수 있다.
캘리브레이션 데이터는 대상의 물리적 윤곽을 가깝게 나타내는 3D 표현을 생성하는데 사용될 수 있는 변형 매트릭스와 같은 정보를 포함할 수 있다. 캘리브레이션된 3D 표현은, 그러고 나서, 치수 측정과 대상의 정확한 부피와 같은 파라미터의 계산을 가능하게 한다. 비전 프로그램(163)은 도 1b 내지 1e에 나타낸 단계를 수행하는데 사용될 수 있다. 비전 프로그램(163)의 예시는 Natick, MA의 Cognex Corporation에 의한 VisionPro 소프트웨어와 같은 상업적 소프트웨어 도구를 포함할 수 있다.
런-타임 캘리브레이션은 비전 시스템(100)의 다양한 모션 스테이지들(예를 들면, 모션 스테이지(110))에 관한 정확성 및/또는 반복성 문제를 완화시킬 수 있다. 모션 스테이지가 견고한 한, 병진 스테이지의 스테이지 회전, 팁 각도, 및 각도 런-아웃의 가변성이 보상될 수 있다. 일부 경우, 덜 비싼 모션 스테이지(예를 들면, 선형 모션 스테이지(들), 회전 모션 스테이지(들) 또는 양자 모두)가 결과로서 사용될 수 있다.
도 2a는 제1의 3D 캘리브레이션 구조(155A)를 갖는 마운트(150A)의 제1 예시의 사시도다. 마운트(150A)는 제1 표면(152) 및 측면(154)을 포함한다. 제1 표면(152)은 장착될 때 대상(105)을 지지한다. 마운트(150A)의 제2 표면(미도시)은 모션 스테이지(110)에 부착된다. 측면(154)은 제1 표면(152)과 제2 표면 사이에 형성된다. 제1의 3D 캘리브레이션 구조(155A)는 마운트(150A)의 측면(154) 상에 형성된다.
도 2b는 제1의 3D 캘리브레이션 구조(155A)의 클로즈-업 사시도다. 제1의 3D 캘리브레이션 구조(155A)는 채널(220)에 의해 분리된 복수의 바들(210)을 포함한다. 바(210)는 평평한 면(212), 제1 테이퍼 면(214), 제2 테이퍼 면(216)을 포함한다. 바(210)는 폭 W, 길이 L, 및 깊이 D를 갖는다. 깊이 D는 채널(220)의 표면으로부터 평평한 면(212)까지 측정된다. 길이 L은 제1 테이퍼 면(214)과 제2 테이퍼 면(216) 사이에서 측정된다. 제1 테이퍼 면(214)은 평평한 면(212)에 대해 기울어져 있으며, 도 2b에 나타낸 바와 같이 제1 경사각(α1)을 형성한다. 제2 테이퍼 면(216)은 평평한 면(212)에 대해 기울어져 있으며, 도 2b에 나타낸 바와 같이 제2 경사각(α2)을 형성한다. 복수의 바들 중 개별적인 바(210)는 피치 P를 갖도록 주기적으로 이격되어, 주기적 특징부를 형성한다.
각각의 바(210)는 제1의 3D 캘리브레이션 구조(155A)의 전체 설계에서 알려진 3D 위치를 갖는다. 각각의 바(210)를 제1의 3D 캘리브레이션 구조(155A)의 3D 표현에 위치시킴으로써, 비전 시스템(100)은 이미지 좌표 프레임과 단일의 공유 세계 좌표 프레임 사이의 관계를 캘리브레이션할 수 있다. 이러한 경우, 단일의 공유 세계 좌표 프레임은 제1의 3D 캘리브레이션 구조(155A)에 대해 강성의 공간 관계로 정의되며, 단일의 공유 세계 좌표 프레임은 마운트(150A)와 함께 이동한다. 또한, 일부 구현에서, 제1의 3D 캘리브레이션 구조(155A)의 각각의 바(210)는 비전 시스템(100)이 치수 측정을 캘리브레이션할 수 있는 것에 대하여 로컬 3D 좌표 프레임을 정의하는데 사용될 수 있다.
일부 구현에서, 폭 W는 0.10-0.50 mm의 범위를 가질 수 있으며, 예를 들면, 0.25 mm일 수 있다. 길이 L은 0.5-2.0 mm의 범위를 가질 수 있으며, 예를 들면, 1.4 mm일 수 있다. 깊이 D는 0.10-0.50 mm의 범위를 가질 수 있으며, 예를 들면, 0.25 mm일 수 있다. 피치 P는 0.20-1.00 mm의 범위를 가질 수 있으며, 예를 들면, 0.50 mm일 수 있다. 제1 경사각(α1)은 10-60도의 범위를 가질 수 있으며, 예를 들면, 45도일 수 있다. 제2 경사각(α2)은 10-60도의 범위를 가질 수 있으며, 예를 들면, 45도 일 수 있다.
일부 구현에서, 복수의 바들은 동일한 특성을 갖는 바들로 구성된다. 일부 구현에서, 복수의 바들은 상이한 특성을 갖는 바를 포함한다. 예를 들면, 바의 폭은 측면(154)에 걸쳐 변화할 수 있다. 폭의 변화는 다항식 함수, 정현파 함수, 및 지수 함수와 같은 수학 함수에 의해 설명될 수 있다. 일부 구현에서, 식별 마킹은 평평한 면(212) 상에 또는 각각의 바(210)의 근방에 제공되어, 각각의 바를 식별할 수 있다.
일부 구현에서, 피치 P는 측면(154)에 걸쳐 변화할 수 있다. 피치 P의 변화는 다항식 함수, 정현파 함수, 및 지수 함수와 같은 수학 함수에 의해 설명될 수 있다.
도 2c는 제1의 3D 캘리브레이션 구조(155A)를 갖는 마운트(150A)의 제1 예시 상에 장착된 대상(105)의 사시도다. 장착될 때, 적어도 대상(105)의 일 부분 및 제1 마운트(150A)의 제1의 3D 캘리브레이션 구조(155A)의 일 부분은 비전 시스템(100)의 카메라(120)의 시야에 동시에 존재한다.
도 3a는 제2의 3D 캘리브레이션 구조(155B)를 갖는 마운트(150B)의 제2 예시의 사시도다. 제2 마운트(150B)는 제1 마운트(150A)와 유사하지만, 제2의 3D 캘리브레이션 구조(155B)는 복수의 스테어-패싯(staired-facet)들을 포함한다. 복수의 스테어 패싯들은 두 개 이상의 면(312)을 포함한다. 패싯(312)은 서로 평행하며, 측면(154)을 가로질러 주기적으로 반복되어, 주기적 특징부를 형성한다. 서로 인접하여 위치된 패싯(312)은 서로에 대해 상이한 높이(예를 들면, Y축을 따라)에 위치된다. 패싯(312)은 측면(314)을 포함하는 2개 이상의 둥근 홀(예를 들면, 원통형 홀)을 포함한다. 일부 구현에서, 측면(314)은 패싯(312)에 직교한다. 일부 구현에서, 측면(314)은 홀의 중심을 향해 안쪽으로 테이퍼 되어 카메라(120)에 의한 측면(314)의 가시성을 향상시킨다.
일부 구현에서, 패싯의 폭(예를 들면, X-축을 따른 치수)은 5-20 mm의 범위를 가질 수 있으며, 예를 들면, 10 mm일 수 있다. 패싯의 길이(예를 들면, Z-축에 따른 치수)는 5-25 mm의 범위를 가질 수 있으며, 예를 들면, 15 mm일 수 있다. 인접한 패싯(312)들 간의 높이 차이는 1-5 mm의 범위를 가질 수 있으며, 예를 들면, 2 mm일 수 있다. 둥근 홀의 직경은 1-5 mm의 범위를 가질 수 있으며, 예를 들면, 3 mm일 수 있다. 2개 이상의 둥근 홀들 사이의 피치는 8-16 mm의 범위를 가질 수 있으며, 예를 들면, 12 mm일 수 있다. 둥근 홀의 깊이는 1-5 mm의 범위를 가질 수 있으며, 예를 들면, 3 mm일 수 있다.
도 3b는 제2의 3D 캘리브레이션 구조(155B)를 갖는 마운트(150B)의 제2 예시 상에 장착된 대상(105)의 사시도다. 장착될 때, 적어도 대상(105)의 일 부분과 제2 마운트(150B)의 제2의 3D 캘리브레이션 구조(155B)의 일 부분은 비전 시스템(100)의 카메라(120)의 시야에서 동시에 존재한다.
도 4a 내지 4d는 3D 캘리브레이션 구조를 갖는 마운트(150A) 상에 장착된 대상(105)의 3D 표현을 얻기 위해 사용되는 스캔 A, B, C, D의 사시도다. 도 4a 내지 4d를 참조하면, 모션 스테이지(110)는 2개의 회전 자유도 Θ 및 φ를 갖는다. Θ("세타(theta)")는 스캔 중 카메라(120)에 대한 마운트(150A)의 방향의 롤 각도이다. 세타는 상이한 시야 각으로부터 대상(105)의 측면의 이미지를 획득하기 위해 변화될 수 있다. φ("파이(phi)")는 스캔 중 카메라(120)에 대한 마운트(150A)의 방향의 요 각도이다. 파이는 대상(105)의 상이한 측면의 이미지를 얻기 위해 변화할 수 있다. 모션 스테이지(110)는 또한 X-축, Y-축, 및 Z-축을 따라 3개의 병진 자유도를 갖는다. X-축에 따른 병진은 스캔 중 카메라(120)에 대한 대상(105)의 상대적 이동을 제공할 수 있다. Y-축 및 Z-축에 따른 병진은, 획득되는 대상(105)의 측면과 카메라(120) 사이의 일정한 거리를 유지하기 위해, 세타 회전에 의해 발생되는 "스윙(swing)"에 대한 보상을 제공할 수 있다. 예를 들면, "스윙"은 대상(105)의 측면의 상이한 치수에 의해 발생될 수 있다.
도 3b를 참조하면, 대상(105)는, 예를 들면, 4개의 돌출된 측벽을 갖는 개방형 상자의 형태를 가질 수 있다. 특정 방향으로 스캔하는 동안 다른 방식으로 폐색되거나 '음영 처리(shadowed)'될 수 있는 대상(105)의 특징부를 캡처하기 위해, 대상(105)의 상이한 공간적 방향(예를 들면, 카메라(130)에 대한 상이한 각도)으로 다수의 스캔이 수행될 수 있다.
도 4a를 참조하면, 스캔 A는 Θ = +20° 및 φ = 0°로 수행된다. 이러한 상태에서, 대상(105)은 카메라를 향해 롤링되거나 기울어지며, 교차점(135)이 도시된 바와 같이 대상(105)을 가로질러 투영된다. 스캔 A 동안, 비전 시스템(100)은 마운트(150A)의 제1의 긴 측면의 이미지를 획득할 수 있고, 각각의 이미지는 제1의 3D 캘리브레이션 구조(155A)의 제1 부분을 포함하며, 대상(105)의 제1 부분은 제1의 돌출된 측벽을 포함한다. 이러한 상태에서, 카메라(130)는 제1의 돌출된 측벽에서 '내려다(dowm)' 보고 있다.
도 4b를 참조하면, 스캔 B는 Θ = +20° 및 φ = 90°로 수행된다. 이러한 상태에서, 대상(105)은 제1 마운트(150A)의 제1 면(152)에 수직인 축을 중심으로 90도로 요(yaw) 되거나 회전된다. 스캔 B 동안, 비전 시스템(100)은 마운트(150A)의 제1의 짧은 측면의 이미지를 획득할 수 있고, 각각의 이미지는 제1의 3D 캘리브레이션 구조(155A)의 제2 부분을 포함하며, 대상(105)의 제2 부분은 제2의 돌출된 측벽을 포함한다. 이러한 상태에서, 카메라(130)는 제2의 돌출된 측벽에서 '내려다' 보고 있다.
도 4c를 참조하면, 스캔 C는 Θ = -20° 및 φ = 0°로 수행된다. 이러한 상태에서, 대상(105)은 카메라로부터 멀어지도록 롤링되거나 기울어진다. 스캔 C 동안, 카메라(130)가 이러한 상태에서 제1의 돌출된 측벽에서 '올려다(up)' 보고 있어, 비전 시스템(100)은 스캔 A 동안과는 다른 관점으로부터 마운트(150A)의 제1의 긴 측면의 이미지를 획득할 수 있다. 대상(105)의 상이한 관점에서 수행된 이러한 스캐닝은 이전의 방향에서 스캔 동안 다른 방식으로 폐색되거나 '음영 처리'될 수 있는 대상(105)의 특징부를 캡처할 수 있게 한다.
도 4d를 참조하면, 스캔 D는 Θ = -20° 및 φ = 90°로 수행된다. 이러한 상태에서, 대상(105)은 스캔 C에서의 방향으로부터 90도 더 요(yaw) 된다. 스캔 D 동안, 카메라(130)가 이러한 상태에서 제2의 돌출된 측벽에서 '올려다' 보고 있어, 비전 시스템(100)은 스캔 B 동안과는 다른 관점으로부터 마운트(150A)의 제1의 짧은 측면의 이미지를 획득할 수 있다. 스캔 C와 유사하게, 대상(105)의 상이한 관점에서 수행된 이러한 스캐닝은 이전의 방향에서 스캔 동안 다른 방식으로 폐색되거나 '음영 처리'될 수 있는 대상(105)의 특징부를 캡처할 수 있게 한다.
Θ = +20° 및 φ = 180°, Θ = +20° 및 φ = 270°, Θ = -20° 및 φ = 180° 그리고 Θ = -20° 및 φ = 270°의 추가 스캔이 대상(105)의 남은 2개의 측면의 이미지를 획득하기 위해 수행될 수 있다.
도 5a 및 5b는 제1의 3D 캘리브레이션 구조(155A)의 일 부분의 3D 표현(455A)의 사시도다. 3D 표현(455A)은 스캔 A, B, C 및 D 동안 획득된 이미지에 기초하여 컴퓨팅 장치(160)에 의해 수행된 런-타임 캘리브레이션의 부분으로서 얻어질 수 있다. 3D 표현(455A)은 주어진 스캔에 대한 카메라(120)의 시야 내에서 볼 수 있는 N 바(210j) 각각의 표현을 포함하며, 여기서, j=2...N이며, 마운트(150A)의 긴 측면에 대해 N ≤ 61이고 또는, 마운트(150A)의 짧은 측면에 대해 N ≤ 39이다. 제1의 3D 캘리브레이션 구조(155A)의 3D 표현(455A)으로부터의 바(510j)는 N 바(210j)의 3D 표현이다. 3D 표현(455A)의 서브 영역(456A)은 다수의 바(510j)를 포함한다. 도 5b를 참조하면, 서브 영역(456A)의 클로즈업이 도시되어 있다. (Xj, Yj, Zj)는 컴퓨팅 장치(160)에 의해 수행된 런-타임 캘리브레이션의 부분으로서 얻어진 제1의 3D 캘리브레이션 구조(155A)의 3D 표현(455A)으로부터 jth 바(210j)의 표현(510j)에 관한 jth 데카르트(Cartesian) 좌표이다.
런-타임 정렬 모델은 비전 시스템(100)의 런-타임 캘리브레이션의 부분으로서 컴퓨팅 장치(160)에 의해 생성될 수 있다. 런-타임 정렬 모델은, 예를 들면, 제1의 3D 캘리브레이션 구조(155A)의 적어도 일 부분의 캘리브레이션 모델(예를 들면, "트레인-타임(train-time) 3D 모델")이 3D 표현(455A)에 가장 잘 맞는 좌표 변환에 기초하여 생성될 수 있다. 캘리브레이션 모델은, 예를 들면, 캘리브레이션 구조의 디자인-타임(design-time) 지식, 예를 들면, 캘리브레이션 구조를 제조하는데 사용되는 컴퓨터 이용 설계(Computer Aided Design (CAD))에 기초하여 생성된 캘리브레이션 구조(155A)의 "이상적인" 3D 표현일 수 있다. 이러한 예시에서, 바(210)의 평평한 면(212) 각각은 3D 표현(455A)의 이미지 좌표 프레임에서 3D 표현(455A)의 포즈를 정확하게 결정하는데 사용될 수 있다.
비전 프로그램(163)의 피팅 루틴은 바(210)의 평평한 면(212) 각각을 포함하는 3D 포인트에 평면을 개별적으로 맞추기 위해 사용될 수 있다. 피팅 루틴의 예시는 Random Sample Consensus (RANSAC) 피터(fitter) (M. A. Fischler and R. C. Bolles, "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography," Communications of the ACM, Vol. 24, No. 6, 1981, pp. 381- 395)이다. 3D 캘리브레이션 구조(155A)에 대한 경우와 같이, 평평한 면이 설계상 동일 평면 상에 있는 경우, 공통 평면은 다수의 평평한 면(212)으로부터 3D 포인트의 결합된 세트에 적합할 수 있다. 적어도 전술한 정보에 기초하여, 캘리브레이션 모델이 3D 표현(455A)에 가장 잘 맞는 좌표 변환이 결정될 수 있다. 좌표 변환의 결과는 런-타임 캘리브레이션 정렬 모델이다.
도 6a는 비전 시스템(100)에 의해 형성된 대상(105)의 3D 표현(605)의 사시도다. 대상(105)의 3D 표현(605)은 컴퓨팅 장치(160)에 의해, 캘리브레이션에 기초하여, 대상(105)의 부분들의 다수의 3D 표현들을 함께 스티칭(stitching)함으로써 형성된다. 이러한 경우, 예를 들면, 도 1d 및 1e와 관련하여 설명된 바와 같이, 스캔 A 내지 D 동안 카메라(120)에 의해 획득된 이미지에 기초하여, 대상(105)의 다수의 3D 표현들이 얻어진다. 3D 표현(605)은 특징부(607)를 포함한다.
도 6b는 3D 표현(605)의 특징부(607)의 클로즈-업 도면이다. 특징부(607)의 치수 dy 및 dz는 컴퓨팅 장치(160)에 의해, 3D 표현(605)으로부터 결정될 수 있다. 예를 들면, 치수 dy 및 dz는 특징부(607)의 각 코너에 대응하는 데카르트 좌표들 사이의 유클리드(Euclidean) 거리를 계산함으로써 결정될 수 있다.
도 7a는 제3의 3D 캘리브레이션 구조(155C)를 갖는 마운트(150C)의 제3 예시의 사시도다. 제3 마운트(150C)는 설명된 것을 제외하고는 제1 마운트(150A)와 유사하다. 제3 마운트(150C)는, 예를 들면, 제1 면(752) 및 측면(754)을 갖는 외부 프레임을 남기고, 중심 커트아웃(cutout)을 가질 수 있다. 이러한 경우, 대상(105)은 중심 커트아웃 영역에 장착될 수 있으므로, 장착된 대상이 마운트(150C)의 X-Z 평면 위 및/또는 아래로 돌출될 수 있다. 제3의 3D 캘리브레이션 구조(155C)는 복수의 절두체(710)들을 포함한다.
도 7b는 제3의 3D 캘리브레이션 구조(155C)의 클로즈-업 사시도며, 복수의 절두체(710) 중 일부를 나타낸다. 절두체(710)는 평평한 면(712)과 하나 이상의 경사진 측면을 포함한다. 절두체(710)는 하부 길이 Lb, 상부 길이 Lt, 높이 H, 및 측벽 각 α를 갖는다. 도 7b에 나타낸 예시에서, 절두체(710)는 4개의 경사진 측면을 갖는 피라미드형 절두체이며, 절두체(710)는 측면(754)을 따라 피치 P로 주기적으로 위치되어, 주기적 특징부를 형성한다. 제3 캘리브레이션 구조(155C)의 절두체(710)는 카메라(120)에 대한 마운트(150C)의 회전 방향의 넓은 범위에 걸쳐, 자기-폐색(self-occlusion), 예를 들면, 카메라(120)의 시야에서 다른 절두체를 차단하는 하나의 절두체를 피하도록 설계될 수 있다.
일부 구현에서, 하부 길이 Lb는 2-10 mm의 범위를 가질 수 있으며, 예를 들면 5.0 mm일 수 있다. 상부 길이 Lt는 1-5 mm의 범위를 가질 수 있으며, 예를 들면, 2.5 mm일 수 있다. 높이 H는 0.1-1 mm의 범위를 가질 수 있으며, 예를 들면, 0.4 mm일 수 있다. 피치 P는 3-16 mm의 범위를 가질 수 있으며, 예를 들면, 8 mm일 수 있다. 측벽 각 α는 5-25 도의 범위를 가질 수 있으며, 예를 들면, 12.8도일 수 있다. 일부 구현에서, 절두체(710)의 평평한 면(712)은 원형, 및 삼각형, 정사각형, 및 직사각형을 포함하는 3 ≤ N ≤ 20인 N개의 정점을 갖는 다각형을 포함하는 다양한 형태를 가질 수 있다.
도 7c 및 7d는 비전 시스템(100)에 의해 형성된 마운트(150C) 상에 장착된 대상(105)의 3D 표현의 사시도다. 3D 표현(705)은 대상(105)의 일 부분의 제1의 3D 표현(706) 및 마운트(150C)의 일 부분의 제2의 3D 표현(708)을 포함한다. 제1의 3D 표현(706)은 특징부(707)를 포함한다. 제2의 3D 표현(708)은 절두체(710)의 3D 표현(714)을 포함한다. 3D 표현(705)은 3D 표현(605)과 유사한 방식으로 형성될 수 있다. 도 7c 및 7d는 절두체(710)의 3D 표현(714)을 사용하는 런-타임 정렬 모델(720)을 나타낸다. 런-타임 정렬 모델(720)은 2개의 서브-모델(720A, 720B)을 포함한다.
도 7c를 참조하면, 3D 표현(705A)은 특징부(707) 내부에 하부 내부 표면 패치(709A)를 포함한다. 예를 들면, 하부 내부 표면 패치(709A)는, 마운트(150C)가 예를 들면, 스캔 동안 도 4b에 나타낸 바와 같이 양의 세타값, 예를 들면, Θ = +20°을 갖도록 배향시킴으로써 얻어질 수 있다. 도 7d를 참조하면, 3D 표현(705B)은 특징부(707) 내부에 상부 내부 표면 패치(709B)를 포함한다. 예를 들면, 상부 내부 표면 패치(709B)는, 마운트(150C)가 예를 들면, 스캔 동안 도 4d에 나타낸 바와 같이 음의 세타값, 예를 들면, Θ = -20°을 갖도록 배향시킴으로써 얻어질 수 있다.
상부 내부 표면 패치(709B) 및 하부 내부 표면 패치(709A) 상에 존재하는 다수의 3D 포인트에 기초하여, 치수 dy는 특징부(707)의 엣지를 측정하는 것보다 더 정확하게 결정될 수 있다. 예를 들면, 각각의 패치 상에 3D 포인트들의 대향하는 쌍들 사이의 거리는 개별적으로 계산될 수 있어, 패치(709A, 709B)의 적어도 일 부분에 걸쳐 평균화되어 더 정확하게 dy를 결정할 수 있다. 다른 예시에서, 2 개의 평면은 상부 패치(709B) 및 하부 패치(709A)에 개별적으로 피팅될 수 있다. 그런 다음, 치수 dy가 2개의 피팅된 평면 사이의 평균 분리(separation)에 기초하여 결정될 수 있다. 치수 dx는 좌측 및 우측 내부 표면 패치의 다수의 3D 포인트를 사용하여 유사하게 결정될 수 있다.
도 7c를 참조하면, 런-타임 정렬 서브-모델(720A)은 비전 시스템(100)의 런-타임 캘리브레이션의 일부로서 생성된다. 런-타임 정렬 서브-모델(720A)은, 예를 들면, 3D 캘리브레이션 구조(155C)의 적어도 일부의 캘리브레이션 모델(예를 들면, "트레인-타임 3D 모델")이 비전 시스템(100)에 의해 형성된 3D 표현(705A)에 가장 잘 맞는 좌표 변환에 기초하여, 생성될 수 있다. 이러한 예시에서, 절두체(710)의 3D 표현(714)의 평평한 면 각각은 3D 표현(705A)의 런-타임 포즈를 정확하게 결정하는데 사용될 수 있다.
일부 구현에서, 런-타임 정렬 모델(720)은 절두체(710)의 3D 표현(714)을 포함하는 제2의 3D 표현(708)의 일 부분에 걸쳐있다. 도 7c 및 7d에 나타낸 예시에서, 정렬 서브-모델(720A, 720B)은 4개의 절두체에 걸쳐있다. 일부 다른 구현에서, 런-타임 정렬 모델(720)은 제2의 3D 표현(708) 전체에 걸쳐있다. 런-타임 정렬 모델(720)의 스팬(span)을 확장하는 것이 잠재적으로 더 나은 캘리브레이션 정확성을 제공할 수 있지만, 캘리브레이션을 완료하는데 소요되는 시간을 증가시킬 수 있다는 것을 알 수 있다.
일반적으로, 캘리브레이션 모델은 합성 모델 또는 트레인-타임 모델일 수 있다. 예를 들면, 캘리브레이션은 캘리브레이션 구조(155C)의 디자인-타임 지식(예를 들면, CAD 설계, 수학적 모델, 또는 기하학적 모델)에 기초하여 생성된 "이상적인", 또는 합성의 캘리브레이션 구조(155C)의 3D 표현으로부터 생성될 수 있다. 대안적으로, 캘리브레이션 모델은 마운트 구조의 사전 지식 없이, 비전 시스템(100)의 트레인-타임에서 얻어진 마운트의 3D 표현으로부터 생성된 이미지-기반 모델일 수 있다. 예를 들면, 트레인-타임에서, 마운트의 3D 표현이 얻어진다. 그런 다음, 3D 표현에 대한 원점 및 좌표 프레임(예를 들면, 단일의 공유 세계 좌표 프레임에 대한 트레인-타임 포즈를 한정하는 6개의 자유도(6-DOF) 원점)은 트레인-타임 3D 모델을 형성하기 위해 비전 시스템(100)에 의해 구체화된다. 일부 구현에서, 원점 및 좌표 프레임은 사용자에 의해 비전 시스템(100)에 제공된다.
런-타임 정렬 모델(720)을 생성하기 위한 좌표 변환은 대상(105)의 런-타임 포즈를 나타낸다. 런-타임 포즈는 병진 스테이지의 롤, 요, 및 각도 런-아웃에서의 모션 스테이지(110)의 가변성을 포함하는, 비전 시스템(100)의 가변성으로부터 기인할 수 있는 동적 왜곡의 효과를 통합하기 때문에, 트레인-타임 포즈와 상이할 수 있다. 따라서, 런-타임 포즈는 런-타임(예를 들면, 3D 표현(705A, 705B)에서 얻어진 3D 표현의 이미지 좌표 프레임을, 치수 측정이 정확하게 이루어질 수 있고 동적 왜곡이 없는 트레인-타임에서 정의된 단일의 공유 세계 좌표 프레임으로 변환하는데 사용될 수 있다.
일부 구현에서, 단일 캘리브레이션 모델은 마운트(150C)의 다양한 회전 방향으로부터 얻어진 3D 표현에 대한 런-타임 정렬 모델(720)을 생성하는데 사용될 수 있다. 단일 캘리브레이션 모델은, 예를 들면, 정면 뷰(예를 들면, Θ = 0°)로부터 얻어진 트레인-타임 3D 모델일 수 있다. 일부 다른 구현에서, 개별적인 트레인-타임 3D 모델은 마운트(150C)의 각 회전 방향에 대해 생성될 수 있다. 예를 들면, 트레인-타임 3D 모델은 도 4a 내지 4d의 스캔 A 내지 D에서 마운트(150C)의 회전 방향 각각에 대해 생성될 수 있다. 도 7c 및 7d에 나타낸 본 예시에 있어서, 런-타임 정렬 서브-모델(720A, 720B)은 개별적인 방향-특정 트레인-타임 모델로부터 생성될 수 있다. 각각의 트레인-타임 모델은 마운트의 각 방향에 대해 특별하게 생성되었기 때문에, 방향-특정 트레인-타임 3D 모델의 사용은 상이한 스캔으로부터 얻어진 3D 표현의 런-타임 포즈 및 각각의 트레인-타임 3D 모델의 트레인-타임 포즈 사이의 차이를 감소시킨다. 트레인-타임과 런-타임 사이의 감소된 포즈의 차이는 치수, 위치, 또는 양자 모두의 결정을 더 정확하게 할 수 있다.
상이한 회전 방향에 대해 생성된 트레인-타임 3D 모델의 각각의 6-DOF 원점은 트레인-타임 3D 모델에 걸쳐 공통 원점 및 공통 좌표 프레임을 설정할 수 있다. 공통 좌표 및 공통 좌표 프레임은 다양한 방식으로 설정될 수 있다. 일부 구현에서, 6-DOF 원점은 먼저 정면 뷰 트레인-타임 3D 모델 상에 정의된다. 예를 들면, 6-DOF 원점은 도 7b에 나타낸 좌표 프레임을 갖는 평평한 면(712)의 기하학적 중심일 수 있다. 그런 다음, 상이한 회전 방향의 후속 트레인-타임 3D 모델은, 3D 표현을 얻고; 얻어진 3D 표현에 대해, 정면 뷰 트레인-타임 3D 모델에 대해 정의된 6-DOF 원점과 일치하는 3D 포인트 및 좌표 프레임을 결정하며; 그리고 결정된 3D 포인트 및 좌표 프레임을 후속 트레인-타임 3D 모델의 6-DOF 원점으로서 설정함으로써 생성될 수 있다.
일부 구현에서, 트레인-타임 3D 모델의 6-DOF 원점은 캘리브레이션 구조의 기하학적 특징부에 대한 기하학적 관계의 세트로서 정의될 수 있다. 예를 들면, 피라미드형 절두체는 평평한 면(712)을 정의하는 4개의 측면을 갖는다. 그리고 6-DOF 원점은, 예를 들면, 4개의 측면의 교차점에 의해 형성된 평면의 기하학적 중심으로서, 평평한 면(712)의 정점 및 직교 벡터에 기초하여 정의된 좌표 프레임으로 정의될 수 있다. 이러한 기하학적 관계에 기초하여, 비전 프로그램(163)은 3D 표현에서의 절두체를 형성하는 4개의 측면을 자동으로 검색하고 정의에 따라 6-DOF 원점을 설정할 수 있다.
일반적으로, 측면(154) 또는 측면(754)은, 3D 캘리브레이션 구조에 추가하여, ID, 바코드, 및 식별 정보를 포함하는 식별 마킹을 포함할 수 있다. 예를 들면, 식별 마킹은 런-타임 캘리브레이션을 수행하는데 사용하기 위한 대응하는 캘리브레이션 모델의 선택시, 비전 프로그램(163)에 알리기 위해 마운트 상의 3D 캘리브레이션 구조의 식별에 관한 것일 수 있다.
본 명세서에 설명된 주제 및 기능적 동작의 실시예들은 디지털 전자 회로에서, 또는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어에서 구현될 수 있으며, 본 명세서에 개시된 구조, 이들의 구조적 균등물, 또는 이들 중 하나 이상의 조합을 포함한다. 본 명세서에 설명된 주제의 실시예들은 컴퓨팅 장치에 의해 실행되거나, 컴퓨팅 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체 상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈을 사용하여 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 시스템의 하드 드라이브 또는 소매 경로를 통해 판매되는 광 디스크, 또는 임베디드 시스템과 같은, 제조된 제품일 수 있다. 컴퓨터 판독 가능 매체는 별도로 획득되어, 유선 또는 무선 네트워크를 통해 컴퓨터 프로그램 명령의 하나 이상의 모듈의 전달 등에 의해, 컴퓨터 프로그램 명령의 하나 이상의 모듈로 추후에 인코딩될 수 있다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 또는 이들 중 하나 이상의 조합일 수 있다.
"컴퓨팅 장치(computing device)"라는 용어는 예로서 프로그래머블 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터를 포함하는, 프로세싱 데이터에 대한 모든 기구, 장치 및 기계를 포함한다. 컴퓨팅 장치는, 하드웨어에 추가하여, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들면, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 런타임 환경, 또는 이들 중 하나 이상의 조합으로 구성되는 코드를 포함할 수 있다. 또한, 장치는 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은, 다양한 서로 다른 컴퓨팅 모델 인프라를 사용할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 함)은 컴파일 또는 해석된 언어, 선언 또는 절차적 언어를 포함하는 프로그래밍 언어의 임의의 형태로 작성될 수 있으며, 독립형 프로그램, 또는 모듈, 컴포턴트, 서브루틴, 또는 컴퓨팅 환경에 사용하기에 적합한 다른 유닛을 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일과 반드시 대응하지는 않는다. 프로그램은 다른 프로그램 또는 데이터(예를 들면, 마크업(markup) 언어 문서에 저장된 하나 이상의 스크립트)를 유지하는 파일의 일 부분, 문제의 프로그 전용 단일 파일, 또는 다수의 조정 파일(예를 들면, 하나 이상의 모듈, 하위 프로그램, 또는 코드의 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터, 또는 하나의 사이트에 있거나 다수의 사이트에 걸쳐 분산되어 있으며, 통신 네트워크에 의해 상호 연결된 다수의 컴퓨터 상에서 실행되도록 배포될 수 있다.
본 명세서에서 설명된 프로세스 및 논리 흐름은 입력 데이터를 동작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한, 특수 목적 논리 회로, 예를 들면, FPGA(필드 프로그래머블 게이트 어레이(field programmable gate array)) 또는 ASIC(주문형 집적 회로(application-specific integrated circuit))에 의해 수행될 수 있으며, 장치도 또한 이들로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예로서, 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 양자 모두로부터 명령과 데이터를 수신할 것이다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서 및 명령과 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들면, 자기, 광-자기 디스크, 또는 광 디스크를 포함하거나, 이들로부터 데이터를 수신하거나, 이들로 데이터를 전송하거나, 또는 두 가지 모두를 수행하도록 동작 가능하게 결합될 것이다. 그러나, 컴퓨터에는 이러한 장치가 있을 필요가 없다. 또한, 컴퓨터는 다른 장치, 예를 들면, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대용 저장 장치(예를 들면, USB(universal serial bus) 플래시 드라이브) 등에 내장될 수 있다. 컴퓨터 프로그램 명령과 데이터를 저장하기에 적합한 장치는, 예로서, 반도체 메모리 장치, 예를 들면, EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 및 플래시 메모리 장치; 자기 디스크, 예를 들면, 내부 하드 디스크 또는 이동식 디스크; 광 자기 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는 비휘발성 메모리, 매체 및 메모리 장치의 모든 형태를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나, 이에 포함될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 설명된 주제의 실시예들은 사용자에게 정보를 표시하기 위한 디스플레이 장치, 예를 들면, LCD (liquid crystal display), OLED (organic light emitting diode) 또는 다른 모니터와, 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치, 예를 들면, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 장치도 사용자와의 상호 작용을 제공하기 위해 사용될 수 있다; 예를 들면, 사용자에게 제공되는 피드백은 감각 피드백 중 임의의 형태, 예를 들면, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있다; 그리고 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 통상적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터 상에서 실행되고, 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 본 명세서에 설명된 주제의 실시예들은, 예를 들면, 데이터 서버로서 백-엔드 컴포넌트(back-end component)를 포함하거나, 미들웨어 컴포넌트, 예를 들면, 애플리케이션 서버를 포함하거나, 프론트-엔드 컴포넌트(front-end component), 예를 들면, 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터 또는 사용자가 본 명세서에 설명된 주제의 구현과 상호 작용할 수 있는 웹 브라우저, 또는 하나 이상의 이러한 백-엔드, 미들웨어, 또는 프론트-엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들면, 통신 네트워크에 의해 상호 접속될 수 있다. 통신 네트워크의 예시는 근거리 네트워크("LAN") 및 원거리 네트워크("WAN"), 인터-네트워크(예를 들면, 인터넷), 및 피어-투-피어 네트워크(예를 들면, 애드혹(ad hoc) 피어-투-피어 네트워크)를 포함한다.
본 명세서에는 많은 구현 세부 사항들을 포함하지만, 이들은 본 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 그러나 오히려 본 발명의 특정 실시예에 특정한 특징의 설명으로서 해석되어야 한다. 개별적인 실시예와 관련하여 본 명세서에서 설명된 특정 특징은 또한, 단일의 실시예와 조합하여 구현될 수 있다. 반대로, 단일의 실시예와 관련하여 설명된 다양한 특징은 다수의 실시예에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 또한, 특징은 특정 조합으로 작용하고, 심지어 처음에는 그렇게 청구되는 것으로 설명될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 조합으로부터 제거될 수 있으며, 청구된 조합은 하위 조합 또는 하위 조합의 변형물에 관한 것일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해, 이러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 도시된 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안 된다. 특정 상황에서, 멀티 태스킹 및 병렬 프로세싱이 유리할 수 있다. 또한, 이상에서 설명한 실시예들의 다양한 시스템 구성 요소의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 구성 요소와 시스템은 일반적으로 단일의 소프트웨어 제품에 함께 통합되거나, 다수의 소프트웨어 제품으로 패키징될 수 있는 것으로 이해되어야 한다.
따라서, 본 발명의 특정 실시예가 설명되었다. 다른 실시예는 다음의 청구범위의 범위 내에 있다. 또한, 청구범위에 열거된 동작은 상이한 순서로 수행될 수 있으며, 여전히 바람직한 결과를 달성할 수 있다.

Claims (24)

  1. 런-타임(run-time) 3D 캘리브레이션(calibration)을 수행할 수 있는 비전 시스템으로서,
    상기 비전 시스템은,
    대상을 유지하도록 구성된 마운트로서, 평평한 면과 하나 이상의 다른 면을 포함하는 3D 캘리브레이션 구조를 포함하는 마운트;
    카메라;
    상기 마운트 또는 상기 카메라와 결합되는 모션 스테이지로서, 적어도 하나의 회전 자유도를 갖는 모션 스테이지; 및
    작동을 수행하도록 구성된 컴퓨팅 장치를 포함하며, 상기 작동은:
    상기 대상이 상기 마운트에 의해 유지될 때,
    상기 마운트가 상기 카메라에 대해 각각의 미리 결정된 방향에 있을 때, 상기 카메라로부터 이미지를 획득하는 것으로서, 획득된 이미지 각각은 동시에 상기 카메라의 시야에 있는 상기 대상의 적어도 일 부분과 상기 3D 캘리브레이션 구조의 적어도 일 부분의 표현을 포함하며;
    획득된 이미지에서 이미징된 상기 3D 캘리브레이션 구조에 관한 정보에 기초하여, 상기 획득된 이미지 각각에 대한 3D 캘리브레이션의 적어도 조정을 수행하는 것-상기 컴퓨팅 장치는, 상기 이미지를 공통 3D 좌표 프레임에 정렬시키기 위해 상기 획득된 이미지 각각에 대해 각각의 캘리브레이션 모델 중 하나를 적용함으로써, 상기 3D 캘리브레이션의 적어도 상기 조정을 수행하도록 구성되며, 상기 각각의 캘리브레이션 모델은 각각의 미리 결정된 방향에 대해 생성됨-; 그리고
    (i) 상기 3D 캘리브레이션의 결과, 및 (ii) 획득된 이미지에서 이미징된 상기 대상에 관한 정보에 기초하여, 상기 대상의 하나 이상의 특징부(feature)의 3D 위치, 치수, 또는 양자 모두를 결정하는 것을 포함하는 비전 시스템.
  2. 청구항 1에 있어서,
    상기 3D 캘리브레이션 구조는 주기적으로 이격된 특징부를 포함하고,
    상기 모션 스테이지는, 상기 마운트가 상기 미리 결정된 방향에서 추가로 병진 이동되도록 적어도 하나의 병진 자유도를 더 포함하는 비전 시스템.
  3. 청구항 2에 있어서,
    상기 마운트는 식별 마킹을 더 포함하는 비전 시스템.
  4. 청구항 1에 있어서,
    상기 3D 캘리브레이션 구조의 상기 하나 이상의 다른 면은 상기 평평한 면의 원통형 홀의 측면인 비전 시스템.
  5. 청구항 1에 있어서,
    상기 3D 캘리브레이션 구조는 채널에 의해 분리된 바를 포함하고, 상기 바 각각은,
    상기 3D 캘리브레이션 구조의 상기 평평한 면을 형성하는 평평한 면, 및
    상기 3D 캘리브레이션 구조의 상기 하나 이상의 다른 면을 형성하는 적어도 하나의 테이퍼(tapered) 면을 포함하는 비전 시스템.
  6. 청구항 1에 있어서,
    상기 3D 캘리브레이션 구조는 절두체(frustum)를 포함하고, 상기 절두체 각각은,
    상기 3D 캘리브레이션 구조의 상기 평평한 면을 형성하는 평평한 면을 포함하는 비전 시스템.
  7. 청구항 6에 있어서,
    상기 평평한 면은 다각형을 한정하는 비전 시스템.
  8. 청구항 7에 있어서,
    상기 다각형은 정사각형인 비전 시스템.
  9. 청구항 6에 있어서,
    상기 평평한 면은 원을 한정하는 비전 시스템.
  10. 청구항 1에 있어서,
    상기 마운트는 상기 대상을 유지하기 위한 제1 면, 상기 모션 스테이지와 결합하기 위해 대향하는 제2 면, 및 상기 제1 및 제2 면을 연결하는 측면을 가지며,
    상기 3D 캘리브레이션 구조는 상기 측면 상에 형성되는 비전 시스템.
  11. 청구항 1에 있어서,
    상기 3D 캘리브레이션의 상기 조정은, 획득된 이미지에서 이미징된 상기 3D 캘리브레이션 구조에 관한 정보에 기초하여, 상기 3D 캘리브레이션의 런-타임 완료를 포함하는 비전 시스템.
  12. 청구항 1에 있어서,
    상기 컴퓨팅 장치는,
    (i) 획득된 이미지, 및 (ii) 수행된 조정에 기초하여, 상기 3D 캘리브레이션 구조의 적어도 일 부분과 상기 대상의 적어도 일 부분의 3D 표현을 얻고, 그리고
    획득된 3D 표현으로부터 상기 3D 캘리브레이션 구조에 관한 정보와 상기 대상에 관한 정보를 추출하도록 구성된 비전 시스템.
  13. 청구항 1에 있어서,
    상기 3D 캘리브레이션의 상기 조정은 비선형 왜곡, 아핀(affine) 왜곡, 및 강성(rigid) 변형을 보상하는 비전 시스템.
  14. 삭제
  15. 청구항 1에 있어서,
    상기 각각의 캘리브레이션 모델은 공통 원점 및 공통 좌표 프레임을 포함하는 비전 시스템.
  16. 키트로서,
    비전 시스템을 위한 마운트로서, 상기 마운트는 평평한 면과 하나 이상의 다른 면을 포함하는 3D 캘리브레이션 구조를 포함하며, 상기 3D 캘리브레이션 구조는 주기적으로 이격된 특징부를 포함하는 마운트; 및
    각각의 미리 결정된 방향에서 상기 3D 캘리브레이션 구조에 대한 각각의 캘리브레이션 모델을 인코딩하는 컴퓨터 판독 가능 매체로서, 상기 각각의 캘리브레이션 모델은 상기 마운트 상의 상기 3D 캘리브레이션 구조를 사용하여 상기 비전 시스템의 런-타임 3D 캘리브레이션에 사용 가능하고, 상기 비전 시스템의 런-타임 3D 캘리브레이션은 이미지를 공통 3D 좌표 프레임에 정렬시키기 위해 획득된 이미지 각각에 대해 각각의 캘리브레이션 모델 중 하나를 적용함으로써 수행되는 컴퓨터 판독 가능 매체를 포함하는 키트.
  17. 청구항 16에 있어서,
    상기 3D 캘리브레이션 구조의 상기 하나 이상의 다른 면은 상기 평평한 면의 원통형 홀의 측면인 키트.
  18. 청구항 16에 있어서,
    상기 3D 캘리브레이션 구조는 채널에 의해 분리된 바를 포함하며, 상기 바 각각은,
    상기 3D 캘리브레이션 구조의 상기 평평한 면을 형성하는 평평한 면, 및
    상기 3D 캘리브레이션 구조의 상기 하나 이상의 다른 면을 형성하는 적어도 하나의 테이퍼 면을 포함하는 키트.
  19. 청구항 16에 있어서,
    상기 3D 캘리브레이션 구조는 절두체를 포함하며, 상기 절두체 각각은,
    상기 3D 캘리브레이션 구조의 상기 평평한 면을 형성하는 평평한 면을 포함하는 키트.
  20. 청구항 19에 있어서,
    상기 평평한 면은 다각형을 한정하는 키트.
  21. 청구항 20에 있어서,
    상기 다각형은 정사각형인 키트.
  22. 청구항 19에 있어서,
    상기 평평한 면은 원을 한정하는 키트.
  23. 컴퓨팅 장치로 하여금 작동을 수행하게 하도록 작동 가능한 컴퓨터 프로그램을 인코딩하는 비일시적 컴퓨터 판독 가능 저장 매체로서,
    대상의 적어도 일 부분 및 3D 캘리브레이션 구조의 적어도 일 부분의 이미지를 얻는 것;
    얻어진 이미지에서 이미징된 상기 3D 캘리브레이션 구조에 관한 정보에 기초하여, 비전 시스템의 3D 캘리브레이션의 적어도 조정을 수행하는 것-상기 3D 캘리브레이션의 적어도 조정을 수행하는 것은, 상기 이미지를 공통 3D 좌표 프레임에 정렬시키기 위해 상기 얻어진 이미지 각각에 대해 각각의 캘리브레이션 모델 중 하나를 적용하는 것을 포함하고, 상기 각각의 캘리브레이션 모델은 각각의 미리 결정된 방향에 대해 생성됨-;
    (i) 얻어진 이미지, 및 (ii) 수행된 조정에 기초하여, 상기 3D 캘리브레이션 구조의 적어도 일 부분 및 상기 대상의 적어도 일 부분의 3D 표현을 얻는 것;
    얻어진 3D 표현으로부터 상기 3D 캘리브레이션 구조에 관한 정보 및 상기 대상에 관한 정보를 추출하는 것; 및
    (i) 상기 3D 캘리브레이션의 결과, 및 (ii) 얻어진 이미지에서 이미징된 상기 대상에 관한 정보에 기초하여, 상기 대상의 하나 이상의 특징부의 3D 위치, 치수, 또는 양자 모두를 결정하는 것을 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
  24. 청구항 23에 있어서,
    상기 이미지를 얻는 것은,
    상기 대상의 적어도 일 부분 및 상기 3D 캘리브레이션 구조의 적어도 일 부분이 동시에 시야에 있는 카메라에 대해 미리 결정된 방향으로 마운트를 적어도 회전시키기 위해 상기 대상을 유지하는 마운트와 결합되는 모션 스테이지를 지시하는 것으로서, 상기 마운트는 평평한 면과 하나 이상의 다른 면을 포함하는 상기 3D 캘리브레이션 구조를 포함하는 것; 및
    상기 마운트가 상기 미리 결정된 방향에 있을 때, 이미지를 획득하도록 상기 카메라를 지시하는 것을 포함하는 비일시적 컴퓨터 판독 가능 저장 매체.
KR1020187035915A 2016-05-12 2017-05-12 비전 시스템에 대한 캘리브레이션 KR102419427B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662335414P 2016-05-12 2016-05-12
US62/335,414 2016-05-12
PCT/US2017/032560 WO2017197369A1 (en) 2016-05-12 2017-05-12 Calibration for vision system

Publications (2)

Publication Number Publication Date
KR20190007467A KR20190007467A (ko) 2019-01-22
KR102419427B1 true KR102419427B1 (ko) 2022-07-12

Family

ID=59034858

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187035915A KR102419427B1 (ko) 2016-05-12 2017-05-12 비전 시스템에 대한 캘리브레이션

Country Status (4)

Country Link
US (1) US11074719B2 (ko)
KR (1) KR102419427B1 (ko)
CN (1) CN109313015B (ko)
WO (1) WO2017197369A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11049282B2 (en) * 2019-02-28 2021-06-29 Intelligrated Headquarters, Llc Vision calibration system for robotic carton unloading
CN110514143B (zh) * 2019-08-09 2021-05-07 南京理工大学 一种基于反射镜的条纹投影系统标定方法
CN110458899B (zh) * 2019-08-23 2024-03-29 北京京天威科技发展有限公司 一种可用于tfds、tvds和teds系统轨边成像器件的标定装置
CN112665517B (zh) * 2020-12-17 2022-06-14 太原科技大学 一种多相机大视场表面形状测量标定方法
CN113375591A (zh) * 2021-06-03 2021-09-10 昆山一麦自动化科技有限公司 一种基于3d扫描的成像设备及其矫正方法
CN114440771A (zh) * 2022-01-24 2022-05-06 苏州佳祺仕信息科技有限公司 一种尺寸断差检测装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030071194A1 (en) 1996-10-25 2003-04-17 Mueller Frederick F. Method and apparatus for scanning three-dimensional objects
US20040202364A1 (en) * 2001-08-03 2004-10-14 Hitoshi Otani Calibration object
US8126260B2 (en) 2007-05-29 2012-02-28 Cognex Corporation System and method for locating a three-dimensional object using machine vision
US20140118500A1 (en) 2010-12-08 2014-05-01 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US20160067628A1 (en) * 2014-09-10 2016-03-10 Hasbro, Inc. Toy system with manually operated scanner

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2351627B (en) * 1999-03-26 2003-01-15 Canon Kk Image processing apparatus
JP2004012257A (ja) * 2002-06-06 2004-01-15 Yamaha Fine Technologies Co Ltd ワークの外観検査装置および外観検査方法
US6822748B2 (en) * 2002-10-29 2004-11-23 Metron Systems, Inc. Calibration for 3D measurement system
JP2004354236A (ja) 2003-05-29 2004-12-16 Olympus Corp ステレオカメラ支持装置およびステレオカメラ支持方法ならびにステレオカメラシステム
US10757394B1 (en) * 2015-11-09 2020-08-25 Cognex Corporation System and method for calibrating a plurality of 3D sensors with respect to a motion conveyance

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030071194A1 (en) 1996-10-25 2003-04-17 Mueller Frederick F. Method and apparatus for scanning three-dimensional objects
US20040202364A1 (en) * 2001-08-03 2004-10-14 Hitoshi Otani Calibration object
US8126260B2 (en) 2007-05-29 2012-02-28 Cognex Corporation System and method for locating a three-dimensional object using machine vision
US20140118500A1 (en) 2010-12-08 2014-05-01 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
US20160067628A1 (en) * 2014-09-10 2016-03-10 Hasbro, Inc. Toy system with manually operated scanner

Also Published As

Publication number Publication date
KR20190007467A (ko) 2019-01-22
CN109313015B (zh) 2021-09-03
CN109313015A (zh) 2019-02-05
WO2017197369A1 (en) 2017-11-16
US11074719B2 (en) 2021-07-27
US20200320740A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
KR102419427B1 (ko) 비전 시스템에 대한 캘리브레이션
US11544874B2 (en) System and method for calibration of machine vision cameras along at least three discrete planes
US9641830B2 (en) Automated camera calibration methods and systems
US10452949B2 (en) System and method for scoring clutter for use in 3D point cloud matching in a vision system
US11050983B2 (en) System and method for recalibrating a projector system
JP2023011704A (ja) 高精密な校正システム及び方法
CN105073348A (zh) 用于校准的机器人系统和方法
Pinto et al. Evaluation of depth sensors for robotic applications
US20150178910A1 (en) Method and system for calibrating laser measuring apparatus
US20140300736A1 (en) Multi-sensor camera recalibration
JP2011506914A (ja) 物体形状のマルチフレーム表面測定のためのシステム及び方法
JP2012128661A (ja) 情報処理装置、情報処理方法及びプログラム
JP2015090298A (ja) 情報処理装置、情報処理方法
JP6758903B2 (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
Jin et al. Accurate intrinsic calibration of depth camera with cuboids
JP2009222568A (ja) 3次元形状データの生成方法および装置ならびにコンピュータプログラム
Zexiao et al. Study on a full field of view laser scanning system
Popescu et al. An assessment on the accuracy of high precision 3D positioning using planar fiducial markers
JP2008294065A (ja) 電子部品の実装方法及び装置
Strobl et al. On the issue of camera calibration with narrow angular field of view
US10552975B2 (en) Ranking target dimensions
Koch et al. Evaluating continuous-time slam using a predefined trajectory provided by a robotic arm
Shan et al. A laser triangulation based on 3d scanner used for an autonomous interior finishing robot
Cortaberria Berriozabal Progress in industrial photogrammetry by means of markerless solutions
JP5938201B2 (ja) 位置姿勢計測装置、その処理方法及びプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant