KR20220153802A - 캘리브레이션 방법 및 장치 - Google Patents

캘리브레이션 방법 및 장치 Download PDF

Info

Publication number
KR20220153802A
KR20220153802A KR1020210061237A KR20210061237A KR20220153802A KR 20220153802 A KR20220153802 A KR 20220153802A KR 1020210061237 A KR1020210061237 A KR 1020210061237A KR 20210061237 A KR20210061237 A KR 20210061237A KR 20220153802 A KR20220153802 A KR 20220153802A
Authority
KR
South Korea
Prior art keywords
pattern
camera
world coordinates
coordinates
image
Prior art date
Application number
KR1020210061237A
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 삼성전자주식회사
Priority to KR1020210061237A priority Critical patent/KR20220153802A/ko
Priority to US17/669,760 priority patent/US20220366604A1/en
Priority to CN202210312925.4A priority patent/CN115346191A/zh
Priority to EP22172839.7A priority patent/EP4102464A1/en
Publication of KR20220153802A publication Critical patent/KR20220153802A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • 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/30244Camera pose
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

캘리브레이션 방법 및 장치가 개시된다. 개시된 캘리브레이션 방법은 차량의 주행 영상으로부터 노면에 포함된 미리 정해진 패턴을 검출하는 단계, 패턴의 이미지 도메인의 이미지 좌표들을 월드 도메인의 월드 좌표들로 변환하는 단계, 패턴의 월드 좌표들에 기반하여 예측된 크기와 패턴의 기준 크기를 비교하여, 주행 영상을 촬영한 카메라에 대한 캘리브레이션을 수행할지 여부를 판단하는 단계, 카메라를 캘리브레이션 하는 경우에 응답하여, 카메라에서 서로 다른 시점에 촬영된 영상들을 이용하여 카메라의 움직임 대비 패턴의 상대적인 월드 좌표들을 결정하는 단계, 패턴의 상대적인 월드 좌표들을 패턴의 절대적인 월드 좌표들로 변환하는 단계 및 패턴의 절대적인 월드 좌표들과 패턴의 이미지 좌표들 간 대응 관계를 이용하여, 카메라를 캘리브레이션 하는 단계를 포함한다.

Description

