KR20240056516A - 카메라 교정을 위한 카메라 모델을 생성하는 방법 및 시스템 - Google Patents

카메라 교정을 위한 카메라 모델을 생성하는 방법 및 시스템 Download PDF

Info

Publication number
KR20240056516A
KR20240056516A KR1020247008298A KR20247008298A KR20240056516A KR 20240056516 A KR20240056516 A KR 20240056516A KR 1020247008298 A KR1020247008298 A KR 1020247008298A KR 20247008298 A KR20247008298 A KR 20247008298A KR 20240056516 A KR20240056516 A KR 20240056516A
Authority
KR
South Korea
Prior art keywords
camera
calibration
assembly
markers
space
Prior art date
Application number
KR1020247008298A
Other languages
English (en)
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 KR20240056516A publication Critical patent/KR20240056516A/ko

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)

Abstract

카메라 모델을 생성하는 방법이 제공된다. 로봇 어셈블리는 일련의 자세를 통해 카메라 어셈블리에 대해 교정 어셈블리를 이동시키는 데 사용된다. 교정 어셈블리는 교정 대상 및 마커를 포함한다. 카메라 어셈블리는 장착부, 시야를 갖는 카메라, 및 마커를 포함한다. 소정의 일련의 자세들은, 함께, 교정 대상이 카메라의 시야를 통과하게 한다. 카메라는 교정 대상의 개별 이미지를 생성하는 데 사용된다. 마커의 공간에서의 개별 위치를 결정하기 위해 추적기가 사용된다. 저장된 좌표, 마커의 공간에서의 결정된 위치, 및 교정 대상의 특징을 3차원 공간 상에 매핑하는 변환 함수가 생성된다. 변환 함수는 카메라의 파라미터 모델을 생성하는 데 사용된다. 시스템도 제공된다.

Description

