KR102274026B1 - 차량용 카메라 캘리브레이션 장치 및 그 방법 - Google Patents

차량용 카메라 캘리브레이션 장치 및 그 방법 Download PDF

Info

Publication number
KR102274026B1
KR102274026B1 KR1020190060180A KR20190060180A KR102274026B1 KR 102274026 B1 KR102274026 B1 KR 102274026B1 KR 1020190060180 A KR1020190060180 A KR 1020190060180A KR 20190060180 A KR20190060180 A KR 20190060180A KR 102274026 B1 KR102274026 B1 KR 102274026B1
Authority
KR
South Korea
Prior art keywords
camera
roll
image
cameras
lane
Prior art date
Application number
KR1020190060180A
Other languages
English (en)
Other versions
KR20200135606A (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 (주)베이다스
Priority to KR1020190060180A priority Critical patent/KR102274026B1/ko
Publication of KR20200135606A publication Critical patent/KR20200135606A/ko
Application granted granted Critical
Publication of KR102274026B1 publication Critical patent/KR102274026B1/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
    • G06K9/00798
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/007Dynamic range modification
    • G06T5/70
    • G06T5/90
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • 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

Abstract

본 발명은 차량용 카메라 캘리브레이션 장치 및 그 방법에 관한 것으로, 차량에 장착된 다수개의 카메라로부터 차로를 촬영한 영상을 획득하는 카메라 모듈과, 상기 카메라 모듈로부터 획득된 영상을 입력받거나 보정된 영상을 출력하는 입출력 모듈과, 상기 입출력 모듈에서 입력 받은 영상으로부터 차선을 검출하고 차선의 특징점을 추출하는 차선검출 모듈 및 상기 입출력 모듈에서 입력 받은 영상에서 초기 카메라 정보와 외부 파라미터 정보를 이용하여 차선의 방정식과 차선폭을 이용하여 새로운 외부 파라미터를 추정하여 영상을 보정하는 카메라보정 모듈을 포함하는 것을 특징으로 하는 차량용 카메라 캘리브레이션 장치를 제공한다.

Description

차량용 카메라 캘리브레이션 장치 및 그 방법{METHOD AND APPARATUS FOR PROVIDING CAMERA CALIBRATION FOR VEHICLES}
본 발명은 차량용 카메라 캘리브레이션 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 차량에 장착된 복수개의 카메라로부터 입력 받은 도로상의 차선 촬영 영상을 이용하여 주행 중에도 카메라의 외부 파라미터를 자동으로 캘리브레이션 할 수 있도록 하는 차량용 카메라 캘리브레이션 장치 및 그 방법에 관한 것이다.
근래에 들어 자동차에는 블랙박스나 주차를 위한 후방 카메라와 같이 다양한 용도의 카메라가 사용되고 있다. 최근에는 자동차에 다수개의 카메라를 장착하여 하늘에서 자동차를 내려다보는 것과 같은 화면을 운전자에게 제공할 수 있어 자동차의 전, 후, 좌, 우의 사각을 완전히 제거할 수 있는 탑뷰(top view) 시스템 개발이 활발해지고 있다.
그런데 다수의 카메라가 자동차에 탑재될 경우에는 각각의 카메라로부터 전송되는 다수의 영상 정보를 통합하여야 하고 이러한 영상 정보 통합을 위해서는 좌표계의 통합이 무엇보다도 중요하다. 다시 말하면, 다수개의 카메라로부터 획득된 각각의 촬영 영상은 다양한 정보와 함께 입력되는데 수록된 각각의 촬영 영상의 정보 중에서 실시간 공간정보를 자동차의 미리 설정된 공통 좌표계로 변화시킨 후 상기 공통 좌표계로 변환 된 실시간 공간정보를 기준으로 다수의 촬영 영상을 정합하여 운전자에게 적절한 탑뷰(top view) 영상을 보여 주는 것이 가능해진다.
하지만 실제로 카메라를 자동차에 장착할 때 발생하는 오차로 인하여 다수개의 카메라 좌표축을 차량의 공통 좌표계와 완벽하게 일치시키는 것은 현실적으로 불가능하다. 이는 자동차 생산 공장에서는 카메라 장착 오차를 정밀하게 캘리브레이션 할 수 있지만 자동차가 출고되고 난 후에는 운행 중의 충격, 비틀림과 같은 물리적인 힘에 의해 카메라의 장착 위치가 변화하여 카메라 장착 오차가 계속하여 발생하기 때문이다. 따라서 카메라에 장착된 다수개의 카메라는 주기적, 또는 충격 시 마다 캘리브레이션이 수행되어야만 한다.
위와 같이 자동차가 출고되고 난 후에 다수개의 카메라로부터 입력되는 영상을 정합하기 위해서는 선결문제로서 카메라의 장착 오차를 보정하는 카메라 캘리브레이션이 수행되어야 하고, 이러한 카메라 캘리브레이션을 위해서는 장착된 카메라에 대해 설치된 높이나 설치된 각도와 같은 정보가 요구된다. 종래에는, 이와 같은 카메라 캘리브레이션을 위한 정보를 얻기 위해서 지면에 체커보드(cherker board)와 같은 특정 기준 패턴을 설치하고 이를 촬영한 후 촬영된 패턴 영상을 이용하여 정보를 얻는 방법이 사용되었다.
종래의 특정 기준 패턴을 이용한 카메라 정보 습득 방법은 패턴과 같은 특정 마커의 상대적인 위치를 사전에 정확하게 알 수 있으므로 정밀한 카메라 정보를 얻을 수 있는 장점이 있는 반면에, 이를 수행하기 위해서는 특정 기준 패턴을 자동차 주위에 설치할 수 있을 정도의 넓은 공간을 확보한 후에 작업을 수행해야 하는 번거로움이 따르는 문제점이 있다.
특히 일반적인 자동차의 경우 자동차의 실제 운행으로 인하여 주기적, 또는 충격 시마다 카메라의 장착 오차가 발생하므로 그 때마다 작업자가 특정 기준 패턴을 이용한 카메라 정보 습득 방법으로 카메라 정보를 습득하고 카메라 캘리브레이션을 수행한다는 것은 너무 번거롭고 시간과 비용이 많이 드는 문제점이 있다. 때문에 자동차의 주행 중에도 카메라의 캘리브레이션이 자동으로 이루어지도록 할 필요가 있다.
관련 선행기술로는 한국공개특허 10-2008-0028531호(공개일: 2008. 04. 01)가 있다.
본 발명은 차량의 주행 중에 차량에 장착된 복수의 카메라들로부터 차량의 주행 차로를 촬영한 영상을 입력 받아 상기 촬영 영상으로부터 차로의 차선을 검출한 후 검출된 차선을 이용하여 차량에 장착된 카메라의 외부 파라미터를 자동으로 보정함으로써 차량의 운행으로 인해 물리적인 장착 오차가 발생된 카메라 캘리브레이션을 차량의 주행 중에도 신속하고 간편하게 수행할 수 있도록 하는 차량용 카메라 캘리브레이션 장치 및 그 방법을 제공하는 데 그 목적이 있다.
본 발명의 실시예들의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
일 측면에 따른, 복수의 카메라들을 캘리브레이션하는 장치에 의해 수행되는 카메라 캘리브레이션 방법은, 차량 주변을 촬영하는 복수의 카메라들을 이용하여 복수의 영상들을 생성하는 단계, 상기 복수의 영상들 내의 차선들을 검출하는 단계, 초기 카메라 정보 및 초기 외부 파라미터에 기초하여 복수의 영상들을 이용하여 탑뷰(top view) 영상을 생성하는 단계, 상기 탑뷰 영상 내의 차선들에 대한 방정식을 계산하는 단계, 및 상기 방정식에 기초하여 상기 복수의 카메라들에 대한 외부 파라미터를 계산함으로써 상기 복수의 카메라들을 캘리브레이션하는 단계를 포함한다.
상기 복수의 영상들 내의 차선을 검출하는 단계는, 상기 복수의 카메라들의 제1 카메라에 의해 생성된 프레임들을 누적함으로써 제1 영상을 생성하는 단계, 상기 제1 영상 내의 엣지를 검출하는 단계, 및 상기 엣지에 기초하여 상기 제1 영상의 차선을 결정하는 단계를 포함할 수 있다.
상기 복수의 영상들 내의 차선을 검출하는 단계는, 상기 제1 영상 내의 노이즈를 제거하는 단계, 및 상기 제1 영상을 흑백 영상으로 변환하는 단계 중 적어도 하나를 더 포함하고, 상기 제1 영상 내의 엣지를 검출하는 단계는, 노이즈가 제거된 제1 영상 또는 흑백 영상으로 변환된 제1 영상 내의 엣지를 검출하는 단계를 포함할 수 있다.
상기 초기 외부 파라미터는 카메라의 초기 자세 정보 및 초기 위치 정보를 포함하고, 상기 초기 자세 정보는 상기 카메라의 피치(Rx), 요(Ry), 및 롤(Rz)을 포함하고, 상기 초기 위치 정보는 상기 카메라의 위치 이동(Tz)을 포함할 수 있다.
상기 방정식에 기초하여 상기 복수의 카메라들에 대한 외부 파라미터를 계산함으로써 상기 복수의 카메라들을 캘리브레이션하는 단계는, 상기 복수의 카메라들 중 전방 카메라 및 후방 카메라 각각에 대한 피치(Rx), 요(Ry), 및 롤(Rz)을 계산하는 단계, 상기 전방 카메라 및 상기 후방 카메라 각각에 대한 피치(Rx), 요(Ry), 및 롤(Rz)에 기초하여 상기 후방 카메라의 위치 이동(Tz)을 계산하는 단계, 및 상기 후방 카메라의 위치 이동(Tz)에 기초하여 상기 복수의 카메라들 중 좌측 카메라 및 우측 카메라 각각에 대한 피치(Rx), 요(Ry), 롤(Rz), 및 위치 이동(Tz)을 계산하는 단계를 포함할 수 있다.
상기 방정식에 기초하여 상기 복수의 카메라들에 대한 외부 파라미터를 계산함으로써 상기 복수의 카메라들을 캘리브레이션하는 단계는, 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계를 더 포함하고, 상기 롤(Rz)을 조정하는 단계는, 상기 복수의 카메라들 각각에 대해 초기 롤과 계산된 롤(Rz) 간의 제1 차이를 계산하는 단계, 계산된 제1 차이들의 제1 차이 평균을 계산하는 단계, 상기 제1 차이 평균이 미리 설정된 제1 평균 임계치를 초과하는지 여부를 결정하는 단계, 상기 제1 차이 평균이 상기 제1 평균 임계치를 초과하지 않는 경우, 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계를 포함할 수 있다.
상기 롤을 조정하는 단계는, 상기 제1 차이 평균이 상기 제1 평균 임계치를 초과하는 경우, 상기 제1 차이들 중 가장 큰 차이를 나타내는 카메라를 제외한 나머지 카메라들의 제1 차이들에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계를 더 포함할 수 있다.
상기 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계는, 상기 제1 차이 평균에 기초하여 상기 전방 카메라 및 상기 후방 카메라의 롤(Rz)을 조정하는 단계를 포함할 수 있다.
상기 제1 차이 평균에 기초하여 상기 전방 카메라 및 상기 후방 카메라의 롤(Rz)을 조정하는 단계는, 상기 전방 카메라의 이전 롤(Rz)에서 상기 제1 차이 평균을 뺌으로써 상기 전방 카메라의 롤(Rz)을 조정하는 단계를 포함할 수 있다.
상기 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계는, 동일 차선 상에 위치하는 전방 좌측 차선의 포인트 및 좌측 차선의 포인트가 매칭되도록 상기 좌측 카메라의 롤(Rz)을 조정하는 단계를 포함할 수 있다.
다른 일 측면에 따른, 복수의 카메라들을 캘리브레이션 하는 장치는, 차량의 주변 영상을 생성하는 복수의 카메라들, 상기 복수의 카메라들을 캘리브레이션 하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 상기 복수의 카메라들을 이용하여 복수의 영상들을 생성하는 단계, 상기 복수의 영상들 내의 차선들을 검출하는 단계, 초기 카메라 정보 및 초기 외부 파라미터에 기초하여 복수의 영상들을 이용하여 탑뷰(top view) 영상을 생성하는 단계, 상기 탑뷰 영상 내의 차선들에 대한 방정식을 계산하는 단계, 및 상기 방정식에 기초하여 상기 복수의 카메라들에 대한 외부 파라미터를 계산함으로써 상기 복수의 카메라들을 캘리브레이션하는 단계를 수행할 수 있다.
상기 복수의 영상들 내의 차선을 검출하는 단계는, 상기 복수의 카메라들의 제1 카메라에 의해 생성된 프레임들을 누적함으로써 제1 영상을 생성하는 단계, 상기 제1 영상 내의 엣지를 검출하는 단계, 및 상기 엣지에 기초하여 상기 제1 영상의 차선을 결정하는 단계를 포함할 수 있다.
상기 복수의 영상들 내의 차선을 검출하는 단계는, 상기 제1 영상 내의 노이즈를 제거하는 단계, 및 상기 제1 영상을 흑백 영상으로 변환하는 단계 중 적어도 하나를 더 포함하고, 상기 제1 영상 내의 엣지를 검출하는 단계는, 노이즈가 제거된 제1 영상 또는 흑백 영상으로 변환된 제1 영상 내의 엣지를 검출하는 단계를 포함할 수 있다.
상기 초기 외부 파라미터는 카메라의 초기 자세 정보 및 초기 위치 정보를 포함하고, 상기 초기 자세 정보는 상기 카메라의 피치(Rx), 요(Ry), 및 롤(Rz)을 포함하고, 상기 초기 위치 정보는 상기 카메라의 위치 이동(Tz)을 포함할 수 있다.
상기 방정식에 기초하여 상기 복수의 카메라들에 대한 외부 파라미터를 계산함으로써 상기 복수의 카메라들을 캘리브레이션하는 단계는, 상기 복수의 카메라들 중 전방 카메라 및 후방 카메라 각각에 대한 피치(Rx), 요(Ry), 및 롤(Rz)을 계산하는 단계, 상기 전방 카메라 및 상기 후방 카메라 각각에 대한 피치(Rx), 요(Ry), 및 롤(Rz)에 기초하여 상기 후방 카메라의 위치 이동(Tz)을 계산하는 단계, 및 상기 후방 카메라의 위치 이동(Tz)에 기초하여 상기 복수의 카메라들 중 좌측 카메라 및 우측 카메라 각각에 대한 피치(Rx), 요(Ry), 롤(Rz), 및 위치 이동(Tz)을 계산하는 단계를 포함할 수 있다.
상기 방정식에 기초하여 상기 복수의 카메라들에 대한 외부 파라미터를 계산함으로써 상기 복수의 카메라들을 캘리브레이션하는 단계는, 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계를 더 포함하고, 상기 롤(Rz)을 조정하는 단계는, 상기 복수의 카메라들 각각에 대해 초기 롤과 계산된 롤(Rz) 간의 제1 차이를 계산하는 단계, 계산된 제1 차이들의 제1 차이 평균을 계산하는 단계, 상기 제1 차이 평균이 미리 설정된 제1 평균 임계치를 초과하는지 여부를 결정하는 단계, 상기 제1 차이 평균이 상기 제1 평균 임계치를 초과하지 않는 경우, 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계를 포함할 수 있다.
상기 롤을 조정하는 단계는, 상기 제1 차이 평균이 상기 제1 평균 임계치를 초과하는 경우, 상기 제1 차이들 중 가장 큰 차이를 나타내는 카메라를 제외한 나머지 카메라들의 제1 차이들에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계를 더 포함할 수 있다.
상기 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계는, 상기 제1 차이 평균에 기초하여 상기 전방 카메라 및 상기 후방 카메라의 롤(Rz)을 조정하는 단계를 포함할 수 있다.
상기 제1 차이 평균에 기초하여 상기 전방 카메라 및 상기 후방 카메라의 롤(Rz)을 조정하는 단계는, 상기 전방 카메라의 이전 롤(Rz)에서 상기 제1 차이 평균을 뺌으로써 상기 전방 카메라의 롤(Rz)을 조정하는 단계를 포함할 수 있다.
상기 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계는, 동일 차선 상에 위치하는 전방 좌측 차선의 포인트 및 좌측 차선의 포인트가 매칭되도록 상기 좌측 카메라의 롤(Rz)을 조정하는 단계를 포함할 수 있다.
또 다른 일 측면에 따른, 탑뷰 영상을 생성하는 장치에 의해 수행되는, 탑뷰 영상 생성 방법은, 복수의 카메라들을 이용하여 복수의 영상들을 생성하는 단계, 상기 복수의 영상들에 기초하여 상기 복수의 카메라들에 대한 외부 파라미터를 계산함으로써 상기 복수의 카메라들을 캘리브레이션하는 단계 - 상기 외부 파라미터는 카메라의 피치(Rx), 요(Ry), 및 롤(Rz)을 포함함 -, 캘리브레이션된 상기 복수의 카메라들을 이용하여 복수의 영상들을 생성하는 단계, 및 상기 복수의 영상들에 기초하여 탑뷰 영상을 생성하는 단계를 포함한다.
이상에서 설명한 바와 같이 본 발명은 차량에 장착된 복수의 카메라들로부터 차량의 주행 차로를 촬영한 영상을 입력 받아 상기 촬영 영상으로부터 차선을 검출한 후 검출된 차선을 이용하여 차량에 장착된 카메라의 외부 파라미터를 보정하는 카메라 캘리브레이션을 수행하고 있기 때문에 차량을 멈추지 않고도 카메라의 캘리브레이션을 신속하고 간편하게 수행할 수 있는 효과가 있다.
또한, 본 발명은 카메라 캘리브레이션을 차량의 주행 중에 수행하므로 종래에 차량에 장착된 카메라의 보정을 위해 차량을 멈춘 후 공간을 확보하고 교정 패턴을 설치하는 것과 같은 부차적인 작업을 할 필요가 없기 때문에 카메라 보정에 소요되는 시간이나 비용을 절감할 수 있는 효과가 있다.
도 1은 일 예에 따른 차량용 카메라 캘리브레이션 장치의 개요도이다.
도 2는 일 실시예에 따른 전자 장치의 구성도이다.
도 3은 일 실시예에 따른 카메라 캘리브레이션 방법의 흐름도이다.
도 4는 일 예에 따른 차선 검출 방법의 흐름도이다.
도 5는 일 예에 따른 외부 파라미터를 추정하는 방법의 흐름도이다.
도 6은 일 예에 따른 전방 카메라 및 후방 카메라의 피치(Rx)가 틀어진 경우에 생성된 영상이다.
도 7은 일 예에 따른 전방 카메라 및 후방 카메라의 요(Ry)가 틀어진 경우에 생성된 영상이다.
도 8은 일 예에 따른 전방 카메라 및 후방 카메라의 롤(Rz)이 틀어진 경우에 생성된 영상이다.
도 9는 일 예에 따른 후방 카메라의 위치이동(Tz)이 틀어진 경우에 생성된 영상이다.
도 10은 일 예에 따른 좌측 카메라 및 우측 카메라의 피치(Rx)가 틀어진 경우에 생성된 영상이다.
도 11은 일 예에 따른 좌측 카메라 및 우측 카메라의 요(Ry)가 틀어진 경우에 생성된 영상이다.
도 12는 일 예에 따른 좌측 카메라 및 우측 카메라의 롤(Rz)이 틀어진 경우에 생성된 영상이다.
도 13은 일 예에 따른 좌측 카메라 및 우측 카메라의 위치이동(Tz)이 틀어진 경우에 영상이다.
도 14 내지 16은 일 예에 따른 카메라의 롤(Rz)을 조정하는 방법의 흐름도이다.
도 17은 일 예에 따른 차량 및 차선이 평행하지 않은 경우, 조정되지 않은 롤(Rz)에 의해 생성되는 영상이다.
도 18은 일 예에 따른 전방 카메라 및 후방 카메라의 롤(Rz)을 조정한 경우 생성되는 영상이다.
도 19는 일 예에 따른 전방 카메라, 후방 카메라, 좌측 카메라 및 우측 카메라의 롤(Rz)을 조정한 경우 생성되는 영상이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
먼저, 본 발명의 일 실시예에 따른 차량용 카메라 캘리브레이션 장치 및 그 방법이 실제로 사용되기 위해서는 차량에 장착된 카메라에 촬영되는 영상들 내에 적어도 일부의 차선이 존재해야 하며, 도로가 평면이고 직진 차선의 경우에 가능한 것으로 한다. 도로가 평지가 아닌 경우, 보정이 수행되지만 보정된 외부 파라미터의 정확도가 떨어지기 때문에, 이러한 점을 방지하기 위해 최대한 평지에서 보정이 진행되는 것이 바람직하다.
또한, 아래에서 기술되는 알고리즘은 본 발명의 일실시예로서 기재된 것이며, 따라서 본 발명은 기재된 그 하나의 알고리즘에 한정되는 것이 아니고 해당 기능을 수행하는 또 다른 알고리즘이 얼마든지 사용될 수 있음은 당연하다 할 것이다.
도 1은 일 예에 따른 차량용 카메라 캘리브레이션 장치의 개요도이다.
일 측면에 따른, 차량용 카메라 캘리브레이션 장치(100)는, 차량에 장착된 복수의 카메라들이 차선(또는 차로)를 촬영한 영상들을 획득하는 카메라 모듈(110), 카메라 모듈(110)로부터 획득된 영상을 수신하고, 보정된 영상을 출력하는 입출력 모듈(120), 입출력 모듈(120)에서 수신한 영상으로부터 차선을 검출하고 차선의 특징점을 검출하는 차선 검출 모듈(130) 및 입출력 모듈(120)로부터 수신한 영상에서 초기 카메라 정보와 외부 파라미터 정보를 이용하여 차선의 방정식과 차선폭을 계산한 후 새로운 외부 파라미터를 추정하여 영상을 보정하는 카메라 보정 모듈(140)을 포함할 수 있다.
일 측면에 따른, 카메라 모듈(110)은 차량의 임의의 위치한 복수의 카메라들을 포함할 수 있다. 각각의 카메라는 설치된 위치에서 장면을 촬영함으로써 영상을 생성한다. 생성된 영상 내에는 차선 또는 차선의 일부가 포함될 수 있다. 예를 들어, 카메라들이 차량의 전방, 후방, 좌측 및 우측에 설치되어 차량의 주변을 모두 시각화 할 수 있다. 차량에 장착되는 카메라들의 개수는 실시예에 따라 달라질 수 있으며, 기재된 실시예로 한정되지 않는다.
일 측면에 따른, 입출력 모듈(120)은 영상 입출력부(121) 및 저장부(122)를 포함할 수 있다.
영상 입출력부(121)은 카메라 모듈(110)의 카메라가 생성한 영상을 수신하고, 차선검출 모듈(130)로 전송하고, 카메라 보정 모듈(140)로부터 보정된 영상을 수신하고, 수신된 보정 영상을 모니터와 같은 외부 장치로 출력할 수 있다. 영상 입출력부(121)는 필요한 경우 영상 필터 등을 이용하여 영상을 전처리 할 수 있다.
저장부(122)는 카메라가 생성한 영상을 저장하고, 카메라 보정 모듈(140)로부터 수신한 보정 영상을 저장할 수 있다.
일 측면에 따른, 차선 검출 모듈(130)은 영상 처리부(131), 프레임 누적부(132), 엣지 검출부(133) 및 차선 판단부(134)를 포함할 수 있다.
영상 처리부(131)는 영상 입출력부(121)로부터 수신한 영상 내의 노이즈를 제거하고, 차선의 경계 부분이 보다 뚜렷하게 나타나도록 영상을 처리할 수 있다. 예를 들어, 영상 처리부(131)는 노이즈를 제거하기 위해 영상에 모폴로지 연산과 메디안 필터링을 적용할 수 있다.
영상 처리부(131)는 컬러 영상을 흑백 영상으로 변환할 수 있다. 즉, 영상 처리부(131)는 수신한 컬러 영상을 그대로 사용할 수도 있고, 컬러 영상을 흑백 영상으로 변환하여 사용할 수도 있다.
프레임 누적부(132)는 처리된 영상 내의 차선이 점선일 경우, 영상을 연속된 프레임으로 누적한다. 점선 차선이 실선(또는 직선) 차선과 같이 나타나도록 영상들이 누적될 수 있다. 예를 들어, 4개의 영상들이 누적될 수 있고, 기재된 실시예로 한정되지 않는다. 4개의 영상들의 모든 픽셀 값을 비교하여, 가장 큰 픽셀 값을 새로운 이미지에 저장함으로써 결과적으로 영상에서의 점선 차선이 실선 차선과 같이 보이는 효과를 가지도록 한다.
영상 내의 차선이 직선(또는 실선)인 경우, 영상이 누적되지 않을 수 있다.
엣지 검출부(133)는 영상(또는 프레임)의 하단 부분에서 엣지(edge)를 검출하고, 특징점을 검출한다. 일반적으로, 전방 또는 후방 카메라에 기초하여 생성된 영상들을, 누적한 영상(또는 프레임)에서 차선은 영상의 하단 부분에 존재하고, 상단 부분은 하늘(지평선의 위)이기 때문에 연산량을 줄이기 위해 지평선의 아래 부분을 ROI(region of interest)로 정의할 수 있다.
차선 판단부(134)는 엣지 검출부(133)에서 검출된 특징점에 기초하여 차선을 검출 또는 결정한다.
카메라 보정 모듈(140)은 검출된 차선에 기초하여 차량의 카메라들의 외부 파라미터를 보정한다. 예를 들어, 4개의 카메라들 각각의 외부 파라미터를 보정할 수 있다.
일 측면에 따르면, 카메라 보정 모듈(140)은 이미지 변환부(141), 방정식 산출부(142), 파라미터 추정부(143) 및 보정부(144)를 포함할 수 있다.
이미지 변환부(141)는 초기 카메라 정보 및 외부 파라미터 정보에 기초하여 영상 내의 차선의 특징점을 추출한 후, 탑뷰 영상으로 변환한다.
방정식 산출부(142)는 변환된 탑뷰 영상에서 특징점을 라인 피팅(line fitting)함으로써 차선의 방정식을 설정한다. 여기서, 라인 피팅에는 LMS(least mean square) 알고리즘이 이용될 수 있다. 차선의 방정식은 직선의 방정식이 될 수 있고, 직선이 아닌 다차원 방정식이 될 수도 있다.
파라미터 추정부(143)는 설정된 차선의 방정식에 기초하여 새로운 외부 파라미터를 추정 또는 계산한다.
보정부(144)는 추정된 새로운 외부 파라미터에 기초하여 영상을 보정한다.
이하에서는 도 2 내지 도 19를 참조하여 차량용 카메라를 캘리브레이션하는 방법에 대해 상세히 설명된다.
도 2는 일 실시예에 따른 전자 장치의 구성도이다.
전자 장치(200)는 통신부(210), 프로세서(220), 및 메모리(230)를 포함한다. 실시예에 따라, 전자 장치(200)는 카메라(240)를 더 포함할 수 있다.
일 측면에 따르면, 전자 장치(200)는 차량용 카메라 캘리브레이션 장치(100)에 대응한다. 예를 들어, 통신부(210)는 영상 입출력부(121)에 대응할 수 있고, 프로세서(220)는 영상 처리부(131), 프레임 누적부(132), 엣지 검출부(133), 차선 판단부(134), 이미지 변환부(141), 방정식 산출부(142), 파라미터 추정부(143) 및 보정부(144)에 각각 대응할 수 있고, 메모리(230)는 저장부(122)에 대응할 수 있다.
통신부(210)는 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.
통신부(210)는 전자 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 전자 장치(300)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.
프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.
메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램(또는 어플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램은 카메라의 외부 파라미터를 조정함으로써 카메라를 캘리브레이션 할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.
일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.
메모리(230)는 전자 장치(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 전자 장치(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.
카메라(240)는 장면을 촬영함으로써 영상을 생성한다.
통신부(210), 프로세서(220), 메모리(230) 및 카메라(240)에 대해, 아래에서 도 3 내지 도 19를 참조하여 상세히 설명된다.
도 3은 일 실시예에 따른 카메라 캘리브레이션 방법의 흐름도이다.
아래의 단계들(310 내지 360)은 도 2를 참조하여 전술된 전자 장치(200)에 의해 수행된다.
단계(310)에서, 전자 장치(200)는 카메라(240)를 이용하여 영상을 촬영한다. 예를 들어, 카메라(240)는 보통의 렌즈보다 시야 각이 더 큰 광각 렌즈 또는 시각이 180°를 넘는 초광각 렌즈인 어안 렌즈를 포함할 수 있다. 시야 각이 큰 렌즈를 통해 영상이 생성되는 경우, 차량 주변이 모두 촬영될 수 있다.
카메라(240)가 차량의 전방, 후방, 좌측 및 우측을 각각 촬영하는 4개의 카메라들을 포함하고, 4개의 카메라들에 의해 촬영된 영상들 내의 차선에 기초하여 카메라들 간의 캘리브레이션이 수행되는 경우, 카메라들 각각의 자세 정보(pose information)가 추정될 수 있다. 예를 들어, 자세 정보는 카메라가 특정 위치에서 회전된 정도를 나타내는 외부 파라미터인 피치(Rx), 요(Ry), 롤(Rz)을 포함할 수 있다. 다른 예로, 자세 정보는 후방 카메라 및 좌우측 카메라의 특정 위치에서 이동된 정도를 나타내는 외부 파라미터인 위치이동(Tz)을 포함한다. 예를 들어, 카메라(240)가 전방, 후방, 좌측 및 우측을 각각 촬영하는 4개의 카메라들을 포함하는 경우, 각각의 카메라에 대한 4개의 채널들이 정의될 수 있다.
직진 차로에 나타나는 직진 차선이 탑뷰의 시점으로 변환된 경우, 차선은 탑뷰 영상의 하단과 수직으로 나타나게 되고, 이러한 차선은 4개의 카메라에 모두 존재한다. 4개의 카메라들 각각의 외부 파라미터가 정확한 경우에는, 탑뷰 영상 내의 차선이 하나로 나타나고, 외부 파라미터가 부정확한 경우에는 여러 개의 차선으로 나타나게 된다.
이러한 점을 이용하여, 카메라들 각각의 정확한 외부 파라미터가 추정될 수 있다. 아래에서, 촬영된 영상을 이용하여 정확한 외부 파라미터를 추정하는 방법이 설명된다.
단계(320)에서, 전자 장치(200)는 영상에 기초하여 영상 내의 차선을 검출한다. 차선을 검출하는 방법에 대해, 도 4를 참조하여 상세하게 설명된다. 일 측면에 따른, 단계(320)는 도 4의 단계들(410 내지 440)을 포함할 수 있다.
단계(410)에서, 전자 장치(200)는 필요에 따라 영상에 대한 전-처리를 수행할 있다. 예를 들어, 영상 내의 노이즈를 제거하거나, 컬러 영상을 흑백 영상으로 변환할 수 있다.
일 측면에 따르면, 전자 장치(200)는 노이즈를 제어하기 위해 영상 내의 물체(object)의 경계를 부드럽게 하는 모폴로지 연산을 수행할 수 있다. 모폴로지 연산은 영상의 분리, 즉, 본격적인 영상 처리에 앞서 노이즈 제거 및 특징점 추출 등과 같은 전처리 과정에서 사용되는 영상 필터의 일종으로서 침식 연산과 팽창 연산이 있다. 예를 들어, 모폴로지 클로징(closing) 이후 모폴로지 오프닝(opening)이 수행된다.
폴로지 클로징은 영상에 나타나는 물체(object)의 경계를 부드럽게 함으로써 영상 내의 불연속 데이터를 제거할 수 있다. 모폴로지 오프닝(opening)에 의해 물체의 크기가 유지되면서 노이즈가 제거될 수 있다.
노이즈를 제거하기 위해 메디안 필터링이 수행될 수 있다. 전자 장치(200)는 메디안 필터링을 수행한 후의 영상의 크기를 변경함으로써 노이즈를 제거할 수 있다. 좌측 카메라 또는 우측 카메라에서 생성된 영상에 나타난 차선의 경우, 갈라진 부분이 존재할 수 있는데, 추후에 갈라진 부분이 엣지로 검출될 수 있으므로, 차선의 갈라진 부분의 노이즈를 제거함으로써 차선 인식률이 떨어지는 것을 방지할 수 있다.
단계(420)에서, 전자 장치(200)는 제1 카메라에 의해 생성된 프레임 내의 차선이 점선인 경우, 제1 카메라에 의해 생성된 프레임들을 누적함으로써 제1 영상을 생성한다. 프레임 내의 차선이 실선이 아니고 점선 차선인 경우, 차선이 실선 차선으로 나타나도록 하기 위해 누적된 프레임들의 모든 동일 좌표의 픽셀 값들을 비교하여 가장 큰 픽셀 값을 새로운 영상에 저장함으로써 누적 영상을 생성할 수 있다. 프레임 내의 차선이 직선인 경우에는 프레임들이 누적되지 않을 수 있다.
단계(430)에서, 전자 장치(200)는 영상을 처리함으로써 영상 내의 엣지를 검출할 수 있다. 예를 들어, 도로의 색과 차선의 색 간의 경계가 뚜렷하므로 영상 처리를 통해 엣지가 강하게 나타나도록 한 후, 윤곽을 가장 잘 찾아내면서 원래 영상의 회색 물질과 관련된 모든 엣지를 제거할 수 있는 캐니 엣지 알고리즘을 이용하여 엣지가 검출될 수 있다. 캐니 엣지 알고리즘은 낮은 에러율과 엣지 점들의 위치를 비교적 정확하게 검출할 수 있다. 캐니 엣지 알고리즘이 예시적으로 기재되었으나, 기재된 실시예로 한정되지 않는다.
전자 장치(200)는 검출된 엣지와 엣지의 중앙 좌표를 특징점으로 결정할 수 있다. 엣지가 영상의 차선뿐만 아니라 영상의 노이즈에 의해서도 나타날 수 있으므로, 검출되는 엣지를 감소시키기 위해 엣지와 엣지의 중앙 좌표가 특징점으로 결정될 수 있다. 엣지와 엣지의 중앙 좌표를 특징점으로 결정하는 경우, 영상의 차선은 하나의 연속된 긴 선으로 나타나게 되고, 노이즈에서는 짧게 나타나거나 나타나지 않게 된다.
단계(440)에서, 전자 장치(200)는 특징점에 기초하여 영상 내의 차선을 결정할 수 있다. 예를 들어, 결정된 특징점에 의해 나타나는 선들 중에서 길이가 가장 긴 윤곽선을 차선으로 결정할 수 있다.
전자 장치(200)는 전방 카메라 및 후방 카메라들이 생성한 영상들 내에서는 두 개의 윤곽선을 검출할 수 있고, 좌측 카메라 및 우측 카메라들이 생성한 영상들 내에서는 각각 하나의 윤곽선을 검출할 수 있다. 전방 카메라 및 후방 카메라들이 생성한 영상들 내에는 좌측 차선 및 우측 차선이 존재하고, 좌측 카메라 및 우측 카메라들이 생성한 영상들 내에는 좌측 차선 및 우측 차선이 각각 하나씩 존재하기 때문이다. 검출된 윤곽선이 차선으로 결정된다.
다시 도 3을 참조하면, 단계(330)에서, 전자 장치(200)는 초기 카메라 정보 및 초기 외부 파라미터에 기초하여 촬영된 영상들의 각각을 탑뷰 영상으로 변환한다. 즉, 영상이 촬영된 시점을 가상의 시점인 조감(bird view) 시점으로 변경함으로써 탑뷰 영상이 생성될 수 있다.
예를 들어, 메모리(230)는 초기 카메라 정보 및 초기 외부 파라미터를 저장할 수 있다. 또한, 후술될 단계(350)를 통해 추정된 새로운 카메라의 외부 파라미터도 메모리(230)에 저장될 수 있다.
예를 들어, 초기 카메라 정보는 카메라 각각의 고유 특성에 해당하는 초점거리, 주점, 왜곡계수 등과 같은 내부 파라미터에 대한 정보를 포함할 수 있다. 예를 들어, 초기 외부 파라미터는 카메라 각각의 초기 자세 정보, 및 초기 위치 정보 등을 포함할 수 있다.
외부 파라미터가 정확한 경우, 탑뷰 영상 내의 차선은 동일한 직선 위에 존재하게 되고 수직으로 나타나게 된다. 그러나, 물리적인 힘으로 인해 카메라(240)의 위치가 변경된 경우, 초기 외부 파라미터에 기초하여 생성된 탑뷰 영상 내의 차선은 직선상으로 존재하지 않는다. 추가의 처리를 통해 카메라의 변경된 외부 파라미터를 추정할 수 있도록, 탑뷰 영상이 생성될 수 있다.
단계(340)에서, 전자 장치(200)는 탑뷰 영상 내의 차선에 대한 방정식 및 차선 폭을 산출한다. 산출된 방정식 및 차선 폭은 이후의 단계에서 새로운 외부 파라미터를 추정하기 위해 이용될 수 있다.
전자 장치(200)는 탑뷰 영상의 특징점을 라인 피팅함으로써 차선의 방정식을 설정할 수 있다. 라인 피팅을 위해 LMS(least mean square) 알고리즘이 이용될 수 있고, 기재된 실시예로 한정되지 않는다. 산출되는 차선의 방정식은 직선의 방정식일 수 있고, 직선이 아닌 다차원의 방정식일 수 있다. 차선의 방정식이 직선의 방정식인 경우, 아래의 [수학식 1]로 표현될 수 있다.
[수학식 1]
Figure 112019052623383-pat00001
[수학식 1]에서, a는 좌측 차선의 경사도(Gl), 및 우측 차선의 경사도(Gr)를 나타내는 경사도(Gl, Gr)이고, b는 차선의 y 절편, (x, y)는 차선의 좌표점을 나타낸다. [수학식 1]의 x와 y 값은 탑뷰 영상으로부터 획득되는 값들이고, 상기의 값들로부터 a와 b를 결정하는 것이 방정식 산출의 목표이다. x와 y 값에 기초하여 라인 피팅을 적용함으로써 a와 b가 결정될 수 있다.
차선의 방정식은 탑뷰 영상들의 각각에 대해 계산될 수 있다. 예를 들어, 전방 영상에 대한 탑뷰 영상에 대한 차선의 방정식이 계산되고, 후방 영상에 대한 탑뷰 영상에 대한 차선의 방정식이 계산되고, 좌측 영상에 대한 탑뷰 영상에 대한 차선의 방정식이 계산되고, 우측 영상에 대한 탑뷰 영상에 대한 차선의 방정식이 계산될 수 있다.
단계(350)에서, 전자 장치(200)는 산출된 차선의 방정식과 차선 폭을 이용하여 새로운 외부 파라미터를 추정한다. 외부 파라미터를 추정하는 방법에 대해 도 5를 참조하여 설명된다. 일 측면에 따르면, 단계(350)는 도 5의 단계들(510 내지 540)을 포함할 수 있다.
단계(510)를 통해, 전방 카메라 및 후방 카메라 각각의 피치(Rx), 요(Ry), 롤(Rz)이 각각 계산된다. 일 측면에 따르면, 단계(510)는 단계들(511, 512, 513, 514)을 포함할 수 있다.
단계들(511, 513)에서, 전자 장치(200)는 전방 카메라 및 후방 카메라 각각의 피치(Rx), 요(Ry), 롤(Rz)이 정확한지 여부를 판단할 수 있다. 피치(Rx)에 대해서는 도 6을 참조하여 설명되고, 요(Ry)에 대해서는 도 7을 참조하여 설명되고, 롤(Rz)에 대해서는 도 8을 참조하여 설명된다.
도 6은 차량의 전방 카메라의 피치(Rx)와 후방 카메라의 피치(Rx)가 틀어진 경우를 나타낸다. 도 6의 좌측 그림은 전방 카메라 및 후방 카메라의 피치(Rx)가 실제 기준 값인 ground truth 값 보다 작은 경우이고, 도 6의 우측 그림은 전방 카메라 및 후방 카메라의 피치(Rx)가 실제 기준 값인 ground truth 값 보다 큰 경우이다.
여기서 측면 차선을 기준으로 차선의 기울기를 계산하면 결과 값이 각각 +와 -로 나타나게 되는 것을 표시하였다. 즉, 탑뷰 영상 상에서 전방 카메라 및 후방 카메라의 피치(Rx)가 부정확한 경우에 차선의 기울기가 +와 -로 나타나는 것이고, 전방 카메라 및 후방 카메라의 피치(Rx)가 정확한 경우에 왼쪽 차선의 경사도의 역수(1/Gl) = 오른쪽 차선의 경사도의 역수(1/Gr)로 나타난다.
도 7은 차량의 전방 카메라의 요(Ry) 및 후방 카메라의 요(Ry)가 틀어진 경우를 나타낸다. 도 7의 좌측 그림은 전방 카메라 의 요(Ry) 및 후방 카메라의 요(Ry)가 실제 기준값인 ground truth 값 보다 큰 경우이고, 도 7의 우측 그림은 전방 카메라 및 후방 카메라의 요(Ry)가 실제 기준값인 ground truth 값 보다 작은 경우이다. 여기서 차량의 위쪽에 나타나는 차선의 폭과 및 아래에서 나타나는 차선의 폭이 서로 다른 것을 알 수 있다.
도 8은 차량의 전방 카메라의 롤(Rz) 및 후방 카메라의 롤(Rz)이 틀어진 경우를 나타낸다. 도 8의 좌측 그림은 전방 카메라의 롤(Rz) 및 후방 카메라의 롤(Rz)이 실제 기준값인 ground truth 값 보다 큰 경우이고, 도 8의 우측 그림은 전방 카메라 및 후방 카메라의 롤(Rz)이 실제 기준값인 ground truth 값 보다 작은 경우이다. 여기서 전방 카메라의 롤(Rz) 및 후방 카메라의 롤(Rz)이 틀어진 경우에는 (1/Gl)과 (1/Gr)의 부호와 크기가 동일하게 나타나고, 정확한 경우에는 (1/Gl) + (1/Gr)은 0에 가깝게 나타난다.
단계들(512, 514)에서, 전자 장치(200)는 전방 카메라의 피치(Rx), 요(Ry), 롤(Rz)이 정확하지 않은 경우, 전방 카메라의 피치(Rx), 요(Ry), 롤(Rz)를 다시 계산한다.
전방 카메라 및 후방 카메라의 새로운 피치(Rx)는 아래의 [수학식 2]에 기초하여 계산될 수 있다.
[수학식 2]
Figure 112019052623383-pat00002
[수학식 2]에서, New Rx는 새로운 전방 또는 후방 카메라의 피치이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, Gl는 왼쪽 차선의 경사도이고, Gr는 오른쪽 차선의 경사도이다. 즉, 1/Gl = 1/Gr 가 만족될 때까지, 새로운 피치(New Rx)가 수정될 수 있다.
전방 카메라 및 후방 카메라의 새로운 요(Ry)는 아래의 [수학식 3]에 기초하여 계산될 수 있다.
[수학식 4]
Figure 112019052623383-pat00003
[수학식 4]에서, New Ry는 새로운 전방 또는 후방 카메라의 요이고, Pre Ry는 현재의 전방 또는 후방 카메라의 요이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, Wl는 왼쪽 차선의 폭이고, Wr는 오른쪽 차선의 폭이다.
New Ry와 Pre Ry가 동일해질 때까지(즉, Wl = Wr ), 새로운 요(New Ry)가 수정될 수 있다.
전방 카메라 및 후방 카메라의 새로운 롤(Rz)는 아래의 [수학식 5]에 기초하여 계산될 수 있다.
[수학식 5]
Figure 112019052623383-pat00004
[수학식 5]에서, New Rz는 새로운 전방 또는 후방 카메라의 롤이고, Pre Ry는 현재의 전방 도는 후방 카메라의 롤이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, Gl는 왼쪽 차선의 경사도이고, Gr는 오른쪽 차선의 경사도이다.
New Rz와 Pre Rz가 동일해질 때까지(즉, 1/Gl + 1/Gr=0), 새로운 롤(New Rz)이 수정될 수 있다.
전방 카메라 및 후방 카메라의 피치(Rx), 요(Ry), 롤(Rz)가 다시 계산된 경우, 전자 장치(200)는 계산된 피치(Rx), 요(Ry), 롤(Rz)에 기초하여 전방 카메라 및 후방 카메라에 의해 촬영된 각각의 영상을 탑뷰 영상으로 다시 변환하고(즉, 단계(330)의 재수행), 변환된 탑뷰 영상에 기초하여 차선의 방정식 및 차선 폭을 다시 계산한다. 이 후에, 단계들(511 내지 514)가 재수행될 수 있다.
단계(520)를 통해, 후방 카메라의 위치 이동(Tz)이 계산된다. 일 측면에 따르면, 단계(520)는 단계들(521, 522)을 포함할 수 있다.
단계(521)에서, 전자 장치(200)는 후방 카메라의 위치 이동(Tz)이 정확한지 여부를 판단할 수 있다. 후방 카메라의 위치 이동(Tz)이 정확한지 여부를 판단하는 방법이 도 9를 참조하여 상세히 설명된다.
도 9는 차량의 후방 카메라의 위치 이동(Tz)이 틀어진 경우를 나타낸다. 도 9의 좌측 그림은 후방 카메라의 위치 이동(Tz)이 실제 기준 값인 ground truth 값 보다 큰 경우이고, 도 9의 우측 그림은 후방 카메라의 위치 이동(Tz)이 실제 기준 값인 ground truth 값 보다 작은 경우이다. 여기서 후방 카메라의 위치 이동(Tz)이 틀어진 경우 차량의 전방 차로의 차선 간의 폭과 후방 차로의 차선 간의 폭이 다르게 나타나고 정확한 경우에는 동일하게 나타난다.
단계(522)에서, 전자 장치(200)는 후방 카메라의 위치 이동(Tz)이 정확하지 않은 경우, 후방 카메라의 위치 이동(Tz)을 다시 계산한다.
후방 카메라의 새로운 위치 이동(Tz)는 아래의 [수학식 6]에 기초하여 계산될 수 있다.
[수학식 6]
Figure 112019052623383-pat00005
[수학식 6]에서, New Tz는 새로운 후방 카메라의 위치 이동이고, Pre Tz는 현재의 후방 카메라의 위치 이동이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, Cf는 전방의 왼쪽 차선과 우측 차선 사이의 폭이고, Cr는 후방의 왼쪽 차선과 우측 차선 사이의 폭이다.
New Tz와 Pre Tz가 동일해질 때까지(즉, Cf = Cr), 새로운 위치 이동(New Tz)이 수정될 수 있다.
단계(530)를 통해, 좌측 카메라 및 우측 카메라의 위치 이동(Tz)이 계산된다. 일 측면에 따르면, 단계(520)는 단계들(521, 522)을 포함할 수 있다.
단계(521)에서, 전자 장치(200)는 후방 카메라의 피치(Rx), 요(Ry), 롤(Rz), 위치 이동(Tz)이 정확한지 여부를 판단할 수 있다. 피치(Rx)에 대해서는 도 10을 참조하여 설명되고, 요(Ry)에 대해서는 도 11을 참조하여 설명되고, 롤(Rz)에 대해서는 도 12을 참조하여 설명되고, 위치 이동(Tz)에 대해서는 도 12를 참조하여 설명된다.
도 10은 차량의 좌측 카메라 및 우측 카메라의 피치(Rx)가 틀어진 경우를 나타낸다. 도 10의 좌측 그림은 좌측 카메라 및 우측 카메라의 피치(Rx)가 실제 기준값인 ground truth 값 보다 큰 경우이고, 도 10의 우측 그림은 좌측 카메라 및 우측 카메라의 피치(Rx)가 실제 기준값인 ground truth 값 보다 작은 경우이다. 여기서, 좌측 카메라 및 우측 카메라의 피치(Rx)가 틀어진 경우 차량의 전방과 후방에 위치하는 차선과 차량의 좌측과 우측에 위치하는 차선이 하나의 직선 위에 존재하지 않고 어긋나게 나타나고, 정확한 경우에는 하나의 직선 위에 존재하게 된다.
도 11은 차량의 좌측 카메라 및 우측 카메라의 요(Ry)가 틀어진 경우를 나타낸다. 도 11의 좌측 그림은 좌측 카메라 및 우측 카메라의 요(Ry)가 실제 기준 값인 ground truth 값 보다 큰 경우이고, 도 11의 우측 그림은 좌측 카메라 및 우측 카메라의 요(Ry)가 실제 기준 값인 ground truth 값 보다 작은 경우이다. 여기서 좌측 카메라 및 우측 카메라의 요(Ry)가 정확한 경우에는 (X22-X11)과 (X66-X55)가 동일하거나, (X44-X33)과 (X88-X77)이 동일하게 된다.
도 12는 차량의 좌측 카메라 및 우측 카메라의 롤(Rz)이 틀어진 경우를 나타낸다. 도 12의 좌측 그림은 좌측 카메라 및 우측 카메라의 롤(Rz)이 실제 기준 값인 ground truth 값 보다 큰 경우이고, 도 12의 우측 그림은 좌측 카메라 및 우측 카메라의 롤(Rz)이 실제 기준 값인 ground truth 값 보다 작은 경우이다. 여기서 좌측 카메라 및 우측 카메라의 롤(Rz)이 틀어진 경우에는 1/Gl, 1/Gr이 큰 값을 가지고, 롤(Rz)이 정확한 경우에는 1/Gl과 1/Gr이 '0'에 가깝게 나타나게 된다.
도 13은 차량의 좌측 카메라 및 우측 카메라의 위치 이동(Tz)이 틀어진 경우를 나타낸다. 도 13의 좌측 그림은 좌측 카메라 및 우측 카메라의 위치 이동(Tz)이 실제 기준 값인 ground truth 값 보다 큰 경우이고, 도 12의 우측 그림은 좌측 카메라 및 우측 카메라의 위치 이동(Tz)이 실제 기준 값인 ground truth 값 보다 작은 경우이다. 여기서 좌측 카메라 및 우측 카메라의 위치 이동(Tz)이 정확한 경우에는 차량의 전후방 차선의 폭과 차량의 좌우측 차선의 폭이 동일하게 나타나게 된다.
단계들(534)에서, 전자 장치(200)는 좌측 카메라 및 우측 카메라의 피치(Rx), 요(Ry), 롤(Rz), 위치 이동(Tz)이 정확하지 않은 경우, 좌측 카메라 및 우측 카메라의 피치(Rx), 요(Ry), 롤(Rz), 위치 이동(Tz)을 다시 계산한다.
좌측 카메라의 피치(Rx)는 아래의 [수학식 7]에 기초하여 계산될 수 있다.
[수학식 7]
Figure 112019052623383-pat00006
[수학식 7]에서, LeftCameraNew Rx는 새로운 좌측 카메라의 피치이고, LeftCameraPre Rx는 현재의 좌측 카메라의 피치이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, x1는 전방 차로 좌측 차선의 좌측 x좌표이고, x2는 전방 차로 좌측 차선의 우측 x좌표이고, x5는 후방 차로 좌측 차선의 좌측 x좌표이고, x6는 후방 차로 좌측 차선의 우측 x좌표이다. LeftCameraNew Rx와 LeftCameraPre Rx가 동일해질 때까지(즉, x2+ x6= x1+ x5), 새로운 좌측 카메라의 피치가 계산된다.
우측 카메라의 피치(Rx)는 아래의 [수학식 8]에 기초하여 계산될 수 있다.
[수학식 8]
Figure 112019052623383-pat00007
[수학식 8]에서, RightCameraNew Rx는 새로운 우측 카메라의 피치이고, RightCameraPre Rx는 현재의 우측 카메라의 피치이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, x3은 전방 차로 우측 차선의 좌측 x좌표이고, x4는 전방 차로 우측 차선의 우측 x좌표이고, x7은 후방 차로 우측 차선의 좌측 x좌표이고, x8은 후방 차로 우측 차선의 우측 x좌표이다. RightCameraNew Rx와 RightCameraPre Rx가 동일해질 때까지(즉, x3+ x7= x4+ x8), 새로운 우측 카메라의 피치가 계산된다.
좌측 카메라의 요(Ry)는 아래의 [수학식 9]에 기초하여 계산될 수 있다.
[수학식 9]
Figure 112019052623383-pat00008
[수학식 9]에서, LeftCameraNew Ry는 새로운 좌측 카메라의 요이고, LeftCameraPre Ry는 현재의 좌측 카메라의 요이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, x11는 전방 차로 좌측 차선의 좌측 x좌표, x22는 전방 차로 좌측 차선의 우측 x좌표이고, x55는 후방 차로 좌측 차선의 좌측 x좌표이고, x66는 후방 차로 좌측 차선의 우측 x좌표이다. LeftCameraNew Ry와 LeftCameraPre Ry가 동일해질 때까지(즉, x22- x11= x66- x55), 새로운 좌측 카메라의 요가 계산된다.
우측 카메라의 요(Ry)는 아래의 [수학식 10]에 기초하여 계산될 수 있다.
[수학식 10]
Figure 112019052623383-pat00009
[수학식 10]에서, RightCameraNew Ry는 새로운 우측 카메라의 요이고, RightCameraPre Ry는 현재의 우측 카메라의 요이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, x33은 전방 차로 우측 차선의 좌측 x좌표이고, x44는 전방 차로 우측 차선의 우측 x좌표이고, x77은 후방 차로 우측 차선의 좌측 x좌표이고, x88은 후방 차로 우측 차선의 우측 x좌표이다. RightCameraNew Ry와 RightCameraPre Ry가 동일해질 때까지(즉, x44-x33= x88-x77), 새로운 우측 카메라의 피치가 계산된다.
좌측 카메라의 롤(Rz)은 아래의 [수학식 11]에 기초하여 계산될 수 있다.
[수학식 11]
Figure 112019052623383-pat00010
[수학식 11]에서, LeftCameraNew Rz는 새로운 좌측 카메라의 롤이고, LeftCameraPre Rz는 현재의 좌측 카메라의 롤이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, Gl는 왼쪽 차선의 기울기이다. LeftCameraNew Rz와 LeftCameraPre Rz가 동일해질 때까지(즉, 1/Gl = 0), 새로운 좌측 카메라의 롤이 계산된다.
우측 카메라의 롤(Rz)은 아래의 [수학식 12]에 기초하여 계산될 수 있다.
[수학식 12]
Figure 112019052623383-pat00011
[수학식 12]에서, RightCameraNew Rz는 새로운 우측 카메라의 롤이고, RightCameraNew Rz는 현재의 우측 카메라의 롤이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, Gr은 우측 차선의 기울기이다. RightCameraNew Rz와 RightCameraNew Rz가 동일해질 때까지(즉, 1/Gr = 0), 새로운 우측 카메라의 롤이 계산된다.
좌측 카메라의 위치 이동(Tz)은 아래의 [수학식 13에 기초하여 계산될 수 있다.
[수학식 13]
Figure 112019052623383-pat00012
[수학식 13]에서, LeftCameraNew Tz는 새로운 좌측 카메라의 위치 이동이고, LeftCameraPre Tz는 현재의 좌측 카메라의 위치 이동이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, x111는 전방 차로 좌측 차선의 좌측 x좌표, x222는 전방 차로 좌측 차선의 우측 x좌표이고, x555는 좌측 차선의 좌측 x좌표이고, x666는 좌측 차선의 우측 x좌표이고, x999는 후방 차로 좌측 차선의 좌측 x좌표이고, x10는 후방 차로 좌측 차선의 우측 x좌표이이다. LeftCameraNew Tz와 LeftCameraPre Tz가 동일해질 때까지(즉, (x222- x111)/2= x666- x555), 새로운 좌측 카메라의 위치 이동이 계산된다.
우측 카메라의 위치 이동(Tz)는 아래의 [수학식 14]에 기초하여 계산될 수 있다.
[수학식 14]
Figure 112019052623383-pat00013
[수학식 14]에서, RightCameraNew Tz는 새로운 우측 카메라의 위치 이동이고, RightCameraPre Tz는 현재의 우측 카메라의 위치 이동이고, α는 사용자가 지정할 수 있는 임의의 상수 값이고, x333은 전방 차로 우측 차선의 좌측 x좌표이고, x444는 전방 차로 우측 차선의 우측 x좌표이고, x777은 우측 차선의 좌측 x좌표이고, x888은 우측 차선의 우측 x좌표이고, x11은 후방 차로 우측 차선의 좌측 x좌표이고, x12은 후방 차로 우측 차선의 우측 x좌표이다. RightCameraNew Tz와 RightCameraPre Tz가 동일해질 때까지(즉, ((x444-x333)+(x12-x11))/2 = x888- x777), 새로운 우측 카메라의 위치 이동이 계산된다.
단계(540)에서, 전자 장치(200)는 카메라(240)의 적어도 하나의 롤(Rz)을 조정한다. 도 14 내지 도 19를 참조하여 카메라(240)의 적어도 하나의 롤(Rz)을 조정하는 방법이 설명된다.
일 측면에 따르면, 초기 롤(Rz)과 단계들(510 내지 530)을 통해 계산된 롤(Rz) 간의 차이를 채널 별로 계산하고, 계산된 차이들이 모두 거의 0 또는 유사한 경우에는 단계(540)가 수행되지 않을 수 있다. 예를 들어, 계산된 차이들이 모두 거의 0인 경우는 계산된 Rz가 비교적 정확하고, 차량과 차선이 평행한 경우일 수 있다. 다른 예로, 계산된 차이가 유사한 경우는 계산된 Rz가 비교적 정확하고, 차량과 차선이 평행하지 않은 경우일 수 있다. 차이는 채널 별로 다를 수 있다.
즉, 차량과 차선이 평행하지 않은 상태에서 계산된 Rz가 정확하지 않은 경우, 단계(540)가 수행될 수 있다. 도 17을 참조하면, 실제는 차량과 차선이 평행하지 않지만, 단계들(510 내지 530)을 통해 계산된 Rz를 이용하여 생성된 영상(1700)에는 전방 차선들(1710), 우측 차선(1720), 좌측 차선(1730) 및 후방 차선들(1740)이 차량과 평행하도록 나타날 수 있다. 차선들(1710 내지 1740)이 모두 연결되도록 Rz가 다시 계산되어야 한다.
도 14를 참조하면, 단계(540)는 아래의 단계들(1410 내지 1440)을 포함할 수 있다.
단계(1410)에서, 전자 장치(200)는 카메라의(240)의 채널들(예를 들어, 4개의 채널들) 각각에 대해, 초기 Rz와 단계들(510 내지 530)을 통해 계산된 Rz와 간의 제1 차이(first difference)를 계산한다. 초기 Rz는 초기 값으로 설정된 값일 수 있다. 각각의 카메라에 의해 획득되는 정보가 채널로서 정의될 수 있다.
단계(1420)에서, 전자 장치(200)는 계산된 제1 차이들의 제1 차이 평균을 계산한다.
단계(1430)에서, 전자 장치(200)는 제1 차이 평균이 미리 설정된 제1 평균 임계치를 초과하는지 여부를 결정한다.
제1 차이 평균이 제1 평균 임계치를 초과하는 경우, 카메라(240)의 채널들 중 일부의 채널의 초기 Rz에 오차가 있는 것이므로, 해당하는 채널의 계산된 Rz는 Rz를 조정하기 위해 이용될 수 없다. 예를 들어, 전방 카메라의 채널에 대해 계산된 제1 차이가 다른 채널들의 제1 차이보다 큰 경우, 전방 카메라의 채널의 계산된 Rz가 배제될 수 있다.
제1 차이 평균이 제1 평균 임계치를 초과하지 않는 경우, 카메라(240)의 모든 채널들의 계산된 Rz들이 Rz를 조정하기 위해 이용될 수 있다..
단계(1440)에서, 전자 장치(200)는 제1 차이 평균에 기초하여 채널들 각각의 Rz를 조정한다. 전방 카메라 및 후방 카메라의 Rz는 아래의 [수학식 15]를 이용하여 조정될 수 있다.
[수학식 15]
Figure 112019052623383-pat00014
[수학식 15]에서, PreRz는 단계들(510 내지 530)을 통해 계산된 전방 또는 후방 카메라의 Rz이고,
Figure 112019052623383-pat00015
는 전체의 채널들에 대한 상기의 제1 차이 평균이고, NewRz는 조정된 Rz이다. [수학식 15]가 반복적으로 수행되는 경우, PreRz는 이전에 조정된 Rz이 될 수 있다.
전방 카메라 및 후방 카메라의 Rz를 조정한 후, 생성된 예시적인 영상은 도 18과 같다. 전방 카메라 및 후방 카메라의 Rz가 조정된 후의 영상 내의 전방 차선들 및 후방 차선들은 차량과 평행하지 않을 수 있다.
좌측 카메라 및 우측 카메라의 Rz가 조정되지 않은 경우, 제1 포인트(1801)와 제3 포인트(1803)이 동일한 점으로 매칭되지 않고, 제2 포인트(1802)와 제5 포인트(1805)이 동일한 점으로 매칭되지 않고, 제4 포인트(1804)와 제7 포인트(1807)이 동일한 점으로 매칭되지 않으며, 제6 포인트(1806)와 제8 포인트(1808)이 동일한 점으로 매칭되지 않는다. 상기의 포인트들이 각각 매칭되도록 좌측 카메라 및 우측 카메라의 Rz이 조정될 수 있다.
예를 들어, 영상 내의 포인트들이 매칭되도록 좌측 카메라 및 우측 카메라의 Rz이 조정될 수 있다. 예를 들어, 동일 차선 상에 위치하는 전방 좌측 차선의 포인트 및 좌측 차선의 포인트가 매칭되도록 좌측 카메라 및 우측 카메라의 Rz이 조정될 수 있다.
좌측 카메라의 Rz는 아래의 [수학식 16]을 이용하여 조정될 수 있다.
[수학식 16]
Figure 112019052623383-pat00016
[수학식 16]에서, LeftCameraPreRz는 단계들(510 내지 530)을 통해 계산된 좌측 카메라의 Rz이고, LeftCameraNewRz는 조정된 좌측 카메라의 Rz일 수 있다. [수학식 16]가 반복적으로 수행되는 경우, LeftCameraPreRz는 이전에 조정된 Rz이 될 수 있다.
Figure 112019052623383-pat00017
,
Figure 112019052623383-pat00018
는 각각 제1 포인트(1801)의 x 좌표 및 y 좌표이고,
Figure 112019052623383-pat00019
,
Figure 112019052623383-pat00020
는 각각 제7 포인트(1807)의 x 좌표 및 y 좌표이다.
Figure 112019052623383-pat00021
,
Figure 112019052623383-pat00022
는 각각 제3 포인트(1803)의 x 좌표 및 y 좌표이고,
Figure 112019052623383-pat00023
,
Figure 112019052623383-pat00024
는 제4 포인트(1804)의 x 좌표 및 y 좌표이다.
LeftCameraPreRz 및 LeftCameraNewRz가 동일해지는 경우(즉,
Figure 112019052623383-pat00025
이 0이 되는 경우), 좌측 카메라의 Rz 조정이 완료될 수 있다.
우측 카메라의 Rz는 아래의 [수학식 17]을 이용하여 조정될 수 있다.
[수학식 17]
Figure 112019052623383-pat00026
[수학식 17]에서, RightCameraPreRz는 단계들(510 내지 530)을 통해 계산된 우측 카메라의 Rz이고, RightCameraNewRz는 조정된 우측 카메라의 Rz일 수 있다. [수학식 17]이 반복적으로 수행되는 경우, RightCameraPreRz는 이전에 조정된 Rz이 될 수 있다.
Figure 112019052623383-pat00027
,
Figure 112019052623383-pat00028
는 각각 제2 포인트(1802)의 x 좌표 및 y 좌표이고,
Figure 112019052623383-pat00029
,
Figure 112019052623383-pat00030
는 각각 제8 포인트(1808)의 x 좌표 및 y 좌표이다.
Figure 112019052623383-pat00031
,
Figure 112019052623383-pat00032
는 각각 제5 포인트(1805)의 x 좌표 및 y 좌표이고,
Figure 112019052623383-pat00033
,
Figure 112019052623383-pat00034
는 각각 제6 포인트(1806)의 x 좌표 및 y 좌표이다.
RightCameraPreRz 및 RightCameraNewRz가 동일해지는 경우(즉,
Figure 112019052623383-pat00035
이 0이 되는 경우), 우측 카메라의 Rz 조정이 완료될 수 있다.
수학식 내에서 전방 차선 및 후방 차선의 포인트를 이용한 좌측 차선의 기울기인
Figure 112019052623383-pat00036
와 우측 차선의 기울기인
Figure 112019052623383-pat00037
는 변하지 않는 값이기 때문에 그대로 두면 되고, 각 좌측 차선의 포인트 및 우측 차선의 포인트를 이용한 좌측 차선의 기울기인
Figure 112019052623383-pat00038
와 우측 차선의 기울기인
Figure 112019052623383-pat00039
는 좌측 카메라의 Rz와 우측 카메라의 Rz가 조정될 때마다 변화할 수 있다.
도 19은 4개의 카메라(또는 채널)들 각각의 Rz가 적절하게 조정된 경우, 최종적으로 생성된 영상(1900)을 도시한다. Rz들이 적절하게 조정된 경우, 전방 차선들, 좌측 차선, 우측 차선 및 후방 차선들의 기울기가 동일하게 나타날 수 있다.
다시 도 14를 참조하면, 단계(1430)에서 제1 차이 평균이 제1 평균 임계치를 초과하는 것으로 결정된 경우, 도 15를 참조하여 설명되는 단계(1500)가 추가로 수행된다.
일 측면에 따르면, 도 15의 단계(1500)는 단계들(1510 내지 1530)을 포함할 수 있다.
단계(1510)에서, 전자 장치(200)는 전체 채널들에서 하나의 채널을 제외한 채널들(예를 들어, 3개의 채널들)에 대해 계산된 제1 차이들의 제2 차이 평균을 계산한다. 예를 들어, 전방 카메라의 채널을 제외한 3개의 체널들에 대한 제2 차이 평균이 계산될 수 있다.
단계(1520)에서, 전자 장치(200)는 계산된 제2 차이 평균이 미리 설정된 제2 평균 임계치를 초과하는지 여부를 결정한다. 제2 평균 임계치는 제1 평균 임계치와 동일하거나 상이할 수 있다.
제2 차이 평균이 제2 평균 임계치를 초과하는 경우, 카메라(240)의 3개의 채널들 중 일부의 채널의 초기 Rz에 오차가 있는 것이므로, 해당하는 채널의 계산된 Rz는 Rz를 조정하기 위해 이용될 수 없다. 예를 들어, 좌측 카메라의 채널에 대해 계산된 제1 차이가 다른 채널들의 제1 차이보다 큰 경우, 좌측 카메라의 채널의 계산된 Rz가 추가적으로 배제될 수 있다. 이러한 경우, 도 16을 참조하여 설명되는 단계(1600)가 추가로 수행될 수 있다.
제2 차이 평균이 제2 평균 임계치를 초과하지 않는 경우, 제2 차이 평균이 Rz를 조정하기 위해 이용될 수 있다.
단계(1530)에서, 전자 장치(200)는 제2 차이 평균에 기초하여 4개의 채널들 각각의 Rz를 조정한다. 4개의 채널들 각각의 Rz를 조정하는 방법에 대한 설명은 단계(1440)에 대한 설명으로 대체될 수 있다. [수학식 15]의
Figure 112019052623383-pat00040
가 제2 차이 평균으로 대체될 수 있다.
다시 도 15를 참조하면, 단계(1520)에서 제2 차이 평균이 제2 평균 임계치를 초과하는 것으로 결정된 경우, 도 16을 참조하여 설명되는 단계(1600)가 추가로 수행된다.
일 측면에 따르면, 도 16의 단계(1600)는 단계들(1610 내지 1630)을 포함할 수 있다.
단계(1610)에서, 전자 장치(200)는 전체의 채널들에서 두개의 채널들을 채널들을 제외한 채널들(예를 들어, 2개의 채널들)에 대해 계산된 제1 차이들의 제3 차이 평균을 계산한다. 예를 들어, 전방 채널, 및 좌측 채널을 제외한 2개의 체널들에 대한 제3 차이 평균이 계산될 수 있다.
단계(1620)에서, 전자 장치(200)는 계산된 제3 차이 평균 미리 설정된 제3 평균 임계치를 초과하는지 여부를 결정한다. 제3 평균 임계치는 제1 평균 임계치 및 제2 평균 임계치와 동일하거나 상이할 수 있다. 제3 평균 임계치가 제3 평균 임계치를 초과하는 경우, 더 이상 Rz를 조정할 수 없는 것으로 결정되어 Rz 조정이 종료될 수 있다.
단계(1630)에서, 전자 장치(200)는 제3 차이 평균에 기초하여 4개의 채널들 각각의 Rz를 조정한다. 4개의 채널들 각각의 Rz를 조정하는 방법에 대한 설명은 단계(1440)에 대한 설명으로 대체될 수 있다. [수학식 15]의
Figure 112019052623383-pat00041
가 제3 차이 평균으로 대체될 수 있다.
다시 도 5를 참조하면, 단계(550)에서, 전자 장치(200)는 단계들(510 내지 540)을 통해 최종적으로 계산된 외부 파라미터를 저장한다.
다시 도 3을 참조하면, 단계(360)에서, 전자 장치(200)는 계산된 외부 파라미터에 기초하여 영상을 보정한다. 보정된 영상은 최종(또는 타겟) 탑뷰 영상일 수 있다.
전술된 단계들(310 내지 360)은 차량의 주행 중에도 수행될 수 있으므로, 외부 파라미터가 자동적으로 캘리브레이션 될 수 있다.
이상에서 설명한 바와 같이 본 발명은 차량에 장착된 복수의 카메라들로부터 차량의 주행 차로를 촬영한 영상들을 수신하여 상기 촬영 영상으로부터 차선을 검출한 후 검출된 차선을 이용하여 차량에 장착된 카메라의 외부 파라미터를 보정하는 카메라 캘리브레이션을 수행하고 있기 때문에 차량을 멈추지 않고도 카메라의 캘리브레이션을 신속하고 간편하게 수행할 수 있는 효과가 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
110: 카메라 모듈 120: 입출력 모듈
121: 영상입출력부 122: 저장부
130: 차선검출모듈 131: 영상처리부
132: 프레임누적부 133: 엣지검출부
134: 차선판단부 140: 카메라보정 모듈
141: 이미지변환부 142: 방정식산출부
143: 파라미터추정부 144: 보정부

Claims (22)

  1. 복수의 카메라들을 캘리브레이션하는 장치에 의해 수행되는 카메라 캘리브레이션 방법은,
    차량 주변을 촬영하는 복수의 카메라들을 이용하여 복수의 영상들을 생성하는 단계;
    상기 복수의 영상들 내의 차선들을 검출하는 단계;
    초기 카메라 정보 및 초기 외부 파라미터에 기초하여 복수의 영상들을 이용하여 탑뷰(top view) 영상을 생성하는 단계 - 상기 초기 외부 파라미터는 카메라의 초기 자세 정보 및 초기 위치 정보를 포함하고, 상기 초기 자세 정보는 상기 카메라의 피치(Rx), 요(Ry), 및 롤(Rz)을 포함하고, 상기 초기 위치 정보는 상기 카메라의 위치 이동(Tz)을 포함함 -;
    상기 탑뷰 영상 내의 차선들에 대한 방정식을 계산하는 단계;
    상기 복수의 카메라들 중 전방 카메라 및 후방 카메라 각각에 대한 피치(Rx), 요(Ry), 및 롤(Rz)을 계산하는 단계;
    상기 전방 카메라 및 상기 후방 카메라 각각에 대한 피치(Rx), 요(Ry), 및 롤(Rz)에 기초하여 상기 후방 카메라의 위치 이동(Tz)을 계산하는 단계;
    상기 후방 카메라의 위치 이동(Tz)에 기초하여 상기 복수의 카메라들 중 좌측 카메라 및 우측 카메라 각각에 대한 피치(Rx), 요(Ry), 롤(Rz), 및 위치 이동(Tz)을 계산하는 단계; 및
    상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계
    를 포함하고,
    상기 롤(Rz)을 조정하는 단계는,
    상기 복수의 카메라들 각각에 대해 초기 롤과 계산된 롤(Rz) 간의 제1 차이를 계산하는 단계;
    계산된 제1 차이들의 제1 차이 평균을 계산하는 단계;
    상기 제1 차이 평균이 미리 설정된 제1 평균 임계치를 초과하는지 여부를 결정하는 단계;
    상기 제1 차이 평균이 상기 제1 평균 임계치를 초과하지 않는 경우, 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계
    를 포함하는,
    카메라 캘리브레이션 방법.
  2. 제1항에 있어서,
    상기 복수의 영상들 내의 차선을 검출하는 단계는,
    상기 복수의 카메라들의 제1 카메라에 의해 생성된 프레임들을 누적함으로써 제1 영상을 생성하는 단계;
    상기 제1 영상 내의 엣지를 검출하는 단계; 및
    상기 엣지에 기초하여 상기 제1 영상의 차선을 결정하는 단계
    를 포함하는,
    카메라 캘리브레이션 방법.
  3. 제2항에 있어서,
    상기 복수의 영상들 내의 차선을 검출하는 단계는,
    상기 제1 영상 내의 노이즈를 제거하는 단계; 및
    상기 제1 영상을 흑백 영상으로 변환하는 단계
    중 적어도 하나를 더 포함하고,
    상기 제1 영상 내의 엣지를 검출하는 단계는,
    노이즈가 제거된 제1 영상 또는 흑백 영상으로 변환된 제1 영상 내의 엣지를 검출하는 단계
    를 포함하는,
    카메라 캘리브레이션 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서,
    상기 롤을 조정하는 단계는,
    상기 제1 차이 평균이 상기 제1 평균 임계치를 초과하는 경우, 상기 제1 차이들 중 가장 큰 차이를 나타내는 카메라를 제외한 나머지 카메라들의 제1 차이들에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계
    를 더 포함하는,
    카메라 캘리브레이션 방법.
  8. 제1항에 있어서,
    상기 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계는,
    상기 제1 차이 평균에 기초하여 상기 전방 카메라 및 상기 후방 카메라의 롤(Rz)을 조정하는 단계
    를 포함하는,
    카메라 캘리브레이션 방법.
  9. 제8항에 있어서.
    상기 제1 차이 평균에 기초하여 상기 전방 카메라 및 상기 후방 카메라의 롤(Rz)을 조정하는 단계는,
    상기 전방 카메라의 이전 롤(Rz)에서 상기 제1 차이 평균을 뺌으로써 상기 전방 카메라의 롤(Rz)을 조정하는 단계
    를 포함하는,
    카메라 캘리브레이션 방법.
  10. 제1항에 있어서,
    상기 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계는,
    동일 차선 상에 위치하는 전방 좌측 차선의 포인트 및 좌측 차선의 포인트가 매칭되도록 상기 좌측 카메라의 롤(Rz)을 조정하는 단계
    를 포함하는,
    카메라 캘리브레이션 방법.
  11. 제1항, 제2항, 제3항, 및 제7항 내지 제10항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
  12. 복수의 카메라들을 캘리브레이션 하는 장치는,
    차량의 주변 영상을 생성하는 복수의 카메라들;
    상기 복수의 카메라들을 캘리브레이션 하는 프로그램이 기록된 메모리; 및
    상기 프로그램을 수행하는 프로세서
    를 포함하고,
    상기 프로그램은,
    상기 복수의 카메라들을 이용하여 복수의 영상들을 생성하는 단계;
    상기 복수의 영상들 내의 차선들을 검출하는 단계;
    초기 카메라 정보 및 초기 외부 파라미터에 기초하여 복수의 영상들을 이용하여 탑뷰(top view) 영상을 생성하는 단계 - 상기 초기 외부 파라미터는 카메라의 초기 자세 정보 및 초기 위치 정보를 포함하고, 상기 초기 자세 정보는 상기 카메라의 피치(Rx), 요(Ry), 및 롤(Rz)을 포함하고, 상기 초기 위치 정보는 상기 카메라의 위치 이동(Tz)을 포함함 -;
    상기 탑뷰 영상 내의 차선들에 대한 방정식을 계산하는 단계;
    상기 복수의 카메라들 중 전방 카메라 및 후방 카메라 각각에 대한 피치(Rx), 요(Ry), 및 롤(Rz)을 계산하는 단계;
    상기 전방 카메라 및 상기 후방 카메라 각각에 대한 피치(Rx), 요(Ry), 및 롤(Rz)에 기초하여 상기 후방 카메라의 위치 이동(Tz)을 계산하는 단계;
    상기 후방 카메라의 위치 이동(Tz)에 기초하여 상기 복수의 카메라들 중 좌측 카메라 및 우측 카메라 각각에 대한 피치(Rx), 요(Ry), 롤(Rz), 및 위치 이동(Tz)을 계산하는 단계; 및
    상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계
    를 수행하고,
    상기 롤(Rz)을 조정하는 단계는,
    상기 복수의 카메라들 각각에 대해 초기 롤과 계산된 롤(Rz) 간의 제1 차이를 계산하는 단계;
    계산된 제1 차이들의 제1 차이 평균을 계산하는 단계;
    상기 제1 차이 평균이 미리 설정된 제1 평균 임계치를 초과하는지 여부를 결정하는 단계;
    상기 제1 차이 평균이 상기 제1 평균 임계치를 초과하지 않는 경우, 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계
    를 포함하는,
    카메라 캘리브레이션 장치.
  13. 제12항에 있어서,
    상기 복수의 영상들 내의 차선을 검출하는 단계는,
    상기 복수의 카메라들의 제1 카메라에 의해 생성된 프레임들을 누적함으로써 제1 영상을 생성하는 단계;
    상기 제1 영상 내의 엣지를 검출하는 단계; 및
    상기 엣지에 기초하여 상기 제1 영상의 차선을 결정하는 단계
    를 포함하는,
    카메라 캘리브레이션 장치.
  14. 제13항에 있어서,
    상기 복수의 영상들 내의 차선을 검출하는 단계는,
    상기 제1 영상 내의 노이즈를 제거하는 단계; 및
    상기 제1 영상을 흑백 영상으로 변환하는 단계
    중 적어도 하나를 더 포함하고,
    상기 제1 영상 내의 엣지를 검출하는 단계는,
    노이즈가 제거된 제1 영상 또는 흑백 영상으로 변환된 제1 영상 내의 엣지를 검출하는 단계
    를 포함하는,
    카메라 캘리브레이션 장치.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 제12항에 있어서,
    상기 롤을 조정하는 단계는,
    상기 제1 차이 평균이 상기 제1 평균 임계치를 초과하는 경우, 상기 제1 차이들 중 가장 큰 차이를 나타내는 카메라를 제외한 나머지 카메라들의 제1 차이들에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계
    를 더 포함하는,
    카메라 캘리브레이션 장치.
  19. 제12항에 있어서,
    상기 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계는,
    상기 제1 차이 평균에 기초하여 상기 전방 카메라 및 상기 후방 카메라의 롤(Rz)을 조정하는 단계
    를 포함하는,
    카메라 캘리브레이션 장치.
  20. 제19항에 있어서.
    상기 제1 차이 평균에 기초하여 상기 전방 카메라 및 상기 후방 카메라의 롤(Rz)을 조정하는 단계는,
    상기 전방 카메라의 이전 롤(Rz)에서 상기 제1 차이 평균을 뺌으로써 상기 전방 카메라의 롤(Rz)을 조정하는 단계
    를 포함하는,
    카메라 캘리브레이션 장치.
  21. 제12항에 있어서,
    상기 제1 차이 평균에 기초하여 상기 복수의 카메라들 각각의 롤(Rz)을 조정하는 단계는,
    동일 차선 상에 위치하는 전방 좌측 차선의 포인트 및 좌측 차선의 포인트가 매칭되도록 상기 좌측 카메라의 롤(Rz)을 조정하는 단계
    를 포함하는,
    카메라 캘리브레이션 장치.
  22. 삭제
KR1020190060180A 2019-05-22 2019-05-22 차량용 카메라 캘리브레이션 장치 및 그 방법 KR102274026B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190060180A KR102274026B1 (ko) 2019-05-22 2019-05-22 차량용 카메라 캘리브레이션 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190060180A KR102274026B1 (ko) 2019-05-22 2019-05-22 차량용 카메라 캘리브레이션 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20200135606A KR20200135606A (ko) 2020-12-03
KR102274026B1 true KR102274026B1 (ko) 2021-07-09

Family

ID=73779386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190060180A KR102274026B1 (ko) 2019-05-22 2019-05-22 차량용 카메라 캘리브레이션 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102274026B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015029934A1 (ja) 2013-08-30 2015-03-05 クラリオン株式会社 カメラ校正装置、カメラ校正システム、及びカメラ校正方法
WO2017122552A1 (ja) 2016-01-15 2017-07-20 ソニー株式会社 画像処理装置および方法、プログラム、並びに画像処理システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102022402B1 (ko) * 2017-10-12 2019-09-19 현대모비스 주식회사 캘리브레이션 방법 및 장치
KR101969030B1 (ko) * 2017-09-13 2019-04-16 (주)베이다스 차량용 카메라 캘리브레이션 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015029934A1 (ja) 2013-08-30 2015-03-05 クラリオン株式会社 カメラ校正装置、カメラ校正システム、及びカメラ校正方法
WO2017122552A1 (ja) 2016-01-15 2017-07-20 ソニー株式会社 画像処理装置および方法、プログラム、並びに画像処理システム

Also Published As

Publication number Publication date
KR20200135606A (ko) 2020-12-03

Similar Documents

Publication Publication Date Title
CN109086650B (zh) 校准方法和校准设备
KR101969030B1 (ko) 차량용 카메라 캘리브레이션 장치 및 그 방법
US8259174B2 (en) Camera auto-calibration by horizon estimation
JP3868876B2 (ja) 障害物検出装置及び方法
US20160182793A1 (en) Image distortion correction of a camera with a rolling shutter
LU502288B1 (en) Method and system for detecting position relation between vehicle and lane line, and storage medium
JP6779365B2 (ja) 物体検出装置及び車両
KR101808092B1 (ko) 어라운드뷰 모니터링 영상 자동 보정 및 생성 장치 및 방법
US11132530B2 (en) Method for three-dimensional graphic reconstruction of a vehicle
US11880993B2 (en) Image processing device, driving assistance system, image processing method, and program
JP6035620B2 (ja) 車載ステレオカメラシステム及びそのキャリブレーション方法
KR101705558B1 (ko) Avm 시스템의 공차 보정 장치 및 방법
WO2019073772A1 (ja) 移動体の位置推定装置及び位置推定方法
KR102022402B1 (ko) 캘리브레이션 방법 및 장치
US20200193184A1 (en) Image processing device and image processing method
KR101394770B1 (ko) 곡선 차선 모델을 이용한 영상 안정화 방법 및 시스템
US20120128211A1 (en) Distance calculation device for vehicle
KR102297683B1 (ko) 복수의 카메라들을 캘리브레이션하는 방법 및 장치
KR102274026B1 (ko) 차량용 카메라 캘리브레이션 장치 및 그 방법
US11636624B2 (en) Calibration device and calibration method
JP2020095621A (ja) 画像処理装置および画像処理方法
KR102277828B1 (ko) 복수의 카메라들을 캘리브레이션하는 방법 및 장치
JP7311407B2 (ja) 姿勢推定装置、および、姿勢推定方法
JP6492603B2 (ja) 画像処理装置、システム、画像処理方法、およびプログラム
KR101989370B1 (ko) 차선인식 기반의 svm 다이나믹 오토 캘리브레이션 방법

Legal Events

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