캘리브레이션 방법 및 장치{METHOD AND APPARATUS OF CALIBRATION}
아래 실시예들은 캘리브레이션 방법 및 장치에 관한 것이다.
최근 자율주행(AD; autonomous driving), 주행보조시스템(ADAS; advanced driver assistance system) 등 다양한 분야에서 카메라가 활용되고 있다. 이를 위해 차량에 카메라를 장착할 때 기본적으로 카메라 캘리브레이션이 수행되며, 카메라 캘리브레이션을 통해 차량과 카메라 간 좌표계를 변환하는 좌표계 변환 정보가 획득될 수 있다. 좌표계 변환 정보는 차량의 자세 추정 및 전방 차량까지의 거리 추정 등 자율주행 및 ADAS의 다양한 기능 구현에 활용이 될 수 있다.
하지만, 타이어 공기압의 변화, 차량의 자세 변화, 차량의 탑승자 수 변화 등으로 캘리브레이션을 수행한 초기 상태에서 변형이 발생하면 카메라의 위치나 각도가 변경되기 때문에, 실제 영상과 촬영된 영상 간에 차이가 발생할 수 있다.
일 실시예에 따른 캘리브레이션 방법은 차량의 주행 영상으로부터 노면에 포함된 미리 정해진 패턴을 검출하는 단계; 상기 패턴의 이미지 도메인의 이미지 좌표들을 월드 도메인의 월드 좌표들로 변환하는 단계; 상기 패턴의 월드 좌표들에 기반하여 예측된 크기와 상기 패턴의 기준 크기를 비교하여, 상기 주행 영상을 촬영한 카메라에 대한 캘리브레이션을 수행할지 여부를 판단하는 단계; 상기 카메라를 캘리브레이션 하는 경우에 응답하여, 상기 카메라에서 서로 다른 시점에 촬영된 영상들을 이용하여 상기 카메라의 움직임 대비 상기 패턴의 상대적인 월드 좌표들을 결정하는 단계; 상기 패턴의 상대적인 월드 좌표들을 상기 패턴의 절대적인 월드 좌표들로 변환하는 단계; 및 상기 패턴의 절대적인 월드 좌표들과 상기 패턴의 이미지 좌표들 간 대응 관계를 이용하여, 상기 카메라를 캘리브레이션 하는 단계를 포함한다.
일 실시예에 따른 캘리브레이션 방법에서 상기 패턴의 상대적인 월드 좌표들을 결정하는 단계는 상기 카메라에서 서로 다른 시점에 촬영된 영상들 내 패턴들 간 대응 관계에 기초하여 상기 카메라의 움직임 정보를 결정하고, 상기 패턴들 간 대응 관계 및 상기 움직임 정보를 이용하여 상기 카메라의 움직임 대비 상기 패턴의 상대적인 월드 좌표들을 결정할 수 있다.
일 실시예에 따른 캘리브레이션 방법에서 상기 패턴의 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환하는 단계는 상기 패턴이 기준 크기를 가지는 경우에 응답하여 상기 기준 크기를 이용하여 상기 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환할 수 있다.
일 실시예에 따른 캘리브레이션 방법에서 상기 패턴의 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환하는 단계는 상기 패턴이 기준 범위를 가지는 경우에 응답하여 상기 차량의 움직임에 기초하여 상기 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환할 수 있다.
일 실시예에 따른 캘리브레이션 방법에서 상기 카메라를 캘리브레이션 하는 단계는 상기 패턴의 절대적인 월드 좌표들과 상기 패턴의 이미지 좌표들 간 대응 관계를 이용하여, 상기 카메라의 피치(pitch), 롤(roll) 및 높이(height)를 캘리브레이션 할 수 있다.
일 실시예에 따른 캘리브레이션 방법에서 상기 미리 정해진 패턴은 주행 도로에 포함된 규격화된 노면 표시를 포함할 수 있다.
일 실시예에 따른 캘리브레이션 방법에서 상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환하는 단계는 호모그래피 매트릭스(homography matrix)에 기초하여, 상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환할 수 있다.
일 실시예에 따른 캘리브레이션 방법에서 상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환하는 단계는 상기 카메라의 파라미터 및 상기 패턴이 노면 상에 있다는 제한사항에 기초하여, 상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환할 수 있다.
일 실시예에 따른 캘리브레이션 방법에서 상기 카메라를 캘리브레이션 할지 여부를 판단하는 단계는 상기 패턴의 예측된 크기와 상기 기준 크기 간 차이가 미리 정해진 임계치를 초과하는지 여부에 기초하여 상기 카메라를 캘리브레이션 할지 여부를 판단할 수 있다.
일 실시예에 따른 캘리브레이션 방법은 상기 미리 정해진 패턴에서 미리 정해진 개수의 특징 점들이 추출되는지 여부를 판단하는 단계를 더 포함할 수 있다.
일 실시예에 따른 캘리브레이션 장치는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 차량의 주행 영상으로부터 노면에 포함된 미리 정해진 패턴을 검출하고, 상기 패턴의 이미지 도메인의 이미지 좌표들을 월드 도메인의 월드 좌표들로 변환하고, 상기 패턴의 월드 좌표들에 기반하여 예측된 크기와 상기 패턴의 기준 크기를 비교하여, 상기 주행 영상을 촬영한 카메라에 대한 캘리브레이션을 수행할지 여부를 판단하고, 상기 카메라를 캘리브레이션 하는 경우에 응답하여, 상기 카메라에서 서로 다른 시점에 촬영된 영상들을 이용하여 상기 카메라의 움직임 대비 상기 패턴의 상대적인 월드 좌표들을 결정하고, 상기 패턴의 상대적인 월드 좌표들을 상기 패턴의 절대적인 월드 좌표들로 변환하며, 상기 패턴의 절대적인 월드 좌표들과 상기 패턴의 이미지 좌표들 간 대응 관계를 이용하여, 상기 카메라를 캘리브레이션 한다.
도 1은 일 실시예에 따라 캘리브레이션 장치를 설명하기 위한 도면이다.
도 2는 일 실시예에 따라 주행 영상에서 미리 정해진 패턴을 검출하는 동작을 설명하기 위한 도면이다.
도 3은 일 실시예에 따라 미리 정해진 패턴의 예시들을 나타낸 도면이다.
도 4는 일 실시예에 따라 SFM에 기반하여 패턴의 절대적인 월드 좌표들을 획득하는 동작을 설명하기 위한 도면이다.
도 5는 일 실시예에 따라 캘리브레이션을 수행하는 동작을 설명하기 위한 도면이다.
도 6은 일 실시예에 따라 캘리브레이션 방법을 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따라 캘리브레이션 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 차량(100)은 도로나 선로 위를 달리는 모든 형태의 이동수단을 포함할 수 있다. 차량(100)은 예를 들면 자동차, 원동기장치 자전거 등을 포함하고, 자동차는 승용차, 화물차, 이륜 자동차 등 다양한 형태를 포함할 수 있다. 차량(100)은 자율주행 차량, 지능형 자동차 및 주행보조시스템이 탑재된 차량을 포함할 수 있다. 본 명세서에서 차량(100)은 캘리브레이션 장치(110)가 장착된 차량을 지칭할 수 있다. 본 명세서에서 주변 차량은 차량(100)의 전방, 후방, 측방, 사선 방향으로 인접한 차량을 나타낼 수 있다. 실시예에 따라 주변 차량은 중간에 다른 차량이 개입된 상태, 또는 중간에 빈 차선이 존재하는 상태로 접해 있는 차량을 포함할 수도 있다.
캘리브레이션 장치(110)는 메모리(111), 프로세서(113) 및 카메라(115)를 포함할 수 있다.
캘리브레이션 장치(110)는 차량(100)이 주행하는 도로 노면 상에 표시된 미리 정해진 패턴을 검출하여 카메라 캘리브레이션을 수행할 수 있다. 미리 정해진 패턴은 주행 도로에 포함된 규격화된 노면 표시로서, 해당 표시의 형태, 크기, 길이, 면적 중 적어도 하나에 대한 정보가 캘리브레이션 장치(110)에 저장되어 이후에 설명할 캘리브레이션 동작에 활용될 수 있다. 미리 정해진 패턴은 예를 들어, 횡단보도, 진행방향 표시, 비보호 표시, 지시 표시를 포함할 수 있다. 다만, 미리 정해진 패턴의 예시들을 이로 한정하는 것은 아니고, 나라 또는 지역마다 달라질 수 있는 다양한 규격화된 노면 표시에도 본 명세서의 설명이 적용될 수 있다. 캘리브레이션 장치(110)는 실제 주행 중에 카메라 캘리브레이션을 수행함으로써, 캘리브레이션 시점과 주행 시점이 상이함에 따라 발생할 수 있는 오차를 방지할 수 있으며, 별도의 캘리브레이션 도구 없이 노면 상의 패턴을 활용하여 실제 주행 환경에 적합한 카메라 파라미터를 효과적으로 획득할 수 있다. 실제 주행 중에 카메라 캘리브레이션이 수행되는 점에서, 캘리브레이션 장치(110)를 통해 온라인 캘리브레이션(online calibration)이 구현될 수 있다. 캘리브레이션 장치(110)를 통해, 차량(100)에 부착된 카메라(115)의 위치 및 자세각이 획득될 수 있다. 캘리브레이션 된 파라미터는 차량(100)의 자율주행 시스템 및/또는 주행보조시스템에 활용될 수 있다.
캘리브레이션은 실제 월드 상의 점과 이미지 내 각 픽셀 간 대응 관계를 나타내는 카메라 파라미터를 구하는 과정일 수 있다. 캘리브레이션은 이미지로부터 월드 좌표를 복원하거나(예: 이미지 상의 전방 차량과 자차까지의 실제 거리 추정), 월드 상의 점이 이미지에 투영되는 위치를 구하기 위한 필수적인 동작일 수 있다. 실제 주행 중 특정 요인(예: 탑승자 수 변화, 타이어 공기압 변화, 차량 자세 변화)에 의해 현재 차량(100)의 환경이 초기 캘리브레이션 환경과 달라지면, 카메라 파라미터가 변경되므로, 캘리브레이션을 다시 수행해야 할 수 있다. 다만, 아래에서 설명할 캘리브레이션 동작은 주행 중에 캘리브레이션이 수행되므로, 캘리브레이션 환경과 실제 주행 환경이 일치되고, 주행 환경에 적합한 카메라 파라미터가 획득될 수 있다.
카메라(115)에서 촬영된 영상은 3차원 공간 상의 점들이 2차원 평면 이미지에 투사된 것으로, 2차원 이미지 상의 좌표 (x, y)는 3차원 공간 상, 다시 말해 월드 도메인의 3D 좌표 (X, Y, Z) 간 대응 관계는 아래와 같이 표현될 수 있다.
Figure pat00001
위의 수학식 1에서,
Figure pat00002
로 표현되는 A는 내부 파라미터(intrinsic parameter)로서, 카메라(115)의 초점 거리, 종횡비(aspect ratio), 주점(principal point)과 같은 카메라(115) 자체의 내부적인 파라미터일 수 있다. f x , f y 는 카메라(115)의 초점 거리를 나타내고, c x , c y 는 카메라(115)의 주점을 나타내며, skew_cf x 는 비대칭 계수(skew coefficient)를 나타낼 수 있다.
또한,
Figure pat00003
로 표현되는
Figure pat00004
는 외부 파라미터(extrinsic parameter)로서, 카메라(115)의 설치 높이, 방향(예: 팬, 틸트) 등 카메라(115)와 외부 공간의 기하학적 관계에 관련된 파라미터일 수 있다. r 11 내지 r 33 은 카메라(115)의 회전을 나타내는 요소들로서, 피치, 롤, 요(yaw)로 분해(decomposition)될 수 있다. t1 내지 t 3 은 카메라(115)의 이동(translation)을 나타내는 요소들일 수 있다.
이미지 좌표는 카메라(115)에서 촬영된 영상의 기준점(예: 좌측 상단)에 대한 x축 값, y축 값으로 표현될 수 있으며, 월드 좌표는 차량(100)의 특정 점(예: 차량(100)의 중심)에 대한 x축 값, y축 값, z축 값으로 표현될 수 있다.
추후 상세히 설명되겠으나, 캘리브레이션 장치(110)는 아래에서 설명하는 캘리브레이션 동작을 통해 카메라(115)의 피치, 롤 및 높이 중 적어도 하나를 조절할 수 있다.
메모리(111)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(113)는 메모리(111)에 저장된 명령어가 프로세서(113)에서 실행됨에 따라 이후에 설명할 동작들을 수행할 수 있다. 메모리(111)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(113)는 명령어들, 혹은 프로그램들을 실행하거나, 캘리브레이션 장치(110)를 제어하는 장치로서, 예를 들어, CPU(Central Processing Unit) 및/또는 GPU(Graphic Processing Unit) 등을 포함할 수 있다.
프로세서(113)는 실제 주행 환경에서 촬영된 영상에서 검출된 규격화된 노면 패턴을 월드 좌표로 변환하여 패턴 크기를 추정하고, 추정된 패턴 크기와 실제 규격 간 오차에 기반하여 캘리브레이션을 수행할지 여부를 결정할 수 있다. 프로세서(113)는 캘리브레이션 수행 시 SFM(structure from motion)과 실제 규격 정보를 이용하여 노면 패턴의 이미지 좌표들을 월드 좌표들로 변환하고, 변환된 월드 좌표들과 이미지 좌표들 간 대응 관계에 기반하여 카메라(115)를 캘리브레이션 할 수 있다.
카메라(115)는 차량(100)의 전방 또는 주행 방향의 장면을 촬영하여 영상을 출력할 수 있다. 카메라(115)에서 촬영된 영상은 프로세서(113)로 전달될 수 있다.
도 1의 예시에서는 카메라(115)가 캘리브레이션 장치(110)에 포함되는 것으로 도시되어 있으나, 실시예를 이로 한정하는 것은 아니고, 캘리브레이션 장치(110)가 외부의 카메라로부터 영상을 수신하여 캘리브레이션을 수행하는 경우에도 본 명세서의 설명이 적용될 수 있다. 또한, 도 1의 예시에서는 캘리브레이션 장치(110)가 차량(100)에 탑재된 것으로 도시되어 있으나, 실시예가 이로 한정되지 않고, 차량(100)에 탑재된 카메라(115)에서 촬영된 영상이 차량(100) 외부의 캘리브레이션 장치(110)로 전달되어 캘리브레이션이 수행될 수도 있다. 이 경우, 캘리브레이션 장치(110)는 휴대폰, 스마트 폰, 태블릿, 랩탑, 퍼스널 컴퓨터, 원격 서버 등 다양한 컴퓨팅 장치로 구현될 수 있다.
도 2는 일 실시예에 따라 주행 영상에서 미리 정해진 패턴을 검출하는 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 차량에 탑재된 카메라에서 촬영된 영상에 미리 정해진 패턴(210)이 포함된 예시가 도시된다.
캘리브레이션 장치는 영상에서 미리 정해진 패턴(210)을 검출할 수 있다. 예를 들어, 캘리브레이션 장치는 세그먼테이션(segmentation) 기법 및/또는 에지 검출(edge detection) 기법에 기초하여 영상에서 미리 정해진 패턴(210)을 검출할 수 있다. 만약 캘리브레이션 장치가 HD(high-definition) map을 활용할 수 있다면, 캘리브레이션 장치는 로컬리제이션(localization)을 통해 파악한 차량의 위치와 HD map에 저장된 정보를 활용하여, 전방에 미리 정해진 패턴(210)(예: 횡단보도)이 존재한다는 것을 인지하고, 이를 통해 미리 정해진 패턴(210)을 효과적으로 검출할 수도 있다. HD map은 세밀한 도로와 주변 지형의 정보를 포함한 지도로서, 예를 들어, 차선 단위 정보는 물론 신호등, 표지판, 연석, 노면 마크, 각종 구조물 등의 3차원 정보를 포함할 수 있다.
캘리브레이션 장치는 검출한 패턴에서 코너 점(corner point)를 추출할 수 있다. 도 2의 예시에서, 캘리브레이션 장치는 횡단보도에 포함된 블록들의 코너 점들을 추출할 수 있다. 예를 들어, 캘리브레이션 장치는 해리스 코너 검출(Harris corner detection) 기법을 이용하여 미리 정해진 패턴(210)의 하나 이상의 코너 점들을 추출할 수 있다. 코너 점은 해당 패턴의 특징에 해당하므로 특징 점으로도 지칭될 수 있다. 코너 점은 영상에서 추출된 것으로, 이미지 도메인의 이미지 좌표로 표현될 수 있다.
캘리브레이션 장치는 패턴의 코너 점들의 이미지 좌표들을 월드 도메인의 월드 좌표들로 변환할 수 있다. 일례로, 캘리브레이션 장치는 호모그래피 매트릭스를 이용하여 패턴의 이미지 좌표들을 월드 좌표들로 변환할 수 있다. 호모그래피 매트릭스는 한 평면을 다른 평면에 투영(projection) 시켰을 때 투영된 대응점들 사이에서 성립하는 일정한 변환 관계 또는 대응 관계를 나타낼 수 있다. 호모그래피 매트릭스는 카메라 파라미터에 의해 결정될 수 있다. 다른 일례로, 캘리브레이션 장치는 카메라 파라미터와 미리 정해진 제한사항을 이용하여 패턴의 이미지 좌표들을 월드 좌표들로 변환할 수 있다. 3D의 월드 좌표는 이미지 평면에 투영시키는 과정을 통해 상대적으로 간단히 2D의 이미지 좌표로 변환될 수 있는 반면, 2D의 이미지 좌표를 3D의 월드 좌표로 변환하기 위해서는 추가적인 정보가 필요할 수 있다. 앞서 검출된 미리 정해진 패턴(210)은 노면 상에 있다는 제한사항이 추가적인 정보로 이용되면, 패턴의 이미지 좌표들이 월드 좌표들로 변환될 수 있다.
캘리브레이션 장치는 패턴의 월드 좌표들에 기반하여 패턴의 크기를 예측할 수 있다. 캘리브레이션 장치는 패턴의 예측된 크기와 패턴의 기준 크기 간 차이를 계산하고, 해당 차이에 기반하여 카메라 캘리브레이션을 수행할지 여부를 판단할 수 있다. 미리 정해진 패턴(210)은 규격화된 노면 표시로서, 규격에 따른 기준 크기가 예측된 크기와 비교될 수 있다. 기준 크기는 캘리브레이션 장치의 내부 메모리 또는 외부 메모리에 저장될 수 있으며, HD map이 활용 가능한 경우 HD map으로부터 확인될 수도 있다. 예를 들어, 캘리브레이션 장치는 차이가 임계치를 초과하는 경우에 응답하여 카메라 캘리브레이션을 수행하는 것으로 결정할 수 있다. 반면, 캘리브레이션 장치는 차이가 임계치 이하인 경우에 응답하여 카메라 캘리브레이션을 수행하지 않고, 현재 캘리브레이션 값을 계속 사용할 수 있다.
도 3은 일 실시예에 따라 미리 정해진 패턴의 예시들을 나타낸 도면이다.
도 3을 참조하면, 노면 상의 규격화된 다양한 패턴들이 예시로서 도시된다. 도로 표면에는 교통 법규로 크기가 정해져 있는 다양한 표시들, 예를 들어, 횡단보도 표시(310), 진행방향 표시(320), 비보호 표시(330) 및 지시 표시(340)가 있을 수 있다. 도 2에서는 설명의 편의를 위해 횡단보도가 도시되었으나, 이외에도 진행방향 표시(320), 비보호 표시(330) 및 지시 표시(340), 차선, 정지선, 유도선 등 다양한 노면 패턴이 활용될 수 있다.
횡단보도 표시(310)에서 블록의 두께 l1은 45-50cm로 기준 범위를 가질 수 있다. 다시 말해, 패턴이 상한 및 하한으로 구성되는 기준 범위를 가질 수도 있으며, 이 경우 앞서 설명한 캘리브레이션을 수행할지 여부를 판단할 때 이용되는 기준 크기는 기준 범위의 중간값 또는 평균값으로 결정될 수 있다.
도 3에서 확인 가능한 것처럼, 진행방향 표시(320), 비보호 표시(330) 및 지시 표시(340)는 기준 크기를 가질 수 있다.
도 4는 일 실시예에 따라 SFM에 기반하여 패턴의 절대적인 월드 좌표들을 획득하는 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 캘리브레이션 수행 시 활용되는 패턴의 절대적인 월드 좌표들을 획득하는 동작을 설명하기 위한 단계들이 도시되며, 이때 SFM이 활용될 수 있다. SFM은 영상들 간 특징 점 대응 관계를 이용하여 영상들 간 움직임 정보(예: 회전, 이동 매트릭스)를 획득하고, 삼각 측량(triangulation) 과정을 통해 특징 점의 실제 3D 포인트를 구하는 기법일 수 있다.
단계(410)에서, 캘리브레이션 장치는 카메라에서 서로 다른 시점에 촬영된 영상들에서 패턴들 간 대응 관계를 결정할 수 있다. 차량이 주행 중 동일한 카메라로 상이한 시점에 영상을 촬영하면, 동일한 장면에 대해 상이한 위치의 카메라에서 촬영한 영상들이 획득될 수 있다. 캘리브레이션 장치는 시간 t에서 촬영된 제1 영상에서 패턴을 검출하고, 검출된 패턴에서 코너 점들을 제1 특징 점들로 추출할 수 있다. 또한, 캘리브레이션 장치는 시간 t+a (a>0)에서 촬영된 제2 영상에서 패턴을 검출하고, 검출된 패턴에서 코너 점들을 제2 특징 점들로 추출할 수 있다. 캘리브레이션 장치는 제1 특징 점들과 제2 특징 점들 중에서 동일한 점들끼리 매칭하고, 특징 점의 대응 관계를 결정할 수 있다.
단계(420)에서, 캘리브레이션 장치는 제1 영상과 제2 영상 간 특징 점 대응 관계에 기초하여 카메라 움직임을 추정할 수 있다. 예를 들어, 캘리브레이션 장치는 특징 점 대응 관계를 이용하여 카메라의 이동 및 회전 정보를 추정할 수 있다.
단계(430)에서, 캘리브레이션 장치는 특징 점 대응 관계와 카메라 움직임에 기초하여, 카메라 움직임 대비 패턴의 상대적인 월드 좌표들을 결정할 수 있다. 이때, 시간 t와 시간 t+a 사이의 실제 이동거리를 알 수 없기 때문에, 스케일이 반영되지 않은 상대적인 월드 좌표들이 결정될 수 있다. 예를 들어, 카메라 움직임을 k라고 하면, 패턴의 상대적인 월드 좌표들은 (kx, ky, kz)처럼 k에 비례하는 것으로 결정될 수 있다. 상대적인 월드 좌표들은 스케일이 반영되지 않은 값을 가지므로, 스케일 모호성(scale ambiguity)이 있는 3D 포인트들이라고 지칭할 수 있다.
단계(450)에서, 캘리브레이션 장치는 패턴 정보(440)를 이용하여 상대적인 월드 좌표들의 스케일 모호성을 제거함으로써 절대적인 월드 좌표들을 획득할 수 있다. 캘리브레이션 장치는 상대적인 월드 좌표들에 기반하여 결정된 상대적인 길이를 패턴 정보(440)에 저장된 패턴의 기준 길이에 일치시킴으로써, 상대적인 월드 좌표들을 절대적인 월드 좌표들로 변환할 수 있다. 예를 들어, 패턴 정보(440)는 규격화되어 미리 저장된 패턴 정보이거나, HD map에 저장된 패턴 정보일 수 있다.
만약 앞서 설명한 횡단보도처럼 패턴이 기준 범위를 가지는 경우에는 차량의 움직임에 기초하여 상대적인 월드 좌표들의 스케일 모호성이 제거될 수 있다. 시간 t부터 시간 t+a까지 차량의 주행 거리 및 주행 방향에 기초하여 결정된 차량의 움직임은 차량에 장착된 카메라의 움직임과 동일할 수 있다. 캘리브레이션 장치는 차량의 움직임을 이용해 카메라 움직임 k를 결정할 수 있고, 카메라 움직임 k를 상대적인 월드 좌표들에 적용시킴으로써, 절대적인 월드 좌표들을 결정할 수 있다.
도 5는 일 실시예에 따라 캘리브레이션을 수행하는 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 캘리브레이션 장치는 패턴의 절대적인 월드 좌표들과 패턴의 이미지 좌표들 간 대응 관계를 이용하여 카메라를 캘리브레이션 할 수 있다. 도 5에서는 좌측(510)의 이미지 좌표들과 우측(520)의 월드 좌표들이 서로 대응된 것이 예시적으로 도시된다.
캘리브레이션 장치는 캘리브레이션을 통해 카메라 파라미터 중 피치, 롤, 높이 중 적어도 하나를 업데이트할 수 있다. 일반적으로 차량의 x축이나 y축으로의 이동은 거의 변하지 않고, 타이어 공기압이나 탑승객의 무게 변화 등으로 인해 피치, 롤, 높이가 변하기 때문에 이들이 캘리브레이션을 통해 업데이트될 수 있다. 다만, 이러한 설명이 x축이나 y축으로의 이동에 관한 파라미터 업데이트를 배제하는 것은 아니다.
도 6은 일 실시예에 따라 캘리브레이션 방법을 나타낸 도면이다.
도 6을 참조하면, 캘리브레이션 장치에 구비된 프로세서에서 수행되는 캘리브레이션 방법이 도시된다.
단계(610)에서, 캘리브레이션 장치는 주행 영상에서 미리 정해진 패턴이 검출되는지 여부를 판단할 수 있다. 캘리브레이션 장치는 세그먼테이션 기법 및/또는 에지 검출 기법에 기초하여 카메라에서 촬영된 주행 영상에서 미리 정해진 패턴이 검출되는지 여부를 판단할 수 있다. 만약 주행 영상에서 미리 정해진 패턴이 검출되지 않는다면, 단계(610)가 다시 수행될 수 있다. 반대로, 주행 영상에서 미리 정해진 패턴이 검출된다면, 단계(620)가 이어서 수행될 수 있다.
단계(620)에서, 캘리브레이션 장치는 패턴에서 특징 점을 이미지 좌표들로 추출할 수 있다.
일 실시예에 따르면, 캘리브레이션 장치는 주행 영상에서 추출된 패턴에서 코너 점으로 6개 이상의 특징 점들을 추출할 수 있는지 여부를 판단할 수 있다. 캘리브레이션을 통해 x축, y축, z축 방향으로의 이동 및 회전이 결정되기 위해서는 6개 이상의 특징 점들이 필요하므로, 캘리브레이션 장치는 검출된 패턴에서 6개 이상의 특징 점들을 추출할 수 있는지 여부를 판단할 수 있다. 만약 미리 정해진 패턴이 주변 차량이나 다른 물체에 의해 가려지거나, 패턴이 마모되어 흐릿해져 특징 점이 6개 이상 추출되지 않는다면, 단계(610)가 다시 수행될 수 있다. 반대로, 패턴에서 6개 이상의 특징 점들이 추출된다면, 단계(630)가 이어서 수행될 수 있다.
단계(630)에서, 캘리브레이션 장치는 현재 캘리브레이션 값을 이용하여 이미지 좌표들을 월드 좌표들로 변환할 수 있다. 이때, 패턴이 노면 상에 있다는 제한사항이 추가적인 정보로 이용될 수 있다. 다른 예시에서, 캘리브레이션 장치는 호모그래피 매트릭스를 이용하여 패턴의 이미지 좌표들을 월드 좌표들로 변환할 수 있다.
단계(640)에서, 캘리브레이션 장치는 패턴의 예측된 크기와 기준 크기 간 차이를 계산할 수 있다. 기준 크기는 규격화된 패턴의 크기로서 메모리에 미리 저장되거나, HD map으로부터 확인될 수 있다.
단계(650)에서, 캘리브레이션 장치는 계산된 차이가 임계치를 초과하는지 여부를 판단할 수 있다. 만약 계산된 차이가 임계치 이하이면 캘리브레이션 수행이 불필요한 것으로 판단되어, 단계(610)가 이어서 수행될 수 있다. 반대로 계산된 차이가 임계치를 초과하면 캘리브레이션 수행이 필요한 것으로 판단되어, 단계(660)가 이어서 수행될 수 있다. 예를 들어, 임계치는 기준 크기의 10%로 설정될 수 있으나, 이외에도 상황과 지역에 따라 다양한 기준이 설정될 수 있다.
단계(660)에서, 캘리브레이션 장치는 SFM에 기반하여 결정된 패턴의 상대적인 월드 좌표들을 절대적인 월드 좌표들로 변환할 수 있다. 캘리브레이션 장치는 카메라에서 서로 다른 시점에 촬영된 영상들을 이용하여 카메라 움직임 대비 패턴의 상대적인 월드 좌표들을 결정할 수 있다. 캘리브레이션 장치는 패턴의 기준 크기 및/또는 차량의 움직임에 기초하여 패턴의 상대적인 월드 좌표들을 절대적인 월드 좌표들로 변환할 수 있다.
단계(670)에서, 캘리브레이션 장치는 패턴의 이미지 좌표들 및 월드 좌표들 간 대응 관계를 이용하여 캘리브레이션을 수행할 수 있다.
단계(680)에서, 캘리브레이션 장치는 카메라의 피치, 롤, 높이 중 적어도 하나를 업데이트할 수 있다.
도 6에 도시된 각 단계들에는 도 1 내지 도 5를 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 차량의 주행 영상으로부터 노면에 포함된 미리 정해진 패턴을 검출하는 단계;
    상기 패턴의 이미지 도메인의 이미지 좌표들을 월드 도메인의 월드 좌표들로 변환하는 단계;
    상기 패턴의 월드 좌표들에 기반하여 예측된 크기와 상기 패턴의 기준 크기를 비교하여, 상기 주행 영상을 촬영한 카메라에 대한 캘리브레이션을 수행할지 여부를 판단하는 단계;
    상기 카메라를 캘리브레이션 하는 경우에 응답하여, 상기 카메라에서 서로 다른 시점에 촬영된 영상들을 이용하여 상기 카메라의 움직임 대비 상기 패턴의 상대적인 월드 좌표들을 결정하는 단계;
    상기 패턴의 상대적인 월드 좌표들을 상기 패턴의 절대적인 월드 좌표들로 변환하는 단계; 및
    상기 패턴의 절대적인 월드 좌표들과 상기 패턴의 이미지 좌표들 간 대응 관계를 이용하여, 상기 카메라를 캘리브레이션 하는 단계
    를 포함하는
    캘리브레이션 방법.
  2. 제1항에 있어서,
    상기 패턴의 상대적인 월드 좌표들을 결정하는 단계는
    상기 카메라에서 서로 다른 시점에 촬영된 영상들 내 패턴들 간 대응 관계에 기초하여 상기 카메라의 움직임 정보를 결정하고, 상기 패턴들 간 대응 관계 및 상기 움직임 정보를 이용하여 상기 카메라의 움직임 대비 상기 패턴의 상대적인 월드 좌표들을 결정하는,
    캘리브레이션 방법.
  3. 제1항에 있어서,
    상기 패턴의 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환하는 단계는
    상기 패턴이 기준 크기를 가지는 경우에 응답하여 상기 기준 크기를 이용하여 상기 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환하는,
    캘리브레이션 방법.
  4. 제1항에 있어서,
    상기 패턴의 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환하는 단계는
    상기 패턴이 기준 범위를 가지는 경우에 응답하여 상기 차량의 움직임에 기초하여 상기 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환하는,
    캘리브레이션 방법.
  5. 제1항에 있어서,
    상기 카메라를 캘리브레이션 하는 단계는
    상기 패턴의 절대적인 월드 좌표들과 상기 패턴의 이미지 좌표들 간 대응 관계를 이용하여, 상기 카메라의 피치(pitch), 롤(roll) 및 높이(height)를 캘리브레이션 하는,
    캘리브레이션 방법.
  6. 제1항에 있어서,
    상기 미리 정해진 패턴은
    주행 도로에 포함된 규격화된 노면 표시를 포함하는,
    캘리브레이션 방법.
  7. 제1항에 있어서,
    상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환하는 단계는
    호모그래피 매트릭스(homography matrix)에 기초하여, 상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환하는,
    캘리브레이션 방법.
  8. 제1항에 있어서,
    상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환하는 단계는
    상기 카메라의 파라미터 및 상기 패턴이 노면 상에 있다는 제한사항에 기초하여, 상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환하는,
    캘리브레이션 방법.
  9. 제1항에 있어서,
    상기 카메라를 캘리브레이션 할지 여부를 판단하는 단계는
    상기 패턴의 예측된 크기와 상기 기준 크기 간 차이가 미리 정해진 임계치를 초과하는지 여부에 기초하여 상기 카메라를 캘리브레이션 할지 여부를 판단하는,
    캘리브레이션 방법.
  10. 제1항에 있어서,
    상기 미리 정해진 패턴에서 미리 정해진 개수의 특징 점들이 추출되는지 여부를 판단하는 단계
    를 더 포함하는,
    캘리브레이션 방법.
  11. 제1항 내지 제10항 중에서 어느 한 항의 방법을 실행하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기록매체.
  12. 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는
    차량의 주행 영상으로부터 노면에 포함된 미리 정해진 패턴을 검출하고,
    상기 패턴의 이미지 도메인의 이미지 좌표들을 월드 도메인의 월드 좌표들로 변환하고,
    상기 패턴의 월드 좌표들에 기반하여 예측된 크기와 상기 패턴의 기준 크기를 비교하여, 상기 주행 영상을 촬영한 카메라에 대한 캘리브레이션을 수행할지 여부를 판단하고,
    상기 카메라를 캘리브레이션 하는 경우에 응답하여, 상기 카메라에서 서로 다른 시점에 촬영된 영상들을 이용하여 상기 카메라의 움직임 대비 상기 패턴의 상대적인 월드 좌표들을 결정하고,
    상기 패턴의 상대적인 월드 좌표들을 상기 패턴의 절대적인 월드 좌표들로 변환하며,
    상기 패턴의 절대적인 월드 좌표들과 상기 패턴의 이미지 좌표들 간 대응 관계를 이용하여, 상기 카메라를 캘리브레이션 하는,
    캘리브레이션 장치.
  13. 제12항에 있어서,
    상기 하나 이상의 프로세서는
    상기 카메라에서 서로 다른 시점에 촬영된 영상들 내 패턴들 간 대응 관계에 기초하여 상기 카메라의 움직임 정보를 결정하고, 상기 패턴들 간 대응 관계 및 상기 움직임 정보를 이용하여 상기 카메라의 움직임 대비 상기 패턴의 상대적인 월드 좌표들을 결정하는,
    캘리브레이션 장치.
  14. 제12항에 있어서,
    상기 하나 이상의 프로세서는
    상기 패턴이 기준 크기를 가지는 경우에 응답하여 상기 기준 크기를 이용하여 상기 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환하는,
    캘리브레이션 장치.
  15. 제12항에 있어서,
    상기 하나 이상의 프로세서는
    상기 패턴이 기준 범위를 가지는 경우에 응답하여 상기 차량의 움직임에 기초하여 상기 상대적인 월드 좌표들을 상기 절대적인 월드 좌표들로 변환하는,
    캘리브레이션 장치.
  16. 제12항에 있어서,
    상기 하나 이상의 프로세서는
    상기 패턴의 절대적인 월드 좌표들과 상기 패턴의 이미지 좌표들 간 대응 관계를 이용하여, 상기 카메라의 피치, 롤 및 높이를 캘리브레이션 하는,
    캘리브레이션 장치.
  17. 제12항에 있어서,
    상기 하나 이상의 프로세서는
    주행 도로에 포함된 규격화된 노면 표시를 포함하는,
    캘리브레이션 장치.
  18. 제12항에 있어서,
    상기 하나 이상의 프로세서는
    호모그래피 매트릭스에 기초하여, 상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환하는,
    캘리브레이션 장치.
  19. 제12항에 있어서,
    상기 하나 이상의 프로세서는
    상기 카메라의 파라미터 및 상기 패턴이 노면 상에 있다는 제한사항에 기초하여, 상기 패턴의 이미지 좌표들을 상기 월드 좌표들로 변환하는,
    캘리브레이션 장치.
  20. 제12항에 있어서,
    상기 하나 이상의 프로세서는
    상기 패턴의 예측된 크기와 상기 기준 크기 간 차이가 미리 정해진 임계치를 초과하는지 여부에 기초하여 상기 카메라를 캘리브레이션 할지 여부를 판단하는,
    캘리브레이션 장치.