카메라 교정을 위한 카메라 모델을 생성하는 방법 및 시스템
본 출원은 2021년 8월 29일에 출원되고 발명의 명칭이 "카메라 교정"인 미국 가특허출원 63/260,690호의 이익을 주장하며, 그 전체 내용이 여기에 참조 인용되었다.
본 출원은 일반적으로 카메라 모델(camera model)에 관한 것으로서, 특히 카메라 모델의 생성에 관한 것이다.
카메라 모델은 많은 산업 분야에 걸쳐 널리 사용되고 있다. 예를 들어, 로봇 공학 및 자율주행 차량에 있어서, 카메라 모델은 시각적 주행 거리 측정, 위치 파악(localization), 매핑(mapping), 시각적 서보잉(visual servoing)(비전-기반 로봇 제어라고도 알려져 있음), 및 개체 인식(object recognition)을 지원하는 데 사용될 수 있다. 산업 자동화에 있어서, 카메라 모델은 결함 식별 및 크기 측정을 지원하는 데 사용될 수 있다. 스마트폰 기술에 있어서, 카메라 모델은 파노라마 이미지 스티칭, 증강 현실, 및 안면(얼굴) 인식을 지원하는 데 사용될 수 있다. 광학 분야에 있어서, 카메라 모델은 광학 계측, 위성 포인팅 안정화(satellite pointing stabilization), 및 이미지 왜곡 방지(예를 들어, 이미지에서 발견되는 왜곡 반전)를 지원하는 데 사용될 수 있다. 농업에 있어서, 카메라 모델은 작물 건강 모니터링을 지원하는 데 사용될 수 있다. 국방 분야에 있어서, 카메라 모델은 원격 측정, 지형 매핑, 및 감시를 지원하는 데 사용될 수 있다. 생물학에 있어서, 카메라 모델은 현미경 교정 및 크기 측정을 지원하는 데 사용될 수 있다. 엔터테인먼트 용도에 있어서, 카메라 모델은 가상 현실, 사진, 및 모션 감지 게임[예를 들어, 엑스박스 키넥트(Xbox Kinect)]을 지원하는 데 사용될 수 있다. 연구 용도에 있어서, 카메라 모델은 모션 및 3D 재구성으로부터 구조를 결정하는 것을 지원하는 데 사용될 수 있다.
카메라 모델을 생성하기 위한 방법 및 시스템과, 카메라 교정을 위한 카메라 모델을 생성하기 위한 시스템이 여기에 제공된다.
여기에서의 일부 예는 카메라 모델을 생성하는 방법을 제공한다. 상기 방법은 소정의 일련의 자세들을 통해, 카메라 어셈블리에 대해 교정 어셈블리를 이동시키거나 또는 교정 어셈블리에 대해 카메라 어셈블리를 이동시키기 위해, 로봇 어셈블리를 사용하는 단계를 포함할 수 있다. 교정 어셈블리는 교정 대상을 포함할 수 있다. 교정 어셈블리는 제1, 제2, 및 제3 교정 어셈블리 마커(calibration assembly marker)를 포함할 수 있다. 제1, 제2, 및 제3 교정 어셈블리 마커는 개별 위치에서 교정 대상에 결합될 수 있다. 카메라 어셈블리는 장착부(mount)를 포함할 수 있다. 카메라 어셈블리는 개별 장소에서 장착부에 결합되고 그리고 시야(field of view)(FOV)를 갖는 카메라를 포함할 수 있다. 카메라 어셈블리는 개별 위치에서 장착부에 결합되는 제1, 제2, 및 제3 카메라 어셈블리 마커를 포함할 수 있다. 소정의 일련의 자세들은, 함께, 교정 대상이 카메라의 FOV 의 적어도 일부를 통과하게 한다. 상기 방법은 교정 대상의 개별 이미지를 생성하기 위해, 소정의 일련의 자세들 중 각각의 자세에서, 카메라를 사용하는 단계를 포함할 수 있다. 상기 방법은 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 소정의 일련의 자세들 중 각각의 자세에서, 추적기(tracker)를 사용하는 단계를 포함할 수 있다.
상기 방법은 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 소정의 일련의 자세들 중 각각의 자세에서, 추적기를 사용하는 단계를 포함할 수 있다. 상기 방법은, 각각의 개별 이미지에 대해, 3차원 개체 공간 상에, (i) 제1, 제2, 및 제3 교정 어셈블리 마커의 저장된 좌표, (ⅱ) 제1, 제2, 및 제3 카메라 어셈블리 마커의 저장된 좌표, (ⅲ) 그 이미지에 대해, 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치, (ⅳ) 그 이미지에 대해 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치, 및 (v) 개별 이미지 내의 교정 대상의 특징을 매핑하는 변환 함수(transformation function)를 생성하는 단계를 포함할 수 있다. 상기 방법은 카메라의 외부 파라미터 및 내부 파라미터의 모델을 생성하기 위해, 개별 이미지에 대한 변환 함수를 사용하는 단계를 포함할 수 있다.
일부 예에 있어서, 교정 어셈블리는 교정 대상에 결합되는 제4 교정 어셈블리 마커를 추가로 포함할 수 있다. 일부 예에 있어서, 상기 방법은 제1, 제2, 제3, 및 제4 교정 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 소정의 일련의 자세들 중 각각의 자세에서, 추적기를 사용하는 단계를 포함할 수 있다.
일부 예에 있어서, 카메라 어셈블리는 장착부에 결합되는 제4 카메라 어셈블리 마커를 추가로 포함할 수 있다. 일부 예에 있어서, 상기 방법은 제1, 제2, 제3, 및 제4 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 소정의 일련의 자세들 중 각각의 자세에서, 추적기를 사용하는 단계를 포함할 수 있다.
일부 예에 있어서, 교정 어셈블리 마커는 구형으로 장착된 역반사체(retroreflectors)(SMRs)를 각각 포함할 수 있다.
일부 예에 있어서, 카메라 어셈블리 마커는 구형으로 장착된 역반사체(SMRs)를 각각 포함할 수 있다.
일부 예에 있어서, 장착부는 핀-다이아몬드 핀 장착부(pin-diamond pin mount)를 포함할 수 있다.
일부 예에 있어서, 추적기는 레이저 추적기를 포함할 수 있다.
일부 예에 있어서, 상기 방법은 카메라 장착 데이텀 프레임에서 제1, 제2, 및 제3 카메라 어셈블리 마커의 좌표를 결정하는 단계를 추가로 포함할 수 있다. 일부 예에 있어서, 카메라 장착 데이텀 프레임에서 제1, 제2, 및 제3 카메라 어셈블리 마커의 좌표를 결정하는 단계는, 좌표 측정 기계(coordinate measuring machine)(CMM)를 사용하여 수행될 수 있다.
일부 예에 있어서, 교정 대상은 직선형의 체커보드 차트(checkerboard chart)를 포함할 수 있다.
일부 예에 있어서, 교정 대상은 자체-식별 2진 코드(self-identifying binary code)를 포함할 수 있다. 일부 예에 있어서, 상기 자체-식별 2진 코드는 CALTag 또는 ARTag를 포함할 수 있다.
일부 예에 있어서, 상기 방법은 제1, 제2, 및 제3 교정 어셈블리 마커에 대한 교정 대상의 특징의 장소를 결정하는 단계를 추가로 포함할 수 있다. 일부 예에 있어서, 제1, 제2, 및 제3 교정 어셈블리 마커에 대한 교정 대상의 특징의 위치를 결정하는 단계는, 광학 측정 기계(optical measuring machine)(OMM)를 사용하여 수행될 수 있다.
일부 예에 있어서, 소정의 일련의 자세들은, 함께, 교정 대상이 슈퍼차트(superchart)를 생성하게 할 수 있다. 일부 예에 있어서, 상기 슈퍼차트는 반구형 형상을 포함할 수 있다. 일부 예에 있어서, 슈퍼차트는 다중 레이어를 포함할 수 있다.
일부 예에 있어서, 상기 방법은 각각의 개별 이미지에 대해, 상기 각각의 개별 이미지의 전에 이미지를 프로세싱하는 단계, 3차원 개체 공간 상에 (i) 제1, 제2, 및 제3 교정 어셈블리 마커의 저장된 좌표, (ⅱ) 제1, 제2, 및 제3 카메라 어셈블리 마커의 저장된 좌표, (ⅲ) 그 이미지에 대해, 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치, (ⅳ) 그 이미지에 대해, 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치, 및 (v) 개별 이미지 내의 교정 대상의 특징을 매핑하는 변환 함수를 생성하는 단계를 추가로 포함할 수 있다. 일부 예에 있어서, 이미지의 프로세싱 단계는 개체 검출, 평활화(smoothing), 엣지 강화(edge enhancing), 및 형태학적 연산 중 적어도 하나를 포함할 수 있다.
일부 예에 있어서, 상기 방법은 상이한 소정의 일련의 자세들로, 카메라의 외부 파라미터 및 내부 파라미터의 감사 데이터(audit data)를 생성하기 위해, 소정의 일련의 자세들을 통해, 카메라 어셈블리에 대해 교정 어셈블리를 이동시키거나 또는 교정 어셈블리에 대해 카메라 어셈블리를 이동시키기 위해, 로봇 어셈블리를 다시 사용하는 단계; 소정의 일련의 자세들 중 각각의 자세에서, 교정 대상의 개별 이미지를 생성하기 위해 카메라를 다시 사용하는 단계; 소정의 일련의 자세들 중 각각의 자세에서, 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 개별 위치 및 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 추적기를 다시 사용하는 단계; 및 각각의 개별 이미지에 대해, 3차원 개체 공간 상에, (i) 제1, 제2, 및 제3 교정 어셈블리 마커의 저장된 좌표, (ⅱ) 제1, 제2, 및 제3 카메라 어셈블리 마커의 저장된 좌표, (ⅲ) 그 이미지에 대해, 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치, (ⅳ) 그 이미지에 대해, 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치, 및 (v) 개별 이미지 내의 교정 대상의 특징을 매핑하는 변환 함수를 다시 생성하는 단계를 추가로 포함할 수 있다. 일부 예에 있어서, 방법은 감사 데이터 세트로부터 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치; 감사 데이터 세트로부터 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치; 및 카메라 모델의 이미지 공간 오차 및 개체 공간 오차를 결정하기 위해 카메라 모델을 사용하는 단계를 추가로 포함할 수 있다.
여기에서의 일부 예는 카메라 모델을 생성하기 위한 시스템을 제공한다. 상기 시스템은 교정 어셈블리를 포함할 수 있다. 교정 어셈블리는 교정 대상을 포함할 수 있다. 교정 어셈블리는 제1, 제2, 및 제3 교정 어셈블리 마커를 포함할 수 있다. 제1, 제2, 및 제3 교정 어셈블리 마커는 개별 위치에서 교정 대상에 결합될 수 있다. 시스템은 카메라 어셈블리를 포함할 수 있다. 카메라 어셈블리는 장착부를 포함할 수 있다. 카메라 어셈블리는 카메라를 포함할 수 있다. 카메라는 개별 위치에서 장착부에 결합될 수 있으며, 그리고 시야(FOV)를 가질 수 있다. 시스템은 제1, 제2, 및 제3 카메라 어셈블리 마커를 포함할 수 있다. 제1, 제2, 및 제3 카메라 어셈블리 마커는 개별 위치에서 장착부에 결합될 수 있다. 시스템은 로봇 어셈블리를 포함할 수 있다. 로봇 어셈블리는 교정 어셈블리 및 카메라 어셈블리 중 적어도 하나에 결합될 수 있다. 시스템은 추적기를 포함할 수 있다. 시스템은 컴퓨터 시스템을 포함할 수 있다. 컴퓨터 시스템은 카메라, 로봇 어셈블리, 및 추적기에 결합될 수 있다. 컴퓨터 시스템은 적어도 하나의 프로세서 및 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체를 포함할 수 있다. 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 서로에 대해 그리고 교정 대상에 대해, 제1, 제2, 및 제3 교정 어셈블리 마커의 좌표를 저장할 수 있다. 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 서로에 대해 그리고 카메라에 대해, 제1, 제2, 및 제3 카메라 어셈블리 마커의 좌표를 저장할 수 있다. 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 프로세서가 동작을 수행하게 하기 위한 명령을 추가로 저장할 수 있다.
동작은, 함께, 교정 대상이 카메라의 FOV 의 적어도 일부를 통과하게 하는 소정의 일련의 자세들을 통해, 카메라 어셈블리에 대해 교정 어셈블리를 이동시키거나 또는 교정 어셈블리에 대해 카메라 어셈블리를 이동시키도록, 로봇 어셈블리에 명령하는 단계; 소정의 일련의 자세들 중 각각의 자세에서, 교정 대상의 개별 이미지를 생성하도록 카메라에 명령하는 단계; 소정의 일련의 자세들 중 각각의 자세에서, 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 개별 위치 및 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하도록, 추적기에 명령하는 단계; 각각의 개별 이미지에 대해, 3차원 개체 공간 상에, (i) 제1, 제2, 및 제3 교정 어셈블리 마커의 저장된 좌표, (ⅱ) 제1, 제2, 및 제3 카메라 어셈블리 마커의 저장된 좌표, (ⅲ) 그 이미지에 대해, 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 개별 위치, (ⅳ) 그 이미지에 대해, 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 개별 위치, 및 (v) 개별 이미지 내의 교정 대상의 특징을 매핑하는 변환 함수를 생성하는 단계; 및 카메라의 외부 파라미터 및 내부 파라미터의 모델을 생성하기 위해, 개별 이미지에 대한 변환 함수를 사용하는 단계를 포함할 수 있다.
일부 예에 있어서, 교정 어셈블리는 교정 대상에 결합되는 제4 교정 어셈블리 마커를 추가로 포함할 수 있다. 일부 예에 있어서, 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 제1, 제2, 및 제3 교정 어셈블리 마커에 대해 그리고 교정 대상에 대해, 제4 교정 어셈블리 마커의 좌표를 저장할 수 있다. 일부 예에 있어서, 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 제4 교정 어셈블리 마커의 좌표를 저장할 수 있다. 일부 예에 있어서, 명령은 소정의 일련의 자세들 중 각각의 자세에서, 제4 교정 어셈블리 마커의 공간에서의 개별 위치를 결정하도록 추적기에 명령하는 단계, 및 각각의 개별 이미지에 대해, 3차원 개체 공간 상에 제4 교정 어셈블리 마커의 저장된 좌표를 매핑하는 변환 함수를 발생하는 단계를 추가로 포함할 수 있다.
일부 예에 있어서, 카메라 어셈블리는 장착부에 결합되는 제4 카메라 어셈블리 마커를 추가로 포함할 수 있다. 일부 예에 있어서, 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 제1, 제2, 및 제3 카메라 어셈블리 마커에 대해 그리고 카메라에 대해, 제4 카메라 어셈블리 마커의 좌표를 저장할 수 있다. 일부 예에 있어서, 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 제4 카메라 어셈블리 마커의 좌표를 저장할 수 있다. 일부 예에 있어서, 명령은 소정의 일련의 자세들 중 각각의 자세에서, 각각의 개별 이미지에 대해, 제4 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하도록 추적기에 명령하는 단계, 및 각각의 개별 이미지에 대해, 3차원 개체 공간 상에 제4 카메라 어셈블리 마커의 저장된 좌표를 매핑하는 변환 함수를 생성하는 단계, 및 3차원 개체 공간 상에 제4 카메라 어셈블리 마커의 좌표를 매핑하는 변환 함수를 생성하는 단계를 추가로 포함할 수 있다.
일부 예에 있어서, 교정 어셈블리 마커는 구형으로 장착된 역반사체(SMRs)를 각각 포함할 수 있다.
일부 예에 있어서, 카메라 어셈블리 마커는 구형으로 장착된 역반사체(SMRs)를 각각 포함할 수 있다.
일부 예에 있어서, 장착부는 핀-다이아몬드 핀 장착부를 포함할 수 있다.
일부 예에 있어서, 추적기는 레이저 추적기를 포함할 수 있다.
일부 예에 있어서, 서로에 대해 그리고 카메라에 대해 제1, 제2, 및 제3 카메라 어셈블리 마커의 저장된 좌표는, 좌표 측정 기계(CMM)를 사용하여 결정될 수 있다.
일부 예에 있어서, 교정 대상은 직선형의 체커보드 차트를 포함할 수 있다.
일부 예에 있어서, 교정 대상은 자체-식별 2진 코드를 포함할 수 있다. 일부 예에 있어서, 자체-식별 2진 코드는 CALTag 또는 ARTag를 포함할 수 있다.
일부 예에 있어서, 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 제1, 제2, 및 제3 교정 어셈블리 마커에 대해 교정 대상의 특징의 좌표를 저장할 수 있다. 일부 예에 있어서, 제1, 제2, 및 제3 교정 어셈블리 마커에 대한 교정 대상의 특징의 저장된 좌표는, 광학 측정 기계(OMM)를 사용하여 결정될 수 있다.
일부 예에 있어서, 소정의 일련의 자세들은, 함께, 교정 대상이 슈퍼차트를 생성하게 할 수 있다. 일부 예에 있어서, 슈퍼차트는 반구형 형상을 포함할 수 있다. 일부 예에 있어서, 슈퍼차트는 다중 레이어를 포함할 수 있다.
일부 예에 있어서, 명령은 각각의 개별 이미지에 대해 변환 함수를 생성하기 전에 이미지를 프로세싱하는 단계를 추가로 포함할 수 있다. 일부 예에 있어서, 이미지의 프로세싱 단계는 개체 검출, 평활화, 엣지 강화, 및 형태학적 연산 중 적어도 하나를 포함할 수 있다.
일부 예에 있어서, 명령은 감사 데이터 세트를 생성하기 위해 상이한 소정의 일련의 자세로 명령의 동작을 반복하는 단계를 추가로 포함할 수 있다. 일부 예에 있어서, 명령은 감사 데이터 세트로부터 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치; 감사 데이터 세트로부터 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치; 및 카메라 모델의 이미지 공간 오차 및 개체 공간 오차를 결정하기 위해 카메라 모델을 사용하는 단계를 추가로 포함할 수 있다.
여기에 기재된 바와 같이 본 발명의 양태의 임의의 개별적인 특징/예는 임의의 적절한 조합으로 함께 구현될 수 있으며, 그리고 이들 양태 중 임의의 하나 또는 그 이상으로부터의 임의의 특징/예는, 여기에 기재된 바와 같은 이점을 달성하기 위해 임의의 적절한 조합으로 여기에 기재된 다른 양태(들)의 임의의 특징과 함께 구현될 수 있음을 인식해야 한다.
도 1은 카메라 모델과 관련하여 고려해야 할 3개의 주요 영역을 나타내고 있다. 도 1은 삼브람 사후(Samvram Sahu), 스테레오-비전을 사용한 UAV의 3D 자세 추정(2019년 5월)[BTech 논문, 인디안 스페이스 리서치 오거나이제이션(Indian Space Rsrch. Org.)]으로부터 채택되었으며, 그 전체 내용이 여기에 참조 인용되었다.
도 2는 카메라의 예시적인 간단한 핀홀 모델(pinhole model)의 예를 도시하고 있다. 도 2는 브하라스 하리하란(Bharath Hariharan), 이미지 형성의 기하학(코넬 대학교, 2020년 3월 25일)으로부터 채택되었으며, 그 전체 내용이 여기에 참조 인용되었다.
도 3은 3개의 일반적인 카메라 왜곡을 나타내고 있다. 도 3은 이고르 코즈로프(Igor Kozlov), 수중 다중 뷰 재구성의 불확실성 분석(2018년 9월)(석사 논문, NH 대학교) 및 제이.브이. 샤프(J.V. Sharp)와 에이치.에이치. 헤이즈(H.H. Hayes), 사진 측량 시스템의 왜곡 지도 생성에 미치는 영향, 15 사진 측량 공학 159(1949)로부터 채택되었으며, 그 각각의 전체 내용은 여기에 참조 인용되었다.
도 4는 카메라의 외부 파라미터를 나타내고 있다. 도 4는 벤자민 피클러(Benjamin Pichler)의 HDR Light Field(2012년 9월 10일)[B.S. 논문, 요하네스 케플러 대학교. 린츠(Linz)]로부터 채택되었으며, 그 전체 내용이 여기에 참조 인용되었다.
도 5는 이미지 프로세싱을 위한 작업흐름의 예를 나타내고 있다. 도 5는 오픈캘리브레이션-카메라(opencv-camera) 0.11.0, 파이썬 패키지 인덱스(마지막 방문일: 2022년 8월 11일)로부터 채택되었으며, 그 전체 내용이 여기에 참조 인용되었다.
도 6은 카메라 모델을 생성하기 위한 시스템의 예를 나타내고 있다.
도 7은 카메라 모델을 생성하기 위한 또 다른 시스템의 예를 나타내고 있다.
도 8은 카메라의 예를 나타내고 있다.
도 9a는 카메라 어셈블리의 예를 나타내고 있다.
도 9b는 좌표 측정 기계(CMM) 상의 예시적인 카메라 어셈블리의 사진을 나타내고 있다.
도 10은 직선형의 체크보드 차트를 포함하는 예시적인 교정 대상을 나타내고 있다.
도 11a는 광학 측정 기계(OMM) 상의 예시적인 교정 어셈블리의 사진을 나타내고 있다.
도 11b는 자체-식별 2진 코드를 포함하는 예시적인 교정 대상을 나타내고 있다.
도 12는 여기에 기재된 시스템으로 카메라 모델을 생성하는 예시적인 방법의 흐름도를 나타내고 있다.
도 13은 여기에 기재된 시스템으로 카메라 모델을 생성하기 위한 예시적인 방법의 흐름도를 나타내고 있다.
도 14는 예시적인 반구형 슈퍼차트를 나타내고 있다.
도 15a는 예시적인 3-레이어 반구형 슈퍼차트를 나타내고 있다.
도 15b는 2D 이미지 공간에 투영된 도 15a의 예시적인 3-레이어 반구형 슈퍼차트를 나타내고 있다.
도 16a는 다중-레이어 반구형 슈퍼차트의 또 다른 예를 나타내고 있다.
도 16b는 2D 이미지 공간에 투영된 도 16a의 예시적인 다중-레이어 반구형 슈퍼차트를 나타내고 있다.
도 17은 카메라 모델을 생성하기 위한 예시적인 시스템의 사진을 나타내고 있다.
도 18은 제1, 제2, 및 제3 교정 어셈블리 마커의 그리고 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치가 추적기에 의해 어떻게 결정될 수 있는지의 예를 나타내고 있다.
도 19는 카메라 모델 파라미터를 생성하는 예시적인 방법의 흐름도를 나타내고 있다.
도 20은 카메라 모델 파라미터를 생성하는 또 다른 예시적인 방법의 흐름도를 나타내고 있다.
도 21은 자체-식별 2진 코드가 검출될 수 있는 방법의 예를 나타내고 있다.
도 22a는 교정 대상 특징을 식별하는 예시적인 방법의 흐름도를 나타내고 있다.
도 22b는 식별된 특징을 갖는 예시적인 교정 대상을 나타내고 있다.
도 23은 카메라의 간단한 핀홀 모델의 예를 나타내고 있다.
도 24a는 예시적인 카메라 모델의 이미지-공간 재투영 오차를 나타내고 있다.
도 24b는 도 24a와 동일한 예시적인 카메라 모델의 개체 공간 재투영 오차를 나타내고 있다.
도 25는 감사 데이터 세트를 생성하는 예시적인 방법의 흐름도를 나타내고 있다.
도 26은 감사 모델을 사용하여 개체 공간 오차 및 이미지 공간 오차를 결정하는 예시적인 방법의 흐름도를 나타내고 있다.
도 27a는 감사 모델을 사용하여 결정된 예시적인 카메라 모델의 개체 공간 재투영 오차를 나타내고 있다.
도 27b는 도 27a와 동일한 감사 모델을 사용하여 결정된 바와 같이, 도 27a와 동일한 예시적인 카메라 모델의 이미지-공간 재투영 오차를 나타내고 있다.
여기에 기재된 바와 같이 본 발명의 양태의 임의의 개별적인 특징/예는 임의의 적절한 조합으로 함께 구현될 수 있으며, 그리고 이들 측면 중 임의의 하나 또는 그 이상으로부터의 임의의 특징/예는 여기에 기재된 이점을 달성하기 위해 임의의 적절한 조합으로 여기에 설명된 다른 측면(들)의 임의의 특징과 함께 구현될 수 있음을 인식해야 한다.
카메라 모델을 생성하기 위한 방법 및 시스템과, 카메라 교정을 위한 카메라 모델을 생성하기 위한 시스템이 여기에 제공된다.
임의의 적절한 조합으로 기재되고 청구될 수 있는 주제는, 교정된 추적기 대상이 장착된 카메라(카메라 어셈블리), 교정된 추적기 대상이 장착된 테스트 차트(교정 대상)(교정 어셈블리), 추적기, 상기 테스트 차트(교정 대상)에 대해 카메라를 이동시키는 장치(로봇 어셈블리), 이미지 및 위치 데이터를 저장하고 연관시키는 장치(컴퓨터 시스템), 및 이미지 프로세싱 및 모델 파라미터 계산을 수행하는 장치(컴퓨터 시스템)를 포함하는 하드웨어(시스템)를 포함한다.
임의의 적절한 조합으로 기재되고 청구될 수 있는 주제는 또한 계획에서의 각각의 위치에 대해 (i) 추적기를 사용하여 카메라 및 테스트 차트(교정 대상)를 정렬하고, (ⅱ) 카메라 위치 및 테스트 차트(교정 대상) 위치를 기록하고, 및 (ⅲ) 카메라 이미지를 촬영하는 계획에서의 각각의 위치에 대해, 원하는 카메라 특성에 기초하여 모션을 계획하는 단계; (i) 이미지의 특징을 검출하는 단계, (ⅱ) 상기 특징을 3D 위치 좌표와 페어링하는 단계, (ⅲ) 카메라 모델 교정 로직을 적용하는 단계, 및 (ⅳ) 카메라 모델 파라미터를 출력하는 단계를 포함하여, 이미지 및 위치 좌표를 프로세싱하는 단계도 포함한다.
임의의 적절한 조합으로 기재되고 청구될 수 있는 주제의 일부 변형예는, 다양한 추적기 넘버 및 구성을, 예를 들어 정사각형 대 삼각형 구성을 사용하는 변형예, 추적기가 레이저 추적기인 변형예 및 그 대체품, 추적기 대상(마커)이 역반사체(SMRs)에 구형으로 장착되는 변형예 및 그 대체품, 좌표 측정 기계(CMM)를 사용하여 카메라 추적기 대상(카메라 어셈블리)의 등록을 수행하는 변형예, 광학 측정 기계(OMM)를 사용하여 테스트 챠트 추적기 대상(교정 어셈블리)의 등록을 수행하는 변형예, 특징 검출 전에 이미지 필터링을 수행하는 변형예, 테스트 차트(교정 대상) 상의 CALTag 를 포함하는 변형예, 비선형 최적화를 포함하는 변형예, 감사 데이터 세트를 사용하는 변형예를 포함한다.
여기에 제공되는 바와 같이, 카메라 모델은 카메라 시스템의 복잡한 기하학적 및 광학적 특성을, 알려진 파라미터의 비교적 작은 세트를 사용하여 수학적 모델로 단순화한 것이다. 좋은 모델은 카메라로부터의 2D 정보를 사용하여 3D 세계에 대한 정보를 얻는, 컴퓨터 비전의 근본적인 문제를 해결하는 데 도움이 될 수 있다.
도 1은 카메라 모델과 관련하여 고려해야 할 3개의 주요 영역을 나타내고 있다. 카메라 모델과 관련하여 고려해야 할 3개의 주요 영역은, 내부 파라미터(102), 왜곡(104), 외부 파라미터(106)이다. 내부 파라미터(102)는 카메라의 초점 거리 및 주점(principal point)을 포함한다. 왜곡(104)은 단순한 핀홀 카메라로부터의 편차이며, 그리고 대칭 방사형 왜곡, 비대칭 방사형 왜곡, 및 접선 왜곡을 포함한다. 외부 파라미터(106)는 일부 외부 기준 좌표계에 대한 카메라의 위치를 나타내는 위치 벡터와 3D 회전 행렬의 요소를 포함한다.
내부 파라미터
도 2는 카메라의 예시적인 간단한 핀홀 모델의 예를 나타내고 있다. 카메라의 간단한 핀홀 모델에 있어서, 개체 공간(210)에서의 3차원 개체는 2차원 이미지 공간(220)에 매핑되며, 그리고 센서(222)에 의해 캡처된다. 입사 광선(212)은 r = f×tanθ 에 따라, 개체 상의 지점(216)으로부터 센서(222) 상에 도달하며, 여기서 r 은 주점(224)[배리어 평면(barrier plane)의 핀홀 구멍을 직접 가로지르는]으로부터 센서 평면(222) 상의 거리이며, 초점 거리 f(226)는 센서로부터 배리어 평면(214)까지의 거리이다. 각도(θ)는 개구(216)에서 배리어 평면(214)과 수직한 방향으로부터 측정된다. 초점 거리(226) 및 주점(224)은 카메라의 내부 파라미터로서 알려져 있다.
왜곡
카메라의 왜곡을 특성화함으로써, 우리는 이것이 상기 단순한 핀홀 카메라로부터 어떻게 벗어나는지 이해할 수 있다. 도 3은 3개의 통상적인 카메라 왜곡을 나타내고 있다. 3개의 통상적인 왜곡은 대칭 방사형 왜곡(302), 비대칭 방사형 왜곡(304), 및 접선 왜곡(306)이다. 방사형 왜곡은 카메라의 주점으로부터 방사 방향을 따라 상점(image point)을 왜곡한다. 대칭 방사형 왜곡(302)은 이를 전체 이미지에 대해 대칭적으로 수행하는 반면에, 비대칭 방사형 왜곡(304)은 상기 주점에 대한 극각(polar angle)에 따라 변할 수 있다. 접선 왜곡(306)은 카메라의 주점으로부터 방사형 왜곡에 수직한 방향으로 상점을 왜곡한다.
외부 파라미터
일부 기준 좌표계에 대한 카메라의 위치는, 전형적으로 3D 회전 행렬 및 위치 벡터로서 또는 변환 행렬로서 표현된다. 이들 행렬의 요소는 외부 파라미터로서 알려져 있다.
도 4는 카메라의 외부 파라미터를 나타내고 있다. 외부 파라미터(402)는 일부 경우에는 전체 좌표계에서 이미지화된 대상에 대한 공간 정보를 추출하는 데 사용되거나 필요로 한다. 이는 유용할 수 있으며, 그리고 일부 경우에는, 예를 들어 다중 카메라가 함께 사용되거나 또는 이미징 카메라가 다른 센서[예를 들어, 관성 측정 장치(an inertial measurement unit)(IMU) 센서, 광 검출 및 레인징(light detection and ranging)(LIDAR) 센서, 등)]와 함께 사용될 때의 일부 경우에는, 융합된 센서 데이터 출력을 위해 특히 중요하다. 외부 카메라 교정의 추적능(traceability)은 교정 수행 시 가장 어려운 양태 중 하나이다.
카메라 교정
도 5는 이미지 프로세싱을 위한 작업흐름의 예를 나타내고 있다. 이미 알려진 일반적인 카메라 교정에 있어서, 파라미터는 반복 프로세스(500)에서 식별된다. 일단 교정 데이터 이미지가 알려진 이미지(502)로부터 캡처되었다면, 이미지는 OpenCV(Open Source Computer Vision Library)(오픈 소스 컴퓨터 비전 라이브러리)(504), 오픈 소스 컴퓨터 비전, 및 기계 학습 소프트웨어 라이브러리와 같은 오픈 소스 툴을 사용하여 프로세싱된다. 결과적인 재투영 이미지는 원래의 알려진 이미지와 비교된다(506). 오차가 임계값을 초과하였다면, 프로세스는 오차가 허용될 때까지 상이한 모델로 반복된다(508).
유연한 카메라 교정 스테이션 설계
본 기술분야에 이미 알려진 카메라 교정 기술은 전형적으로 특정 카메라 파라미터 세트(개체 거리, 시야, 등)에 대해 잘 작동하지만, 그러나 동일한 교정 설비에서 광범위한 카메라 파라미터를 수용하는 데는 어려움을 겪는다. 이런 비교적 낮은 성능에는 많은 이유가 있으며, 여기에는 비교적 부정확한 외부 파라미터 결정, 전체 시야에 대한 비교적 낮은 왜곡 모델 정확도, 대규모 물리적 차트에 대한 가능한 요구사항 등이 포함된다.
본 발명자들에 의해 인식된 바와 같이, 유연한 카메라 교정 스테이션이 이들 및 다른 교정 성능 문제를 극복하는 데 사용될 수 있다. 도 6은 카메라 모델을 생성하기 위한 시스템의 예를 나타내고 있다. 도 6에 도시된 시스템(600)은 교정 어셈블리(610), 카메라 어셈블리(620), 로봇 어셈블리(630), 추적기(640), 및 컴퓨터 시스템(650)을 포함할 수 있다. 교정 어셈블리(610)는 교정 대상(612), 및 임의의 적절한 개수의 교정 어셈블리 마커, 예를 들어 개별 위치에서 교정 대상(612)에 결합되는 제1 교정 어셈블리 마커(614a), 제2 교정 어셈블리 마커(614b), 및 제3 교정 어셈블리 마커(614c)를 포함한다. 카메라 어셈블리(620)는 장착부(622), 카메라(624), 임의의 적절한 수의 카메라 어셈블리 마커, 예를 들어 개별 위치에서 장착부(622)에 결합되는 제1 카메라 어셈블리 마커(626a), 제2 카메라 어셈블리 마커(626b), 및 제3 카메라 어셈블리 마커(626c)를 포함할 수 있다. 카메라(624)는 시야(FOV)를 가질 수 있다. 로봇 어셈블리(630)는, 점선으로 표시된 바와 같이, 교정 어셈블리(610) 및 카메라 어셈블리(620) 중 적어도 하나에 결합될 수 있다.
컴퓨터 시스템(650)은 프로세서(652) 및 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체(654)를 포함할 수 있다. 컴퓨터 시스템(650)은 로봇 어셈블리(630), 카메라(624), 및 추적기(640)에 결합될 수 있다. 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체(654)는 서로에 대해 그리고 교정 대상(612)에 대해, 제1, 제2, 및 제3 교정 어셈블리 마커(614)의 좌표를 저장할 수 있다. 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체(654)는 서로에 대해 그리고 카메라(624)에 대해, 제1, 제2, 및 제3 카메라 어셈블리 마커(626)의 좌표를 저장할 수 있다. 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체(654)는 프로세서(652)가 동작을 수행하게 하기 위한 명령을 저장할 수 있다. 동작은, 함께, 교정 대상이 카메라의 시야의 적어도 일부를 통과하게 하는 소정의 일련의 자세들을 통해, 카메라 어셈블리(620)에 대해 교정 어셈블리(610)를 이동시키거나 또는 교정 어셈블리(610)에 대해 카메라 어셈블리(620)를 이동시키도록, 로봇 어셈블리(630)에 명령하는 단계를 포함할 수 있다. 동작은 소정의 일련의 자세들 중 각각의 자세에서, 교정 대상(612)의 개별 이미지를 생성하도록, 카메라에 명령하는 단계를 포함할 수 있다. 동작은 소정의 일련의 자세들 중 각각의 자세에서, 제1, 제2, 및 제3 교정 어셈블리 마커(614)의 공간에서의 개별 위치 및 제1, 제2, 및 제3 카메라 어셈블리 마커(626)의 공간에서의 개별 위치를 결정하도록, 추적기(640)에 명령하는 단계를 포함할 수 있다. 동작은, 각각의 개별 이미지에 대해, 3차원 개체 공간 상에 (i) 제1, 제2, 및 제3 교정 어셈블리 마커(614)의 저장된 좌표, (ⅱ) 제1, 제2, 및 제3 카메라 어셈블리 마커(626)의 저장된 좌표, (ⅲ) 그 이미지에 대해, 제1, 제2, 및 제3 교정 어셈블리 마커(614)의 공간에서의 결정된 개별 위치, (ⅳ) 그 이미지에 대해, 제1, 제2, 및 제3 카메라 어셈블리 마커(626)의 공간에서의 결정된 개별 위치, 및 (v) 개별 이미지 내의 교정 대상(612)의 특징을 매핑하는 변환 함수를 생성하는 단계를 포함할 수 있다. 동작은 카메라(624)의 외부 파라미터 및 내부 파라미터의 모델을 생성하기 위해, 개별 이미지에 대한 변환 함수를 사용하는 단계를 포함할 수 있다.
도 7은 카메라 모델을 생성하기 위한 또 다른 시스템의 예를 나타내고 있다. 유연한 카메라 교정 스테이션(카메라 모델을 생성하기 위한 시스템)(700)의 일례가 도면에 도시되어 있다. 이는 장착부(예를 들어, 인터페이스 브래킷)(708)에도 장착되는 테스트 대상 카메라(706)에 의해 관찰되는 교정 어셈블리 마커[예를 들어, 견고하게 부착된 구형 장착 역반사체(SMRs)](704)를 구비한 테스트 차트(교정 대상)(702)를 포함한다. 테스트 차트(교정 대상)(702)는 가동형 플랫폼 상에 고정될 수 있거나 장착될 수 있다. 테스트 중인 카메라는 로봇 어셈블리(예를 들어, 관절식 로봇 팔)(712)에 장착된다. 상기 테스트 중인 카메라 어셈블리(카메라 어셈블리)(714)는, 편의상 롤링 플랫폼(716)에 장착될 수 있다. 모든 교정 어셈블리 마커(704) 및 카메라 어셈블리 마커(예를 들어, SMRs)(710)의 상대위치는, 추적기(예를 들어, 레이저 추적기)(718)로 모니터링될 수 있다. 시스템 아키텍처의 설계로 인해, 카메라(706)와 테스트 차트(교정 대상)(702) 사이의 상대 모션은 풍부한 교정 데이터 세트를 생성하는 데 중요하지만, 그러나 카메라(706)가 구체적으로 이동하거나 또는 테스트 차트(교정 대상)(702)가 이동해야 한다는 요구사항은 없음을 인식해야 한다. 시스템 아키텍처는 교정을 위해 조작하기 어려운 카메라 시스템(714)이 정지 상태로 유지될 수 있도록 이동하는 구성요소 중 하나 또는 둘 모두에 대해 유연하다.
도 8은 카메라의 예를 나타내고 있다. 예시적인 카메라는 넓은 시야(FOV)(157도)에 걸쳐 고해상도를 제공하는 18 메가픽셀 2.8 ㎜ 고정 초점 거리 렌즈를 갖는다. 핀-다이아몬드 핀 장착부는, 카메라 외부 파라미터에 대해 반복 및 추적 가능한 데이텀으로 사용될 수 있는데, 그 이유는 카메라 프레임과 데이텀 프레임 사이의 상대위치가 대상 카메라의 견고한 구조로 인해 고정되기 때문이다.
도 9a는 카메라 어셈블리의 예를 나타내고 있다. 예시적인 카메라 장착부(900)가 도시되어 있다. 일부 예에 있어서, 구형으로 장착된 역반사체(SMRs)(902)는, 추적기(예를 들어, 레이저 추적기)에 대한 장착부(900) 및 카메라의(카메라 어셈블리의)(904) 위치의 추적 가능한 지점 측정을 생성하기 위해, 카메라 장착부(900)에 장착될 수 있다.
도 9b는 좌표 측정 기계(CMM) 상의 예시적인 카메라 어셈블리의 사진을 나타내고 있다. CMM(910) 상의 예시적인 카메라 장착부(900)의 사진이 도시되어 있다. CMM(910)은 카메라 장착 데이텀 프레임에서 SMR 중심 좌표를 측정하는 데 사용될 수 있다.
도 10은 직선형의 체크보드 차트를 포함하는 예시적인 교정 대상을 나타내고 있다. 간단한 직선형의 테스트 차트(교정 대상)(1002)가 아래에 예로서 도시되어 있다. 직선형의 그리드 차트(1002)는, 일부 경우에는 그리드 차트 이미지 프로세싱의 높은 정확도 코너 검출 기능으로 인해 원형 차트 위에 선택될 수 있다. 이런 예에 있어서, 3개의 SMRs(1004)은 삼각형 구성으로 사용되지만, 그러나 일부 구현에서는 개수 및 구성이 상이한 SMRs(1004)이 사용될 수 있다. 유리 차트 디자인(1006)의 백라이트 포토-에칭 크롬은 매우 선명한 엣지 대비 및 고정밀도 특징을 허용한다.
도 11a는 광학 측정 기계(OMM) 상의 예시적인 교정 어셈블리의 사진을 나타내고 있다. 도 11b는 자체-식별 2진 코드를 포함하는 예시적인 교정 대상을 나타내고 있다. 또 다른 예에 있어서, 직선형의 체커보드 차트(1102)는 이미지 프로세싱을 할 때 각각의 사각형을 고유하게 식별하기 위해, 자체-식별 2진 코드(1104)(예를 들어, CALTag 및 ARTag를 포함하는 예)로 개선될 수 있다. 교정 차트(교정 대상)에 자체-식별 패턴(1104)을 포함하는 것은 필수적인 것은 아니지만, 그러나 렌즈 왜곡, 불균일한 조명, 및 테스트 패턴 폐색과 같은 변수에 대한 프로세싱 견고성을 개선시킬 수 있다. 차트(대상)(1102)는 대안적인 색상 구성 및/또는 균일한 조명을 위해, 확산형 LCD 모니터에 의해 백라이트될 수 있다. 광학 CMM(광학 측정 기계 또는 OMM)(1106)은, 마커(예를 들어, SMRs)(1108)에 대한 차트(대상)(1102)의 특징의 위치를 등록하는 데 사용될 수 있다.
카메라 데이터 획득
도 12는 여기에 기재된 시스템으로 카메라 모델을 생성하기 위한 예시적인 방법의 흐름도를 나타내고 있다. 카메라 모델을 생성하는 방법(1200)은 소정의 일련의 자세들을 통해, 카메라 어셈블리에 대해 교정 어셈블리를 이동시키거나 또는 교정 어셈블리에 대해 카메라 어셈블리를 이동시키기 위해, 로봇 어셈블리를 사용하는 단계를 포함할 수 있다(동작 1202). 교정 어셈블리는 교정 대상 및 제1, 제2, 제3 교정 어셈블리 마커를 포함할 수 있다. 제1, 제2, 및 제3 교정 어셈블리 마커는 개별 위치에서 교정 대상에 결합될 수 있다. 카메라 어셈블리는 장착부, 개별 위치에서 장착부에 결합되는 카메라, 및 개별 위치에서 장착부에 결합되는 제1, 제2, 및 제3 카메라 어셈블리 마커를 포함할 수 있다. 카메라는 시야를 가질 수 있다. 소정의 일련의 자세들은, 함께, 교정 대상이 카메라 시야의 적어도 일부를 통과하게 할 수 있다. 상기 방법은, 소정의 일련의 자세들 중 각각의 자세에서, 교정 대상의 개별 이미지를 생성하기 위해 카메라를 사용하는 단계를 포함할 수도 있다(동작 1204). 상기 방법은, 소정의 일련의 자세들 중 각각의 자세에서, 제1, 제2, 및 제3 교정 어셈블리 마커 공간에서의 개별 위치 및 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 추적기를 사용하는 단계를 포함할 수도 있다(작업 1206). 상기 방법은 각각의 개별 이미지에 대해, 3차원 개체 공간 상에, (i) 제1, 제2, 및 제3 교정 어셈블리 마커의 저장된 좌표, (ⅱ) 제1, 제2, 및 제3 카메라 어셈블리 마커의 저장된 좌표, (ⅲ) 그 이미지에 대해, 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치, (ⅳ) 그 이미지에 대해, 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치, 및 (v) 개별 이미지 내의 교정 대상의 특징을 매핑하는 변환 함수를 생성하는 단계를 포함할 수도 있다(동작 1208). 상기 방법은 카메라의 외부 파라미터 및 내부 파라미터의 모델을 생성하기 위해, 개별 이미지에 대한 변환 함수를 사용하는 단계를 포함할 수도 있다(동작 1210).
도 13은 여기에 기재된 시스템으로 카메라 모델을 생성하기 위한 예시적인 방법의 흐름도를 나타내고 있다. 카메라 모델을 생성하는 예시적인 방법(1300)이 도시되어 있다. 방법(1300)은 그리드 특징에 대한 교정 어셈블리 마커 위치를 측정하는 단계(동작 1302)를 포함할 수도 있다. 방법(1300)은 카메라 데이텀에 대해 카메라 장착부 상의 카메라 어셈블리 마커 위치를 측정하는 단계(동작 1304)를 포함할 수도 있다. 일단 차트(교정 어셈블리) SMR(마커) 위치가 그리드 특징에 대해 측정되고 그리고 카메라 장착부(카메라 어셈블리) SMR(마커) 위치가 카메라 데이텀에 대해 측정되었다면, 카메라 교정 프로세스 데이터 수집이 수행될 수 있다.
로봇 팔(로봇 어셈블리)은 카메라를 상이한 팔 위치에 배치하는 데 사용될 수 있다(동작 1306). 각각의 위치에서, 추적기(예를 들어, 레이저 추적기)는 차트(교정 어셈블리) 및 카메라 장착부(카메라 어셈블리) SMRs(마커)의 위치를 측정하고(동작 1308), 카메라는 차트(대상)의 사진을 찍는다(동작 1310). 카메라를 상이한 팔 위치에 위치시킴으로써, 단계(동작)가 반복될 수 있다(동작 1312).
카메라 교정 프로세스
카메라 교정 프로세스는 3개의 주요한 구성요소, 즉 차트(대상)와 카메라 사이의 상대 모션을 계획하는 단계, 그 모션 계획에 대응하는 상대위치에서 데이터 캡처를 실행하는 단계, 및 카메라 모델 파라미터를 결정하는 신호 프로세싱 단계로 나눌 수 있다. 이제 이들 구성요소에 대해 보다 상세히 기재될 것이다.
모션 계획
도 14는 예시적인 반구형 슈퍼차트를 나타내고 있다. 차트(대상)에 대한 카메라의 각각의 위치는, 카메라 시야의 전부 또는 일부를 채울 수 있는 대응의 2D 차트(대상)를 생성한다. 상대위치를 여러 번 변경함으로써, 차트(대상) 특징의 복합 "슈퍼차트"가 생성될 수 있다. 주어진 공칭 카메라 파라미터 세트에 대해, 교정 데이터 수집 시컨스는 적절한 슈퍼차트 기하학을 효율적으로 생성하는 모션 계획을 계산하기 위해, 전처리 알고리즘(pre-processing algorithm)으로 시뮬레이션될 수 있다. 모션 계획 알고리즘은 CMM 검사 결과, 카메라 자세, 차트(대상) 위치, 공칭 마커(SMR) 위치, 추적기 위치, 및 추정된 카메라 파라미터와 같은 입력을 포함할 수 있다. 모션 계획 단계(동작)의 결과는 전체 좌표계에서 각각의 교정 특징의 공칭 3D 위치일 수 있다. 모션 계획 단계(동작)에 의해 생성된 특징의 3D 분포의 예는 넓은 시야 카메라 교정에 사용될 수 있는 반구형 슈퍼차트의 아래 도면에 도시되어 있다.
도 15a는 예시적인 3-레이어 반구형 슈퍼차트를 나타내고 있다. 도 15b는 2D 이미지 공간에 투영된 도 15a의 예시적인 3-레이어 반구형 슈퍼차트를 나타내고 있다. 슈퍼차트는 초점 교정 및 개선된 외부 교정을 위한 데이터를 제공하기 위해 다중 레이어를 가질 수 있다. 카메라 모델 투영 알고리즘에 의해, 모션 플래너(motion planner)로부터의 3D 특징을 2D 상점으로 변환하여, 후보 카메라의 이미지 센서의 대상 범위를 추정할 수 있다. 아래의 도면에서, 3-레이어 반구형 슈퍼차트의 15,230개 차트(대상) 특징은, 카메라 시야의 전체 범위를 나타내기 위해 3D 개체 공간(좌측, 즉 도 15a)과 2D 이미지 공간(우측, 즉 도 15b) 모두에 투영되어 표시된다.
도 16a는 다중-레이어 반구형 슈퍼차트의 또 다른 예를 나타내고 있다. 도 16b는 2D 이미지 공간에 투영된 도 16a의 예시적인 다중-레이어 반구형 슈퍼차트를 나타내고 있다. 일부 예(예를 들어, 실시예)에 있어서, 카메라 시야 및 대상 깊이의 적용 범위를 효율적으로 제공하기 위해, 곡선 세그먼트와 평면 세그먼트 모두에 의해 희박한 다중-레이어 슈퍼차트가 생성된다. 예를 들어 아래의 도면에는, 이미지 프레임에 12,344개의 차트(대상) 특징이 있다.
데이터 캡처
도 17은 카메라 모델을 생성하기 위한 예시적인 시스템의 사진을 나타내고 있다. 실제 시스템(1700)의 이미지가 예시되어 있다. 비교적 전형적인 데이터 캡처 구성이 아래 도면에 도시되어 있다. 테스트 차트(대상)(1702)는 자체-식별 2진 코드(1704)를 사용하며, 그리고 LCD 패널(1706)에 의해 백라이트되고, 3개의 SMRs(1710)이 있는 슬라이딩 플랫폼(1708)에 장착된다. 백라이트 색상은 컬러, 흑백, 및 적외선 카메라를 테스트하기 위해 구성될 수 있다. 테스트 중인 카메라(1712)는 또한 3개의 SMRs(1714)과 함께 유니버셜 로봇(UR5)(1716)에 장착된다. 상기 테스트 중인 카메라 어셈블리(카메라 어셈블리)(1718)는 롤링 플랫폼(도시되지 않음)에 장착된다. 모든 SMRs(1710, 1714)의 상대위치는 파로 밴티지 레이저 추적기(FARO Vantage Laser Tracker)(1720)를 사용하여 모니터링된다.
도 18은 제1, 제2, 및 제3 교정 어셈블리 마커 및 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치가 추적기에 의해 어떻게 결정될 수 있는지의 예를 나타내고 있다. 차트(대상)(1802)와 카메라(1804) 사이의 상대위치는, 로봇 컨트롤러에 의해 설정되어 확인된다. 일 예(예를 들어, 실시예)에 있어서, OMM 데이터 세트(1810)와 레이저 추적기 데이터 세트(1820) 사이, 그리고 CMM 데이터 세트(1830)와 레이저 추적기 데이터(1820) 사이의 가장 적절한 강체 변환(rigid body transformation)(병진 및 회전)은, 캅슈 알고리즘(Kabsch algorithm)을 사용하여 발견된다. 이는 데이터를 확장하지 않고서도, 2개의 개별 데이터 세트 사이의 오차를 최소화한다.
이미지 프로세싱
[0100]
도 19는 카메라 모델 파라미터를 생성하는 예시적인 방법의 흐름도를 나타내고 있다. 이미지 프로세싱의 예시적인 방법(1900)이 도시되어 있다. 일부 예(예를 들어, 실시예)에 있어서, 카메라 모델 파라미터는 아래 도면에 도시된 바와 같이 생성된다. 데이터 프로세싱은 초기에는 데이터 캡처 중 촬영된 개별적인 카메라 프레임의 이미지 프로세싱(동작 1902)과 3D 추적기 데이터의 재패키징(동작 1904) 사이에서 분할될 수 있다. 카메라로부터의 이미지 프로세싱(동작 1906)은, 예를 들어 개체 검출, 평활화, 엣지 강화, 형태학적 연산 등을 포함할 수 있다. 추적기 측정에 기초한 차트(대상) 특징의 3D 좌표는 컴파일되고 그리고 공통의 전체 좌표계로 변환된다(동작 1908). 그 후, 2개의 데이터 세트는 조합되어, 카메라를 위한 교정을 생성할 수 있다(동작 1910). 카메라 교정은 교정된 카메라 모델 파라미터를 출력하는 데 사용될 수 있다(동작 1912).
도 20은 카메라 모델 파라미터를 생성하는 또 다른 예시적인 방법의 흐름도를 나타내고 있다. 자체-식별 2진 코드를 구비한 체크보드 차트의 예에 대해, 교정 프로세스(2000)가 아래 도면에 도시되어 있다. 슈퍼차트 이미지(2002)는 결과를 개선하기 위해 필터링될 수 있다(동작 2004). 먼저 체크보드 차트의 개별 코너가 추출되고, 그리고 라벨링된다(동작 2006). 체크보드 차트 상에서 CALTag 자체-식별 패턴을 사용하는 차트의 예에 대해, 아래 도면에 도시된 바와 같이 해리스 코너 파인더 새들 지점 알고리즘(Harris Corner Finder Saddle Point algorithm)과 같은 알고리즘을 사용하여, 체커들 사이의 코너가 ~0.1픽셀까지 정확하게 추출될 수 있다(동작 2006). 그 후, CALTag가 식별될 수 있다(동작 2008). 슈퍼차트 3D 좌표(2010)는 3D 데이터를 ~40 ㎛의 정확도로 라벨링하는 데 사용될 수 있다(동작 2012). 이전에 식별된 코너는 3D 좌표와 페어링을 이룰 수 있다(동작 2014). 그 후, 카메라 모델(2016)은 카메라 교정 라이브러리를 생성하는 데 사용될 수 있다(동작 2018). 그 후, 라이브러리는 비선형적으로 최적화될 수 있다(동작 2020). 교정된 카메라 모델 파라미터는 출력된다(동작 2022).
도 21은 자체-식별 2진 코드가 검출될 수 있는 방법의 예를 나타내고 있다. 추적기 특징에 매립된 패턴이 독특하게 식별되고 그리고 CALTag 마킹에 기초하여 할당되는 방법의 예가 아래에 도시되어 있다. CALTag는 16개의 정사각형으로 구성된 그리드로 분할될 수 있으며, 각각의 정사각형은 비트를 나타내고 그리고 0 또는 1의 값을 갖는다. 그 후 그리드의 값은 좌측 상단에서 시작하여 다음 행(row)을 시작하기 전에 행을 따라 2진수로 계속 판독될 수 있다. 상기 2진수는 10진수로 변환될 수 있다.
도 22a는 교정 대상 특징을 식별하는 예시적인 방법의 흐름도를 나타내고 있다. 도 22b는 식별된 특징을 갖는 예시적인 교정 대상을 나타내고 있다. 코너 특징을 3D 공간의 연관된 위치와 매칭시키는 방법(2200)이 도시되어 있다. 먼저, 이전 단락에서 설명한 바와 같이, CALTag의 10진수 ID가 생성될 수 있다(동작 2210). 10진수 ID를 차트 코너 인덱스로 변환하기 위해, 조회 테이블이 사용될 수 있다(동작 2220). 주어진 이미지에 대해, 각각의 코너 특징(2202)은 교정 프로세스를 통한 추적을 위해 코너 인덱스(2204)가 할당된다(동작 2230). 예를 들어, 아래의 이미지는 특징이 식별되고 그리고 행 및 열 인덱스 레이블을 할당하는 방법을 나타내고 있다. 이미지 프로세싱 오차로 인한 예상 인덱싱을 따르지 않는 이상값(outlier)을 거부하기 위해, 이미지 프로세싱 단계(동작) 중에는 추가적인 단계(동작)가 취해질 수 있다.
이미지 프로세싱의 최종 구성요소는 추적기 및 OMM 데이터로부터 결정되는 바와 같이, 이미지 공간의 이러한 라벨링된 특징들을 3D 개체 공간의 대응 위치와 매칭시키는 단계를 포함할 수 있다(동작 2240). 일단 개체와 이미지 공간 사이의 지점 대응 관계가 알려졌다면, 이들 둘 사이의 관계를 특성화하기 위해, 파라메타 모델이 풀려질 수 있다. 도 23은 카메라의 간단한 핀홀 모델의 예를 나타내고 있다. 이러한 모델은 아래 도면에 도시된 간단한 핀홀 카메라에 의해 묘사될 수 있으며, 여기서 개체 공간 지점은 초점 거리를 통해 상점으로 조정된다.
견고한 카메라 모델은 개체와 상점을 정확하게 연관시키는 데 사용될 수 있으며, 그리고 내부 및 외부 파라미터 모두에 대한 항을 포함할 수 있다. 내부 파라미터는 초점 거리, 주점, 및 왜곡과 같은 카메라 좌표와 이미지 프레임의 픽셀 좌표 사이의 매핑을 허용하는 항을 포함할 수 있다. 외부 파라미터는 회전 및 병진과 같은 월드 프레임(world frame)에 대해 카메라의 장소 및 배향의 정의를 허용하는 항을 포함할 수 있다.
아래의 표 1은 통상적인 카메라 모델에 존재할 수 있는 항의 수를 요약하고 있다. 표 1에서 볼 수 있듯이, 외부 파라미터는 카메라 모델의 3개의 회전 항 및 3개의 변환 항을 포함한다. 내부 파라미터는 2개의 주점 항, 2개의 초점 거리 항, 5개의 방사형 계수, 7개의 접선 계수, 및 7개의 비대칭 계수를 포함한다. 이들 항 중, 회전, 병진, 주점, 초점 거리, 방사형 계수는 방사상 대칭인 카메라 모델에 포함된다. 이와는 달리, 전체 카메라 모델에는 접선 계수 및 비대칭 계수를 포함하는 29개의 항이 모두 포함된다.

카메라 모델 변형예


파라미터의 타입


항의 타입


항의 개수

대칭 방사형 카메라 모델의 부분
(15개 항)

전체 카메라 모델의 부분
(29개 항)


외부 파라미터

회전

3



병진

3









내부 파라미터

주점

2



초점 거리

2



방사 계수

5



접선 계수

7

아니오


비대칭 계수

7

아니오

많은 이미징 카메라는 화각(field angle)과 이미지 공간 좌표 사이에 완벽한 선형 관계를 갖고 있지 않으며, 그리고 이러한 분산은 다중 다항식으로 모델링될 수 있다. 칸날라 방사형 다항식((Kannala radial polynomial)은 아래와 같다. 이는 대칭 방사형 왜곡을 모델링할 수 있다.
또한, 매핑에 대한 추가 수정은 아래에 표시된 칸날라 전체 카메라 모델에 의해 제시된 비대칭 방사형 및 접선 항과 같은 추가 다항식으로 달성될 수 있다.
카메라 모델의 항에 대한 폐쇄형 솔루션이 없기 때문에, 항이 옵티마이저(optimizer)에서 반복될 수 있도록, 개체 공간과 이미지 공간 사이의 재투영 오차를 기재하기 위해 메리트 함수(merit function)가 사용될 수 있다. 최소화 문제는 최적의 왜곡 계수, 초점 거리, 및 주점을 결정하기 위해, 비선형 옵티마이저를 통과할 수 있다. 예를 들어 레벤버그-마쿼트 알고리즘(Levenberg-Marquardt algorithm)을 사용할 수 있다.
위 방정식에서 I 는 코너(예를 들어, 이미지)의 알려진 픽셀 좌표이고; 는 코너의 추정된 픽셀 좌표이며; PP 는 주점, 또는 카메라 평면의 중심이고; EFL 은 유효 초점 거리, 또는 핀홀로부터 이미지 프레임까지의 거리이며; kn 은 방사형 왜곡 다항식 계수이고; mn,jn 은 접선 왜곡 다항식 계수이고; in,ln 은 비대칭 방사형 왜곡 다항식 계수이고; Rcw 는 카메라 기준 프레임의 월드 기준 프레임의 회전 행렬이고; tcw 는 카메라 기준 프레임에 대한 월드 기준 프레임의 변환 벡터이고; X=(x,y,z) 는 데이텀 기준 프레임의 3D 공간의 좌표를 나타내며; 그리고 = RcwX+tcw 이다
일단 카메라 모델이 개발되었다면, 이는 이미지 공간을 개체 공간으로 변환하도록 반전될 수 있다. 역투영 모델은 이미지 공간 재투영 오차가 물리적 거리 오차로 인해 월드 프레임에 어떻게 반영되는지 이해하는 데 유용할 수 있다.
본 발명에 제시된 교정 데이터 캡처에 대한 접근 방식은 최종 단계(동작)에서 재투영 오차를 최소화하는 데 사용되는 특정 카메라 모델 또는 옵티마이저에 의해 예측되지 않음을 인식해야 한다. 이런 접근 방식은 브라운-콘라디(Brown-Conrady) 및 헤이킬라 카메라 모델(Heikkila camera model)을 포함한 많은 카메라 모델을 통한 솔루션에 유연할 수 있으며, 그리고 다양한 카메라 구성이 상이한 모델에 가장 적합할 수 있다.
교정 결과 및 감사
측정된 지점과 상기 교정된 카메라 모델이 예측하는 위치 사이의 오차는, 이미지 공간과 개체 공간 모두에서 측정될 수 있다. 교정이 잘된 카메라는 측정된 지점의 위치를 정확하게 예측한다.
도 24a는 예시적인 카메라 모델의 이미지-공간 재투영 오차를 나타내고 있다. 도 24b는 도 24a와 동일한 예시적인 카메라 모델의 개체-공간 재투영 오차를 나타내고 있다. 일 예에 있어서, 전술한 2.8 ㎜ 초점 거리 렌즈를 구비한 18 메가픽셀 카메라는, 아래 도표에 표시된 바와 같이 0.1 픽셀 미만의 평균 이미지 공간 오차 및 0.1 ㎜ 미만의 평균 개체 공간 오차로 교정되었다. 이런 예에서는, 2개의 레이어를 구비한 반구형 슈퍼차트가 생성되었다. 도 24a에 도시된 바와 같이, 이미지-공간 재투영 오차는 대부분 0.1 픽셀 미만이었으며, 오직 이미지 공간 엣지 근처의 몇몇 위치만(주로 좌측 아래 및 오른쪽 아래) 0.3 픽셀 이상의 오차를 가졌다. 도 24b에 도시된 바와 같이, 동일한 샘플의 개체-공간 재투영 오차는 대부분 0.1 ㎜ 미만이었으며, 각각의 개별 반구형 레이어의, 특히 내부 반구형 레이어의 엣지 근처의 몇몇 위치는 0.1 ㎜보다 큰 재투영 오차를 가졌다.
이들 결과는 아래의 표 2에 공개된 결과와 비교될 수 있다. 표 2는 본 기술분야에 일반적으로 알려져 있는 카메라 모델을 생성하는 다양한 방법의 픽셀 단위의 이미지 공간 정확도(이미지 공간 오차) 및 미크론 단위의 이미지 정확도(개체 공간 오차)를 포함한다. 표 2는 또한 해상도를 다양한 방법에 의해 사용되는 이미지 공간의 픽셀로 나열하고 있다. 표 2에서 알 수 있듯이, 본 시스템 및 방법["쿼터스 유연한 카메라 교정(Quartus Flexible Camera Calibration")]은, 임의의 나열된 방법보다 더 낮은 이미지 공간 오차 및 더 낮은 개체 공간 오차를 제공한다. 또한, 또 다른 방법의 최대 이미지 해상도는 1024픽셀 x 768 픽셀인 반면에, 본 시스템 및 방법은 4912픽셀 x 3684 픽셀의 이미지 해상도를 가지면서 더 낮은 오차를 달성한다.