KR1020210061237A 2021-05-12 2021-05-12 캘리브레이션 방법 및 장치 KR20220153802A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210061237A KR20220153802A (ko) 2021-05-12 2021-05-12 캘리브레이션 방법 및 장치
US17/669,760 US20220366604A1 (en) 2021-05-12 2022-02-11 Method and apparatus with calibration
CN202210312925.4A CN115346191A (zh) 2021-05-12 2022-03-28 用于校准的方法和设备
EP22172839.7A EP4102464A1 (en) 2021-05-12 2022-05-11 Method and apparatus with calibration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210061237A KR20220153802A (ko) 2021-05-12 2021-05-12 캘리브레이션 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220153802A true KR20220153802A (ko) 2022-11-21

Family

ID=81603749

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210061237A KR20220153802A (ko) 2021-05-12 2021-05-12 캘리브레이션 방법 및 장치

Country Status (4)

Country Link
US (1) US20220366604A1 (ko)
EP (1) EP4102464A1 (ko)
KR (1) KR20220153802A (ko)
CN (1) CN115346191A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11830223B2 (en) * 2019-04-08 2023-11-28 Nec Corporation Camera calibration apparatus, camera calibration method, and nontransitory computer readable medium storing program

Also Published As

Publication number Publication date
CN115346191A (zh) 2022-11-15
EP4102464A1 (en) 2022-12-14
US20220366604A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
US11803981B2 (en) Vehicle environment modeling with cameras
EP3407294B1 (en) Information processing method, device, and terminal
WO2020098316A1 (zh) 基于视觉点云的语义矢量地图构建方法、装置和电子设备
US10424081B2 (en) Method and apparatus for calibrating a camera system of a motor vehicle
CN107850446B (zh) 自身位置推定装置及自身位置推定方法
KR20190087266A (ko) 자율주행을 위한 고정밀 지도의 업데이트 장치 및 방법
US9862318B2 (en) Method to determine distance of an object from an automated vehicle with a monocular device
KR102628012B1 (ko) 캘리브레이션 방법 및 장치
CN111263960B (zh) 用于更新高清晰度地图的设备和方法
US20120308114A1 (en) Voting strategy for visual ego-motion from stereo
JP2006053756A (ja) 物体検出装置
JP2006053757A (ja) 平面検出装置及び検出方法
CN110378962B (zh) 车载相机的标定方法、装置及计算机可读存储介质
US11783507B2 (en) Camera calibration apparatus and operating method
JP2016157197A (ja) 自己位置推定装置、自己位置推定方法およびプログラム
JP6979229B2 (ja) 魚眼レンズが装着された2次元カメラを使用して2次元イメージショットで乗客の状態を予測するための方法及び装置{method and device for estimating passenger statuses in 2 dimension image shot by using 2 dimension camera with fisheye lens}
US11814056B2 (en) Travel amount estimation apparatus
JP7107931B2 (ja) 移動オブジェクトのレンジを推定する方法および装置
WO2015015939A1 (ja) 車両位置姿勢角推定装置及び車両位置姿勢角推定方法
KR20210137893A (ko) 차량 위치 결정 방법 및 시스템
WO2020156923A2 (en) Map and method for creating a map
JP2009139324A (ja) 車両用走行路面検出装置
KR20220153802A (ko) 캘리브레이션 방법 및 장치
KR20200065875A (ko) 랜드마크를 활용한 주행차로 인식 방법 및 시스템
JP2006053755A (ja) 移動体移動量算出装置

Legal Events

Date Code Title Description
A201 Request for examination