툴/디바이스/방법

이미지 공간 정밀도(픽셀)

이미지 정밀도(미크론)

해상도(픽셀)


마트랩 카메라 교정예
[1]


0.180

칸날라 종이(1)[2]

0.089

640×480

칸날라 종이(2)[2]

0.137

1024×768

브라운-콘라디 종이 [3]


3.90

190×215

장 종이 [4]

0.335


640×480

쿼터스 유연
카메라 교정

0.090


0.09

4912×3684
표 2에 사용된 괄호 안의 숫자는 해당 행의 데이터가 얻어진 기준을 나타낸다. [1]은 "단일 카메라 교정의 정밀도 평가"에 기준한다. 단일 카메라 교정의 정확성 평가-마트랩 앤 시뮤링크(MATLAB & Simulink). [2]는 칸날라, 제이.(Kannala, J.) 및 브랜트, 에스. 에스.(Brandt, S. S.)(1995)를 기준으로 한다. 통상적인 광각 렌즈와 어안 렌즈에 대한 일반적인 카메라 모델 및 교정 방법. [3]은 브라운, 디.시(Brown, D.C.)(1966)를 기준으로 한다. 렌즈의 중심 왜곡. [4]는 장, 제트.(Zhang, Z.)(1999)를 기준으로 한다. 알려지지 않은 배향으로부터 평면을 봄으로써 유연한 카메라 교정. 상기 참고문헌 각각의 전체 내용은 여기에 참조 인용되었다.
도 25는 감사 데이터 세트를 생성하는 예시적인 방법의 흐름도를 나타내고 있다. 감사 데이터 세트를 생성하기 위한 예시적인 방법(2500)이 도시되어 있다. 일부 예(예를 들어, 실시예)에 있어서, 본 발명의 카메라 교정 스테이션(카메라 모델을 생성하기 위한 시스템)은 감사 데이터 세트를 생성하는 데 사용될 수 있다. 감사 데이터 세트는 개체 지점의 추적능은 동일하지만 그러나 교정을 수행하는 데 사용되는 개체 지점과는 충분히 상이한 이미지의 세트일 수 있다. 감사는 교정된 카메라가 임의 장소(교정 지점 제외)에 있는 개체의 장소를 정확하게 예측하는지의 여부를 확인한다. 이는 품질 교정을 보장할 수 있으며, 예를 들어 옵티마이저가 극소값(local minimum)에 머물지 않았는지를 잠재적으로 확인할 수 있다. 교정 데이터(2502)는 최적화될 수 있다(동작 2504). 그 후, 최적화된 데이터는 카메라 파라미터를 생성하는 데 사용될 수 있다(동작 2506). 생성된 카메라 파라미터는 감사 재투영 오차를 출력하기 위해 감사 데이터(2508)와 함께 사용될 수 있다(동작 2510).
도 26은 감사 모델을 사용하여 개체 공간 오차 및 이미지 공간 오차를 결정하는 예시적인 방법의 흐름도를 나타내고 있다. 일부 예(예를 들어, 실시예)에 따라, 감사는 거리 단위의 개체 공간 오차와 픽셀 단위의 이미지 공간 오차를 비교하는 데 사용될 수 있다. 예를 들어, 감사 이미지-공간 지점(2602)은 카메라 모델(2604) 내에 공급되어, 개체 공간에서 후방-투영된 지점(2606)을 생성할 수 있다. 후방-투영된 지점(2606)은 카메라 모델(2604)의 개체 공간 오차(2610)를 결정하기 위해, 감사 개체-공간 지점(2608)과 비교될 수 있다. 감사 개체-공간 지점(2608)은 이미지 공간에 전방-투영된 지점(2612)을 생성하기 위해, 카메라 모델(2604)내에 공급될 수도 있다. 전방-투영된 지점(2612)은 감사 이미지-공간 지점(2602)과 비교되어, 카메라 모델(2604)의 이미지 공간 오차(2614)를 결정할 수 있다.
도 27a는 감사 모델을 사용함으로써 결정된 바와 같은 예시적인 카메라 모델의 개체-공간 재투영 오차를 나타내고 있다. 도 27b는 도 27a와 동일한 감사 모델을 사용함으로써 결정된 바와 같이, 도 27a와 동일한 예시적인 카메라 모델의 이미지-공간 재투영 오차를 나타내고 있다. 아래에 기재된 일 예에 있어서, 이미지-공간 재투영 오차는 약 0.3 픽셀이었으며, 개체-공간 재투영 오차는 약 0.5 ㎜이었다.
본 카메라 모델은 본 기술분야에 알려진 바와 같은 임의의 방식으로 사용될 수 있음을 인식해야 할 것이다. 예를 들어, 여기에 기재되는 바와 같이 교정된 카메라는 시각적 서보 작업(visual servoing task)에서 로봇 시스템의 자세를 정확하게 위치 파악하는 데 사용될 수 있다. 이는 이러한 시스템이 높은 정확도로 환경과 상호 작용하는 것을 허용한다. 다른 많은 응용 프로그램이 존재한다.
여기에 기재된 바와 같이 본 발명의 양태의 임의의 개별적인 특징/예는 임의의 적절한 조합으로 함께 구현될 수 있으며, 그리고 이들 양태 중 임의의 하나 또는 그 이상으로부터의 임의의 특징/예는 여기에 기재된 이점을 달성하기 위해 임의의 적절한 조합으로 여기에 기재된 다른 양태(들)의 임의의 특징과 함께 구현되는 것을 인식해야 한다.
다양한 예시적인 예가 위에 기재되었지만, 본 발명으로부터의 일탈 없이 다양한 변경과 수정이 이루어질 수 있음이 본 기술분야의 숙련자에게 명백할 것이다. 첨부된 청구범위는 본 발명의 진정한 정신과 범위 내에 속하는 그러한 모든 변경 및 수정을 포괄하도록 의도되었다.

Claims (47)

  1. 카메라 모델을 생성하는 방법으로서:
    (a) 소정의 일련의 자세들을 통해, 카메라 어셈블리에 대해 교정 어셈블리를 이동시키거나 또는 상기 교정 어셈블리에 대해 상기 카메라 어셈블리를 이동시키기 위해, 로봇 어셈블리를 사용하는 단계,
    상기 교정 어셈블리는:
    교정 대상; 및
    개별 위치에서 상기 교정 대상에 결합되는 제1, 제2, 제3 교정 어셈블리 마커를 포함하고,
    상기 카메라 어셈블리는:
    장착부;
    개별 위치에서 상기 장착부에 결합되며 그리고 시야(FOV)를 갖는 카메라; 및
    개별 위치에서 상기 장착부에 결합되는 제1, 제2, 및 제3 카메라 어셈블리 마커를 포함하고,
    상기 소정의 일련의 자세들은, 함께, 상기 교정 대상이 상기 카메라의 상기 FOV 의 적어도 일부를 통과하게 하며;
    (b) 상기 소정의 일련의 자세들 중 각각의 자세에서, 상기 교정 대상의 개별 이미지를 생성하기 위해 상기 카메라를 사용하는 단계;
    (c) 상기 소정의 일련의 자세들 중 각각의 자세에서, 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 개별 위치 및 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 추적기를 사용하는 단계;
    (d) 각각의 개별 이미지에 대해, 3차원 개체 공간 상에, (i) 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 저장된 좌표, (ⅱ) 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 저장된 좌표, (ⅲ) 그 이미지에 대해, 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치, (ⅳ) 그 이미지에 대해, 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치, 및 (v) 상기 개별 이미지 내의 상기 교정 대상의 특징을 매핑하는 변환 함수를 생성하는 단계; 및
    (e) 상기 카메라의 외부 파라미터 및 내부 파라미터의 모델을 생성하기 위해, 상기 개별 이미지에 대한 상기 변환 함수를 사용하는 단계를 포함하는, 카메라 모델 생성 방법.
  2. 청구항 1에 있어서,
    상기 교정 어셈블리는 상기 교정 대상에 결합되는 제4 교정 어셈블리 마커를 더 포함하는, 방법.
  3. 청구항 2에 있어서,
    상기 단계 (c)는:
    상기 제1, 제2, 제3, 및 제4 교정 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 상기 소정의 일련의 자세들 중 각각의 자세에서, 추적기를 사용하는 단계를 포함하는, 방법.
  4. 청구항 1 내지 청구항 3 중 어느 한 항에 있어서,
    상기 카메라 어셈블리는 상기 장착부에 결합되는 제4 카메라 어셈블리 마커를 더 포함하는, 방법.
  5. 청구항 4에 있어서,
    상기 단계 (c)는:
    상기 제1, 제2, 제3, 및 제4 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하기 위해, 상기 소정의 일련의 자세들 중 각각의 자세에서, 추적기를 사용하는 단계를 포함하는, 방법.
  6. 청구항 1 내지 청구항 5 중 어느 한 항에 있어서,
    상기 교정 어셈블리 마커는 구형으로 장착된 역반사체(SMRs)를 각각 포함하는, 방법.
  7. 청구항 1 내지 청구항 6 중 어느 한 항에 있어서,
    상기 카메라 어셈블리 마커는 구형으로 장착된 역반사체(SMRs)를 각각 포함하는, 방법.
  8. 청구항 1 내지 청구항 7 중 어느 한 항에 있어서,
    상기 장착부는 핀-다이아몬드 핀 장착부를 포함하는, 방법.
  9. 청구항 1 내지 청구항 8 중 어느 한 항에 있어서,
    상기 추적기는 레이저 추적기를 포함하는, 방법.
  10. 청구항 1 내지 청구항 9 중 어느 한 항에 있어서,
    상기 방법은:
    (f) 상기 카메라 장착 데이텀 프레임에서 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 상기 좌표를 결정하는 단계를 더 포함하는, 방법.
  11. 청구항 10에 있어서,
    상기 단계 (f)는 좌표 측정 기계(CMM)를 이용하여 수행되는, 방법.
  12. 청구항 1 내지 청구항 11 중 어느 한 항에 있어서,
    상기 교정 대상은 직선형의 체커보드 차트를 포함하는, 방법.
  13. 청구항 1 내지 청구항 12 중 어느 한 항에 있어서,
    상기 교정 대상은 자체-식별 2진 코드를 포함하는, 방법.
  14. 청구항 13에 있어서,
    상기 자체-식별 2진 코드는 CALTag 또는 ARTag를 포함하는, 방법.
  15. 청구항 1 내지 청구항 14 중 어느 한 항에 있어서,
    상기 방법은:
    (g) 상기 제1, 제2, 및 제3 교정 어셈블리 마커에 대한 상기 교정 대상의 특징의 위치를 결정하는 단계를 더 포함하는, 방법.
  16. 청구항 15에 있어서,
    상기 단계 (g)는 광학 측정 기계(OMM)를 사용하여 수행되는, 방법.
  17. 청구항 1 내지 청구항 16 중 어느 한 항에 있어서,
    상기 소정의 일련의 자세들은, 함께, 상기 교정 대상이 슈퍼차트를 생성하게 하는, 방법.
  18. 청구항 17에 있어서,
    상기 슈퍼차트는 반구형 형상을 포함하는, 방법.
  19. 청구항 17 또는 청구항 18에 있어서,
    상기 슈퍼차트는 다중 레이어를 포함하는, 방법.
  20. 청구항 1 내지 청구항 19 중 어느 한 항에 있어서,
    상기 방법은:
    (h) 각각의 개별 이미지에 대해, 단계 (d) 전에 상기 이미지를 프로세싱하는 단계를 더 포함하는, 방법.
  21. 청구항 20에 있어서,
    상기 이미지의 프로세싱 단계는 개체 검출, 평활화, 엣지 강화, 및 형태학적 연산 중 적어도 하나를 포함하는, 방법.
  22. 청구항 1 내지 청구항 21 중 어느 한 항에 있어서,
    상기 방법은:
    (i) 상기 카메라의 외부 파라미터 및 내부 파라미터의 감사 데이터 세트를 생성하기 위해, 상이한 소정의 일련의 자세들로 단계 (a) 내지 단계 (d)를 반복하는 단계를 더 포함하는, 방법.
  23. 청구항 22에 있어서,
    상기 방법은:
    (j) 상기 카메라 모델의 이미지 공간 오차 및 개체 공간 오차를 결정하기 위해, 상기 감사 데이터 세트로부터 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치; 상기 감사 데이터 세트로부터 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치; 및 카메라 모델을 사용하는 단계를 더 포함하는, 방법.
  24. 카메라 모델을 생성하기 위한 시스템으로서:
    (a) 교정 어셈블리:
    상기 교정 어셈블리는
    교정 대상; 및
    개별 위치에서 상기 교정 대상에 결합되는 제1, 제2, 및 제3 교정 어셈블리 마커를 포함하고,
    (b) 카메라 어셈블리:
    상기 카메라 어셈블리는
    장착부;
    개별 위치에서 상기 장착부에 결합되고 그리고 시야(FOV)를 갖는 카메라; 및
    개별 위치에서 상기 장착부에 결합되는 제1, 제2, 및 제3 카메라 어셈블리 마커를 포함하고,
    (c) 상기 교정 어셈블리와 상기 카메라 어셈블리 중 적어도 하나에 결합되는 로봇 어셈블리;
    (d) 추적기; 및
    (e) 상기 카메라, 상기 로봇 어셈블리, 및 상기 추적기에 결합되고, 적어도 하나의 프로세서 및 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체를 포함하는, 컴퓨터 시스템을 포함하며,
    상기 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 서로에 대해 그리고 상기 교정 대상에 대해, 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 좌표를 저장하고;
    상기 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 서로에 대해 그리고 상기 카메라에 대해, 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 좌표를 저장하고;
    상기 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는 상기 프로세서가, 이하에 기재되는 단계, 즉
    상기 교정 대상이 상기 카메라의 상기 FOV 의 적어도 일부를 통과하도록 함께 하는 소정의 일련의 자세들을 통해, 상기 카메라 어셈블리에 대해 상기 교정 어셈블리를 이동시키거나 또는 상기 교정 어셈블리에 대해 상기 카메라 어셈블리를 이동시키도록, 상기 로봇 어셈블리에 명령하는 단계;
    상기 소정의 일련의 자세들 중 각각의 자세에서, 상기 교정 대상의 개별 이미지를 생성하도록, 상기 카메라에 명령하는 단계;
    상기 소정의 일련의 자세들 중 각각의 자세에서, 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 개별 위치 및 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하도록, 상기 추적기에 명령하는 단계;
    각각의 개별 이미지에 대해, 3차원 개체 공간 상에, (i) 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 저장된 좌표, (ⅱ) 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 저장된 좌표; (ⅲ) 그 이미지에 대해, 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 개별 위치, (ⅳ) 그 이미지에 대해, 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 개별 위치, 및 (v) 상기 개별 이미지 내의 상기 교정 대상의 특징을 매핑하는 변환 함수를 생성하는 단계; 및
    상기 카메라의 외부 파라미터 및 내부 파라미터의 모델을 생성하기 위해, 상기 개별 이미지에 대한 상기 변환 함수를 사용하는 단계를
    수행하게 하는 명령을 더 저장하는, 카메라 모델 생성 시스템.
  25. 청구항 24에 있어서,
    상기 교정 어셈블리는 상기 교정 대상에 결합되는 제4 교정 어셈블리 마커를 더 포함하는, 시스템.
  26. 청구항 25에 있어서,
    상기 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 상기 제1, 제2, 및 제3 교정 어셈블리 마커에 대해 그리고 상기 교정 대상에 대해, 상기 제4 교정 어셈블리 마커의 좌표를 저장하는, 시스템.
  27. 청구항 25 또는 청구항 26에 있어서,
    상기 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 상기 제4 교정 어셈블리 마커의 좌표를 저장하고; 및
    상기 명령은
    상기 소정의 일련의 자세들 중 각각의 자세에서, 상기 제4 교정 어셈블리 마커의 공간에서의 개별 위치를 결정하도록, 상기 추적기에 명령하는 단계, 및
    각각의 개별 이미지에 대해, 상기 제4 교정 어셈블리 마커의 상기 저장된 좌표를 3차원 개체 공간 상에 매핑하는 변환 함수를 생성하는 단계를 더 포함하는, 시스템.
  28. 청구항 24 내지 청구항 27 중 어느 한 항에 있어서,
    상기 카메라 어셈블리는 상기 장착부에 결합되는 제4 카메라 어셈블리 마커를 더 포함하는, 시스템.
  29. 청구항 28에 있어서,
    상기 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 상기 제1, 제2, 및 제3 카메라 어셈블리 마커에 대해 그리고 상기 카메라에 대해, 상기 제4 카메라 어셈블리 마커의 좌표를 저장하는, 시스템.
  30. 청구항 28 또는 청구항 29에 있어서,
    상기 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 상기 제4 카메라 어셈블리 마커의 좌표를 저장하고; 및
    상기 명령은
    소정의 일련의 자세들 중 각각의 자세에서, 상기 제4 카메라 어셈블리 마커의 공간에서의 개별 위치를 결정하도록, 상기 추적기에 명령하는 단계,
    각각의 개별 이미지에 대해, 3차원 개체 공간 상에 상기 제4 카메라 어셈블리 마커의 상기 저장된 좌표를 매핑하는 변환 함수를 생성하는 단계, 및
    각각의 개별 이미지에 대해, 3차원 개체 공간 상에 상기 제4 카메라 어셈블리 마커의 상기 결정된 좌표를 매핑하는 변환 함수를 생성하는 단계를 더 포함하는, 시스템.
  31. 청구항 24 내지 청구항 30 중 어느 한 항에 있어서,
    상기 교정 어셈블리 마커는 구형으로 장착된 역반사체(SMRs)를 각각 포함하는, 시스템.
  32. 청구항 24 내지 청구항 31 중 어느 한 항에 있어서,
    상기 카메라 어셈블리 마커는 구형으로 장착된 역반사체(SMRs)를 각각 포함하는, 시스템.
  33. 청구항 24 내지 청구항 32 중 어느 한 항에 있어서,
    상기 장착부는 핀-다이아몬드 핀 장착부를 포함하는, 시스템.
  34. 청구항 24 내지 청구항 33 중 어느 한 항에 있어서,
    상기 추적기는 레이저 추적기를 포함하는, 시스템.
  35. 청구항 24 내지 청구항 34 중 어느 한 항에 있어서,
    서로에 대한 그리고 상기 카메라에 대한 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 상기 저장된 좌표는, 좌표 측정 기계(CMM)를 사용하여 결정되는, 시스템.
  36. 청구항 24 내지 청구항 35 중 어느 한 항에 있어서,
    상기 교정 대상은 직선형의 체커보드 차트를 포함하는, 시스템.
  37. 청구항 24 내지 청구항 36 중 어느 한 항에 있어서,
    상기 교정 대상은 자체-식별 2진 코드를 포함하는, 시스템.
  38. 청구항 37에 있어서,
    상기 자체-식별 2진 코드는 CALTag 또는 ARTag를 포함하는, 시스템.
  39. 청구항 24 내지 청구항 38 중 어느 한 항에 있어서,
    상기 적어도 하나의 비휘발성 컴퓨터-판독 가능 매체는, 상기 제1, 제2, 및 제3 교정 어셈블리 마커에 대한 상기 교정 대상의 특징의 좌표를 저장하는, 시스템.
  40. 청구항 39항에 있어서,
    상기 제1, 제2, 및 제3 교정 어셈블리 마커에 대한 상기 교정 대상의 특징의 상기 저장된 좌표는, 광학 측정 기계(OMM)를 사용하여 결정되는, 시스템.
  41. 청구항 24 내지 청구항 40 중 어느 한 항에 있어서,
    상기 소정의 일련의 자세들은, 함께, 상기 교정 대상이 슈퍼차트를 생성하게 하는, 시스템.
  42. 청구항 41에 있어서,
    상기 슈퍼차트는 반구형 형상을 포함하는, 시스템.
  43. 청구항 41 또는 청구항 42에 있어서,
    상기 슈퍼차트는 다중 레이어를 포함하는, 시스템.
  44. 청구항 24 내지 청구항 43 중 어느 한 항에 있어서,
    상기 명령은:
    각각의 개별 이미지에 대해, 변환 함수를 생성하기 전에 이미지를 프로세싱하는 단계를 더 포함하는, 시스템.
  45. 청구항 44에 있어서,
    상기 이미지의 상기 프로세싱 단계는 개체 검출, 평활화, 엣지 강화, 및 형태학적 연산 중 적어도 하나를 포함하는, 시스템.
  46. 청구항 24 내지 청구항 45 중 어느 한 항에 있어서,
    상기 명령은, 감사 데이터 세트를 생성하기 위해, 상이한 소정의 일련의 자세들로 상기 명령의 동작을 반복하는 단계를 더 포함하는, 시스템.
  47. 청구항 46에 있어서,
    상기 명령은 상기 카메라 모델의 상기 이미지 공간 오차 및 상기 개체 공간 오차를 결정하기 위해, 상기 감사 데이터 세트로부터 상기 제1, 제2, 및 제3 교정 어셈블리 마커의 공간에서의 결정된 위치; 상기 감사 데이터 세트로부터 상기 제1, 제2, 및 제3 카메라 어셈블리 마커의 공간에서의 결정된 위치; 및 카메라 모델을 사용하는 단계를 더 포함하는, 시스템.
KR1020247008298A 2021-08-29 2022-08-26 카메라 교정을 위한 카메라 모델을 생성하는 방법 및 시스템 KR20240056516A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163260690P 2021-08-29 2021-08-29
US63/260,690 2021-08-29
PCT/US2022/041751 WO2023034150A1 (en) 2021-08-29 2022-08-26 Methods and systems of generating camera models for camera calibration

Publications (1)

Publication Number Publication Date
KR20240056516A true KR20240056516A (ko) 2024-04-30

Family

ID=83447735

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247008298A KR20240056516A (ko) 2021-08-29 2022-08-26 카메라 교정을 위한 카메라 모델을 생성하는 방법 및 시스템

Country Status (7)

Country Link
US (1) US20230070281A1 (ko)
EP (1) EP4396779A1 (ko)
KR (1) KR20240056516A (ko)
CN (1) CN118119972A (ko)
AU (1) AU2022337968A1 (ko)
CA (1) CA3230374A1 (ko)
WO (1) WO2023034150A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116038719B (zh) * 2023-04-03 2023-07-18 广东工业大学 一种机械臂末端位姿跟踪测量方法、装置及设备

Also Published As

Publication number Publication date
WO2023034150A1 (en) 2023-03-09
US20230070281A1 (en) 2023-03-09
CN118119972A (zh) 2024-05-31
EP4396779A1 (en) 2024-07-10
CA3230374A1 (en) 2023-03-09
AU2022337968A1 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
US9965870B2 (en) Camera calibration method using a calibration target
Łuczyński et al. The pinax-model for accurate and efficient refraction correction of underwater cameras in flat-pane housings
US20180066934A1 (en) Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium
JP5832341B2 (ja) 動画処理装置、動画処理方法および動画処理用のプログラム
JP6767998B2 (ja) 画像の線からのカメラの外部パラメータ推定
JP6324025B2 (ja) 情報処理装置、情報処理方法
US20140118500A1 (en) System and method for finding correspondence between cameras in a three-dimensional vision system
JPH10253322A (ja) 空間内で物体を位置指定する方法および装置
JP6282098B2 (ja) キャリブレーション装置及び方法
Yan et al. Joint camera intrinsic and lidar-camera extrinsic calibration
Liu et al. Robust camera calibration by optimal localization of spatial control points
Okarma et al. The 3D scanning system for the machine vision based positioning of workpieces on the CNC machine tools
JP6180158B2 (ja) 位置姿勢計測装置、位置姿勢計測装置の制御方法、およびプログラム
Bazargani et al. Camera calibration and pose estimation from planes
US20230070281A1 (en) Methods and systems of generating camera models for camera calibration
US9804252B2 (en) System and method for measuring tracker system accuracy
Yamauchi et al. Calibration of a structured light system by observing planar object from unknown viewpoints
Cui et al. ACLC: Automatic Calibration for non-repetitive scanning LiDAR-Camera system based on point cloud noise optimization
Rosebrock et al. Generic camera calibration and modeling using spline surfaces
JP2016102755A (ja) 情報処理装置、情報処理方法及びプログラム
JP2017162449A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
Hagemann et al. Modeling dynamic target deformation in camera calibration
Mair et al. Real-time image-based localization for hand-held 3d-modeling
Schmidt et al. The calibration of the pan-tilt units for the active stereo head
Madhusudanan Fast Eye-In-Hand 3D Scanner-Robot Calibration for Low Stitching Errors