KR101566910B1 - 차량 운전 보조 장치 및 그 동작 방법 - Google Patents

차량 운전 보조 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR101566910B1
KR101566910B1 KR1020140086231A KR20140086231A KR101566910B1 KR 101566910 B1 KR101566910 B1 KR 101566910B1 KR 1020140086231 A KR1020140086231 A KR 1020140086231A KR 20140086231 A KR20140086231 A KR 20140086231A KR 101566910 B1 KR101566910 B1 KR 101566910B1
Authority
KR
South Korea
Prior art keywords
estimating
image
linear function
disparity map
piecewise linear
Prior art date
Application number
KR1020140086231A
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 KR1020140086231A priority Critical patent/KR101566910B1/ko
Priority to US14/513,287 priority patent/US9582867B2/en
Priority to CN201410610289.9A priority patent/CN105313774B/zh
Application granted granted Critical
Publication of KR101566910B1 publication Critical patent/KR101566910B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/10Image enhancement or restoration using non-spatial domain filtering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/12Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to parameters of the vehicle itself, e.g. tyre models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • 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/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)
  • Image Processing (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)

Abstract

본 발명은 차량에 장착되고, 제1 카메라를 통해 제1 영상을 획득하고, 제2 카메라를 통해 제2 영상을 획득하는 스테레오 카메라 모듈 및 상기 제1 영상 및 상기 제2 영상을 스테레오 매칭(stereo matching)하여 덴스 디스패러티 맵(dense disparity map)을 획득하고, 상기 덴스 디스패러티 맵으로부터 코스 투 파인(coarse-to-fine)기법을 이용하여 큐빅 비 스플라인(cubic b-spline)곡선을 추정하고, 상기 큐빅 비 스플라인 곡선을 이용하여 상기 차량이 주행하는 3차원의 도로를 2차원으로 변환하는 로드 프로파일(road profile)을 수행하는 프로세서;를 포함하는 운전 보조 장치에 관한 것이다.

Description

차량 운전 보조 장치 및 그 동작 방법{Driver assistance apparatus and method}
본 발명은 차량 운전 보조 장치 및 그 동작 방법에 관한 것이다.
일반적으로, 자동차는 자체 엔진에서 동력을 생산해 바퀴에 전달하여 도로 상에서 승객이나 화물을 운반하는 교통 수단이다. 자동차는 크게 외관을 형성하는 차체(body)와 각종 장치들이 유기적으로 연결된 섀시(chassis)로 나눌 수 있다. 섀시는 주행의 원동력이 되는 자동차 엔진을 비롯하여 동력전달 장치, 조향 장치, 현가 장치, 제동 장치 등 주요 장치를 포함한다.
한편, 최근에는 자동차의 편의 장치로 스테레오 카메라에 대한 연구가 활발히 이루어지고 있다. 스테레오 카메라는 영상과 거리 정보를 동시에 제공하기 때문에 전방 주행 환경 인식 목적으로 널리 연구되고 있다.
본 발명은 코스 투 파인 기법(Coarse-to-fine)을 사용한 덴스 스테리오 비전(Dense Stereo Vision) 기반으로 도로면을 추정하는 운전 보조 장치 및 동작방법을 제공하는데 그 목적이 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시예에 따른 운전 보조 장치는 차량에 장착되고, 제1 카메라를 통해 제1 영상을 획득하고, 제2 카메라를 통해 제2 영상을 획득하는 스테레오 카메라 및 상기 제1 영상 및 상기 제2 영상을 스테레오 매칭(stereo matching)하여 덴스 디스패러티 맵(dense disparity map)을 획득하고, 상기 덴스 디스패러티 맵으로부터 코스 투 파인(coarse-to-fine)기법을 이용하여 큐빅 비 스플라인(cubic b-spline)곡선을 추정하고, 상기 큐빅 비 스플라인 곡선을 이용하여 상기 차량이 주행하는 3차원의 도로를 2차원으로 변환하는 로드 프로파일(road profile)을 수행하는 프로세서를 포함한다.
한편, 본 발명의 실시예에 따른 운전 보조 장치의 동작 방법은 제1 카메라를 통해 제1 영상을 획득하고, 제2 카메라를 통해 제2 영상을 획득하는 스테레오 카메라 모듈를 포함한 차량의 운전 보조 장치의 동작 방법에 있어서,
상기 제1 영상 및 상기 제2 영상을 스테레오 매칭(stereo matching)하여 덴스 디스패러티 맵(dense disparity map)을 획득하는 단계, 상기 덴스 디스패러티 맵으로부터 코스 투 파인(coarse-to-fine)기법을 이용하여 큐빅 비 스플라인(cubic b-spline)곡선을 추정하는 단계 및 상기 큐빅 비 스플라인 곡선을 이용하여 상기 차량이 주행하는 3차원의 도로를 2차원으로 변환하는 로드 프로파일(road profile)을 수행하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 도로면의 형태나 교통상황 조건에 무관하게 도로면 추정을 올바르게 수행하여 성능이 향상되는 장점이 있다.
둘째, 운전자의 안전 운전 및 편의성 향상을 도모하는 장점이 있다.
셋째, 별도의 공정 추가 또는 부품 추가없이 본 발명이 차량에 적용될 수 있어, 경량화 등의 효과가 도출될 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 운전 보조 장치를 포함하는 자동차를 개략적으로 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 운전 보조 장치의 블럭도이다.
도 3은 본 발명의 실시예에 따른 운전 보조 장치의 동작 방법을 설명하는데 참조되는 도면이다.
도 4는 본 발명의 실시예에 따른 코스 투 파인 기법을 이용한 도로면 모델링의 근사화 결과를 설명하는데 참조되는 도면이다.
도 5는 본 발명의 실시예에 따라 덴스 픽셀처리부의 동작을 설명하는데 참조되는 도면이다.
도 6은 본 발명의 실시예에 따라 피스 와이즈 리니어 함수 추정부 및 큐빅 비 스플라인 곡선 추정부의 동작을 설명하는데 참조되는 도면이다.
도 7내지 도 12는 본 발명에 따라 로드 프로파일을 획득하는 비교실험 결과를 설명하는데 참조되는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 명세서에서 구성의 명칭을 제1, 제2 등으로 구분한 것은 그 구성의 명칭이 동일한 관계로 이를 구분하기 위한 것으로, 하기의 설명에서 반드시 그 순서에 한정되는 것은 아니다.
도 1은 본 발명의 실시예에 따른 차량 보조 장치를 포함하는 자동차를 개략적으로 도시한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 차량 보조 장치(100)는 스테레오 카메라 모듈(110)를 포함한다.
스테레오 카메라 모듈 (110)는 차량에 장착된다. 스테레오 카메라 모듈(110)은, 차량의 천정 또는 전면 유리에 탈부착 가능한 구조일 수 있다.
스테레오 카메라 모듈(110)은 제1 카메라 및 제2 카메라를 포함한다. 스테레오 카메라 모듈(110)은 제1 카메라를 통해 제1 영상을 획득하고, 제2 카메라를 통해 제2 영상을 획득한다.
도 2는 본 발명의 실시예에 따른 운전 보조 장치의 블럭도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 운전 보조 장치(100)는 스테레오 카메라 모듈(110), 입력부(120), 메모리(130), 표시부(140) 및 프로세서(150)를 포함한다.
스테레오 카메라 모듈(110)은 도 1을 참조하여 설명한 바와 같다.
입력부(120)는 차량 운전 보조 장치(100), 특히, 스테레오 카메라 모듈(110)에 부착되는 복수의 버튼 또는 터치 스크린을 구비할 수 있다. 복수의 버튼 또는 터치 스크린을 통해, 차량 운전 보조 장치(100)의 전원을 온 시켜, 동작시키는 것이 가능하다. 그 외, 다양한 입력 동작을 수행하는 것도 가능하다.
메모리(130)는 프로세서(150)의 처리 또는 제어를 위한 프로그램 등, 운전 보조 장치(100) 전반의 동작을 위한 다양한 데이터를 저장할 수 있다.
표시부(140)는 운전 보조 장치(100)의 동작과 관련한 이미지를 표시할 수 있다. 이러한 이미지 표시를 위해, 표시부(100)는, 차량 내부 전면의 클러스터(cluster) 또는 HUD(Head Up Display)를 포함할 수 있다. 한편, 표시부(140)가 HUD 인 경우, 차량의 전면 유리에 이미지를 투사하는 투사 모듈을 포함할 수 있다. 한편, 표시부(140)는 AVN(Audio Video Navigation) 모듈일 수 있다.
프로세서(150)는 스테레오 카메라 모듈(110)로부터 수신한 제1 영상 및 제2 영상을 스테레오 매칭(stereo matching)하여 덴스 디스페러티 맵(dense disparity mat)을 획득한다. 프로세서(150)는 덴스 디스패러티 맵으로부터 코스 투 파인(coarse-to-fine)기법을 이용하여 큐빅 비 스플라인(cubic b-spline)곡선을 추정한다. 프로세서(150)는 큐빅 비 스플라인 곡선을 이용하여 차량이 주행하는 3차원의 도로를 2차원으로 변환하는 로드 프로파일(road profile)을 수행한다.
프로세서(150)는 도로면의 형태를 추정한다. 일반적으로 장애물은 도로면 위에 존재하는 물체로 정의되어 인식되기 때문에, 도로면 추정 결과는 장애물 검출 성능에 직접적인 영향을 미치게 된다. 따라서 도로면을 정확히 추정하는 것은 매우 중요하다. 도로면은 실제로는 3차원 곡면이지만, 정밀도, 강인성, 연산량을 고려하여 일반적으로 2D slice로 근사화 되어 추정된다. 이렇게 2D slice로 표현된 도로면은 로드 프로파일(road profile)이라고 할 수 있다.
프로세서(150)는 로드 프로파일을 피스와이즈 리니어(piecewise linear) 함수로 모델링하여 추정하거나, B-spline 곡선으로 모델링하여 추정할 수 있다. 운전 보조 장치(100)는 큐빅 비 스플라인(cubic B-spline) 곡선으로 모델링하여 로드 프로파일을 추정하는 것이 바람직하다. 큐빅 비 스플라인 곡선은 자유도가 높기 때문에 정밀도 및 유연성 측면에서 유리하기 때문이다.
실시예에 따라서, 프로세서(150)는 칼만 필터(Kalman filter)를 사용하여 cubic B-spline 곡선으로 모델링된 로드 프로파일을 추정할 수 있다. 이경우, Kalman filter에 입력되는 3차원 점들이 도로면에서 추출된 Gaussian noise를 포함하는 점들일 경우에는 올바로 동작하지만, 3차원 점들에 장애물 혹은 스테레오 매칭 오류로부터 추출된 점들이 포함된 경우에는 올바로 동작하기 힘들다는 단점을 갖는다.
이러한 한계를 극복하기 위해, 프로세서(150)는 관심영역 기반 outlier 제거 방법을 이용하여 로드 프로파일을 추정 수 있다. 예를 들어, 1) 거동 센서 정보를 기반으로 predicted driving corridor를 설정하는 방법, 2) 실험적으로 선택된 2차 다항식 형태의 관심영역을 사용하는 방법, 3) Triangulation error를 기반으로 계산된 expected variance를 사용하는 방법, 4) road profile의 predicted height와 cumulative variance를 기반으로 관심영역을 설정하는 방법이 이용될 수 있다. 상기 방법들은 3차원 점들에 포함된 outlier를 제거해주어 B-spline 곡선 추정 오차를 줄여주는 효과를 갖지만, 실험적으로 설정된 관심영역으로 다양한 도로면 상황에서 대부분의 outlier를 제거하는 동시에 대부분의 inlier를 유지하는 것은 매우 힘든 일이다. 또한, 원거리 도로면의 경우, predicted driving corridor의 오차와 triangulation error의 오차가 매우 커지기 때문에 이 방법을 사용하기가 매우 어렵게 된다.
outlier 제거 방법의 한계를 극복하기 위하여, 프로세서(150)는 robust estimator 기반 방법을 이용하여 로드 프로파일을 추정할 수 있다. 이 방법은 도로면 추정에 참여하는 도로면 영역을 점차 늘려가며 least-squares estimation을 연속적으로 수행함으로써 outlier에 강인하게 도로면을 추정한다. 이 방법은 실험적으로 설정된 이진 가중치 함수를 사용한 M-estimator 기반 방식으로 명명될 수 있다. M-estimator 기반 방법은 적은 수의 outlier에 대한 강인성을 확보할 수 있으나, 근접한 장애물들이 존재하여 많은 수의 outlier를 발생시키는 상황에서는 local optimum에 수렴하기 쉽다는 한계를 갖는다 [10]. 또한, outlier가 다수 포함된 상황에서는 실험적으로 설정된 이진 가중치 함수가 잘못된 3차원 점들을 선택할 가능성도 높아지게 된다.
본 발명에 따른 실시예는 기존 방법들의 한계를 극복하기 위해서 다음과 같은 큐빅 비 스플라인 곡선을 기반으로하여 로드 프로파일을 추정한다. 이경우, 다수의 outlier가 존재하는 상황에서 자유도가 높은 함수를 직접 추정하는 것이 용이하지 않기 때문에, 운전 보조 장치(100)는 코스 투 파인(coarse-to-fine) 기법을 사용할 수 있다.
코스 투 파인 기법은 세 단계로 구성될 수 있다. 첫 번째 단계에서는 도로면을 다수의 구간으로 나눈 후에 각 구간에 존재하는 3차원 점들에 허프 트랜스폼(Hough transform)을 적용하여 보팅(voting) 결과를 획득한다. 두 번째 단계에서는 보팅 결과를 데이터 텀(data term)으로 설정하고 각 구간 직선들의 연결 관계 및 기울기 변화를 스무스니스 텀(smoothness term)으로 설정하여 다이내믹 프로그래밍(dynamic programming)을 수행함으로써 피스와이즈 리니어(piecewise linear) 함수를 추정한다. 마지막 단계에서는 추정된 피스와이즈 리니어 함수 상에서 점들을 유니폼(uniform)하게 샘플링(sampling)하여 이들을 기반으로 큐빅 비 스플라인 곡선을 추정함으로써 최종 로드 프로파일을 획득한다.
본 발명에 따른 실시예는 다음과 같은 효과를 가질 수 있다.
1) 코스 투 파인 기법을 사용하여 큐빅 비 스플라인 곡선을 다양한 노이즈가 존재하는 상황에서 적절한 연산량만을 사용하여 안정적으로 추정할 수 있다.
2) 허프 트랜스폼과 다이내믹 프로그래밍을 함께 사용하여 피스와이즈 리니어 함수의 최적 파라미터를 다수의 outlier가 존재하는 상황에 강인하게 추정할 수 있다.
프로세서(150)는 스테레오 매칭부(151) 및 도로면 추정부(152)를 포함할 수 있다.
스테레오 매칭부(151)는 스테레오 카메라 모듈로부터 수신한 제1 영상 및 제2 영상을 스테레오 매칭(stereo matching)하여 덴스 디스패러티 맵(dense disparity map)을 획득한다.
도로면 추정부(152)는 스테레오 매칭부(151)가 획득한 덴스 디스패러티 맵으로부터 코스 투 파인(coarse-to-fine)기법을 이용하여 큐빅 비 스플라인(cubic b-spline)곡선을 추정한다.
도로면 추정부(152)는 픽셀 처리부(153), 피스 와이즈 리니어 함수 추정부(154) 및 큐빅 비 스플라인 곡선 추정부(157)를 포함한다.
픽셀 처리부(153)는 덴스 디스패러티 맵의 모든 픽셀들을 3차원으로 복원하고 상기 3차원으로 복원된 픽셀들을 YZ평면에 누적시킨다. 픽셀 처리부(153)는 거리 별로 분할한다. 예를 들어, 픽셀 처리부(153)는 YZ평면에 누적시킨 픽셀들을 덴스 디스패러티 맵에 포함된 도로의 거리의 소정 구간별로 분할하여 처리한다.
피스 와이즈 리니어 함수 추정부(154)는 픽셀 처리부(153)로부터 누적된 결과를 전달받아, 누적된 결과에서 피스와이즈 리니어(piece-wise linear)함수를 추정한다.
한편, 피스 와이즈 리니어 함수 추정부(154)는 허프 트랜스폼(Hough Transform) 적용부 및 다이내믹 프로그래밍(dynamic programming) 수행부를 포함한다.
허프 트랜스폼 적용부는 상기 누적된 결과에 존재하는 3차원 점들에 허프 트랜스폼을 적용하여 보팅(voting) 결과를 획득한다.
다이내믹 프로그래밍 수행부는, 보팅 결과를 허프 트랜스폼 적용부로부터 전달 받아, 상기 보팅 결과를 데이터 텀(data term)으로 설정하고, 각 구간 직선들의 연결 관계 및 기울기 변화를 스무스니스 텀(smoothness term)으로 설정하여, 다이내믹 프로그래밍(dynamic programming)을 수행하여 피스와이즈 리니어 함수를 추정한다.
큐빅 비 스플라인 곡선 추정부(157)는 리니어 함수 추정부(154)로부터 추정된 피스와이즈 리니어 함수를 전달받아, 추정된 피스와이지 리니어 함수를 기반으로 큐빅 비 스플라인 곡선을 추정한다.
도 3은 본 발명의 실시예에 따른 운전 보조 장치의 동작 방법을 설명하는데 참조되는 도면이다.
도 3을 참조하면, 스테레오 매칭부(151)는 제1 영상 및 제2 영상을 스테레오 매칭(stereo matching)하여 덴스 디스패러티 맵(dense disparity map)을 획득한다(S305).
이후에, 픽셀 처리부(153)는 덴스 디스패러티 맵의 모든 픽셀들을 3차원으로 복원하고(S310), 상기 3차원으로 복원된 픽셀들을 YZ평면에 누적시킨다(S320).
이어서, 픽셀 처리부(153)는 덴스 디스패러티 맵에서 도로를 거리별로 분할한다(S330).
이후에, 허프 트랜스폼 적용부(155)는 누적된 결과에 존재하는 3차원 점들에 허프 트랜스폼(Hough Transform)을 적용하여 보팅(voting) 결과를 획득한다(S340).
이후에, 다이내믹 프로그래밍 수행부(156)는 상기 보팅 결과를 데이터 텀(data term)으로 설정하고, 각 구간 직선들의 연결 관계 및 기울기 변화를 스무스니스 텀(smoothness term)으로 설정하여, 다이내믹 프로그래밍(dynamic programming)을 수행하여(S350), 피스와이즈 리니어 함수를 추정한다(S355).
이어서, 큐빅 비 스플라인 곡선 추정부(157)는 추정된 피스와이즈 리니터 함수를 기반으로 큐빅 비 스플라인 곡선을 추정하여(S360), 로드 프로파일을 획득한다(S370).
도 4는 본 발명의 실시예에 따른 코스 투 파인 기법을 이용한 도로면 모델링의 근사화 결과를 설명하는데 참조되는 도면이다.
도 4를 참조하면, 랜덤 에러(Random error)와 그로스 에러(gross error)가 동시에 존재하는 실제 데이터(data)로부터 자유도가 높고 논리니어(nonlinear)한 특성을 갖는 큐빅 비 스플라인 곡선을 직접 추정하는 것은 어려운 일이다.
프로세서(150)는 피스와이즈 리니어 함수를 추정한 후, 이 결과를 기반으로 큐빅 비 스플라인 곡선을 추정하는 코스 투 파인 기법을 사용하여 도로면을 추정한다. 예를들어, 픽셀 처리부(153)는 매 20m 구간 마다 control point를 갖는 큐빅 비 스플라인 곡선으로 100m 구간의 도로면을 모델링하고, 이를 5미터 간격으로 설정된 20개의 linear 함수로 근사화한다. 도 4는 이러한 근사화 결과를 보여준다. 도 4에서 A 곡선은 큐빅 비 스플라인 곡선을 의미하고, B 곡선은 이를 피스와이즈 리니어 함수로 근사화한 결과를 의미한다. 이 그림을 통해 큐빅 비 스플라인 곡선이 피스와이즈 리니어 함수로 비교적 정확히 근사화될 수 있음을 확인할 수 있다.
이와 같은 근사화는 다음과 같은 장점을 갖는다. 첫째, 랜덤 에러(random error) (예를 들면. zero-mean Gaussian noise)에 대한 강인성을 확보해 준다. RANSAC과 M-estimator 등의 robust estimator의 기반이 되는 least-squares estimator는 일반적으로 연산의 효율성을 위해서 algebraic error의 squared sum을 최소화하는 solution을 찾는다. 1차 다항식으로 표현되는 선형 모델의 경우에는 algebraic error와 geometric error 사이에 비례관계가 성립하기 때문에 random error의 영향을 제거할 수 있지만, 고차 다항식과 같이 모델의 nonlinearity가 증가하는 상황에서는 fitting error 가 의도치 않게 weighting되기 때문에, 추정된 parameter가 biased되는 잘못된 결과를 유발하게 된다. 또한, 허프 트랜스폼과 같은 보팅(voting) 기반 방법을 적용할 때에는 모델의 자유도가 높아질수록 데이터의 수에 비해 보팅 빈(voting bin)의 개수가 급격히 증가하게 되어, 랜덤 에러가 첨가된 데이터가 올바른 빈(bin)에 충분히 누적되지 못하게 함으로써 피크 디텍션(peak detection)에 의한 파라미터 추정의 오류를 야기한다. 따라서 nonlinearity가 높은 큐빅 비 스플라인 곡선에 비해 linear한 특성을 갖는 피스와이즈 리니어 함수를 추정하는 것이 랜덤 에러에 더욱 강인하게 된다.
둘째, 그로스 에러(outlier)에 대한 강인성을 확보해 준다. 다수의 outlier가 존재하는 상황에서 자유도가 높은 함수를 직접 추정하는 것은 많은 연산량을 필요로 한다. 도 4의 상황에서 Hough transform을 사용하여 큐빅 비 스플라인 곡선을 추정하기 위해서는
Figure 112014064661327-pat00001
개의 보팅 빈을 다루어야 하지만, 만일 피스와이즈 리니어 함수를 구성하는 개별 linear 함수들이 인디펜던트(independent)하다고 가정하면
Figure 112014064661327-pat00002
개의 보팅 빈만을 다루면 된다. N은 각 파라미터 스페이스(parameter space)의 보팅 빈 개수를 의미한다. 또한, RANSAC을 사용하여 추정을 실시하는 경우, 전자는
Figure 112014064661327-pat00003
의 반복 수행을 필요하지만, 후자는
Figure 112014064661327-pat00004
의 반복 수행만을 필요로 한다. p와 w은 적어도 하나의 랜덤 샘플(random sample)이 inlier로만 구성될 확률과 inlier의 proportion을 의미한다. 이러한 복잡도의 감소는 연산량을 줄여줄 뿐만 아니라 올바른 추정이 이루어질 가능성 또한 높여준다.
실제 도로면을 표현하는 피스와이즈 리니어 함수는 continuous하기 때문에 linear 함수들 간에 dependency가 존재하지만, 이 단계에서는 outlier에 대한 강인성을 확보하기 위해 피스와이즈 리니어 함수를 구성하는 linear 함수들이 independent하다고 가정하였다. 대신, 이러한 dependency는 parameter 추정 단계에서 다이내믹 프로그래밍(dynamic programming)의 스무스니스 텀(smoothness term)으로 설정되어 복구된다. 이에 대한 내용은 추후에 자세히 설명된다.
도 5는 본 발명의 실시예에 따라 덴스 픽셀처리부의 동작을 설명하는데 참조되는 도면이다.
도 5를 참조하면, 프로세서(150)는 dense disparity map을 사용하여 도로면을 추정한다. 도 5의 (a)는 제1 카메라에서 획득된 영상을, 도 5의 (b)는 덴스 디스패러티 맵을, 도 5의 (c)는 3차원 점 누적 결과를 도시한다.
덴스 디스패러티 맵은 OpenCV에 구현된 Semi-Global Matching (SGM) 방법으로 계산된 결과이다. 픽셀 처리부(153)는 덴스 디스패러티 맵의 모든 픽셀들은 3차원으로 복원된 후, YZ평면에 누적한다. 이경우, 매우 많은 수의 3차원 점들을 적은 수의 bin들로만 표현할 수 있으므로 도로면 추정의 효율을 높일 수 있다. 도 5의 (c)에서 누적 결과 밝기는 편의상 logarithmic scale로 그려졌다. 이 그림의 가로 축은 0m~100m의 Z축을 의미하며, 세로 축은 -10m~+10m의 Y축을 의미한다. 카메라는 (0m, 0m)에 존재하며, bin의 크기는 0.1m×0.1m로 설정되었다. 픽셀 처리부(153)는 3차원 점들에 대해 tilt 보상을 수행한 후에 누적한다.
Perspective projection로 인해 영상에서 근거리 물체는 크게 나타나고 원거리 물체는 작게 나타나게 되며, 이는 원거리와 근거리 누적 결과의 불균형을 초래한다. 픽셀 처리부(153)는 이러한 현상을 방지하기 위해서 수학식 1과 같이 누적값을 거리에 따라 정규화한다.
Figure 112014064661327-pat00005
Figure 112014064661327-pat00006
Figure 112014064661327-pat00007
는 각각 원래의 누적 결과와 정규화된 누적결과를 의미하며,
Figure 112014064661327-pat00008
Figure 112014064661327-pat00009
는 각각
Figure 112014064661327-pat00010
에 해당하는 거리와 픽셀 단위 초점거리를 의미하고,
Figure 112014064661327-pat00011
Figure 112014064661327-pat00012
는 누적 결과의 가로축과 세로축의 index를 의미한다.
Figure 112014064661327-pat00013
Figure 112014064661327-pat00014
의 원점은 도 5의 (c)의 좌측 상단이다.
도 6은 본 발명의 실시예에 따라 피스 와이즈 리니어 함수 추정부 및 큐빅 비 스플라인 곡선 추정부의 동작을 설명하는데 참조되는 도면이다.
피스 와이즈 리니어 함수를 사용하여 도로면을 추정하는 가장 대표적인 방법은 v-disparity의 허프 트랜스폼 결과에서 누적값이 크면서 envelope 형태를 이루는 직선들의 조합을 선택하는 방법이다. 하지만 이 방법은 변곡이 2번 이상 생기는 도로면을 표현할 수 없으며, v-disparity를 사용하기 때문에 거리에 따라 resolution이 급격히 줄어든다는 단점을 갖는다. 작은 구간으로 구분된 piece-wise linear 함수를 RANSAC을 사용하여 추정하는 방법은 특정 구간의 linear 함수가 그 구간 앞쪽에만 영향을 받는다는 한계를 가지기 때문에 앞쪽 linear 함수에 발생한 오류가 뒤쪽으로 전파된다는 단점을 갖는다.
피스 와이즈 리니어 함수 추정부(154)는 정확하고 강인하게 piece-wise linear 함수를 추정하기 위해서 허프 트랜스폼과 다이내믹 프로그래밍을 사용한다. 피스 와이즈 리니어 함수 추정부(154)는 허프 트랜스폼 적용부(155) 및 다이내믹 프로그래밍 수행부(156)를 포함한다.
이때, 허프 트랜스폼(Hough transform)은 각 구간의 도로면에서 탐색 범위 내의 모든 파라미터 조합에 대한 적합도를 누적값을 통해 제공하기 때문에 모든 파라미터 조합에 대한 평가를 필요로 하는 다이내믹 프로그래밍(dynamic programming)의 데이터 텀(data term)으로 사용하기에 효과적이다. 또한, 다이내믹 프로그래밍 은 허프 트랜스폼을 각 도로면 구간에 독립적으로 적용함으로써 확보하지 못한 인접 구간 linear 함수들 간의 continuity 특성을 스무스니스 텀(smoothness term)을 활용함으로써 확보할 수 있게 해준다. 마지막으로 다이내믹 프로그래밍은 모든 구간에 존재하는 직선들의 조합들 중에 가장 적합도가 높은 조합을 찾아주기 때문에 근거리에서 원거리로 가면서 순차적인 추정을 수행하는 기존 방법들에 비해 더욱 안정적인 피스와이즈 리니어 함수 추정을 가능하게 한다.
피스와이즈 리니어 함수는 수학식2 와 같이 표현된다.
Figure 112014064661327-pat00015
이 수식에서 Zn-1에서 Zn까지는 n번째 구간을 의미하고,
Figure 112014064661327-pat00016
Figure 112014064661327-pat00017
는 n번째 구간에 존재하는 직선의 각도와 Y축 절편을 의미한다. 이때,
Figure 112014064661327-pat00018
는 각 직선이 시작하는 위치를 기준으로 계산된다. 이러한 피스와이즈 리니어 함수를 추정하기 위한 다이내믹 프로그래밍의 cost function은 수학식 3과 같이 구성된다.
Figure 112014064661327-pat00019
수학식 3에서
Figure 112014064661327-pat00020
Figure 112014064661327-pat00021
는 각각 데이터 텀(data term)과 스무스니스 텀(smoothness term)을 의미한다.
데이터 텀은 각 구간의 누적 결과에 허프 트랜스폼을 적용하여 얻어진다. 이때, 장애물에 의해 누적된 점들이 도로면 추정을 방해하는 것을 방지하기 위해서 허프 트랜스폼을 실시하기 전에 수학식 4와 같은 작업을 수행한다.
Figure 112014064661327-pat00022
이 수식에서
Figure 112014064661327-pat00023
는 index
Figure 112014064661327-pat00024
의 최대값을 의미한다. 이는 특정 위치의 누적 결과에서 해당 위치 보다 낮은 곳에 존재하는 누적 결과들의 최대치를 빼주는 연산으로써, 도로면 위에 존재하는 장애물로부터 생성된 누적 값을 약화시키는 효과를 갖는다. 이러한 연산을 실시한 다음, 도로면을 20개의 구간으로 나누고, 각 구간의
Figure 112014064661327-pat00025
에 허프 트랜스폼을 적용한다. 허프 트랜스폼시에 사용되는
Figure 112014064661327-pat00026
Figure 112014064661327-pat00027
의 범위 및 간격은 다음과 같이 설정한다.
Figure 112014064661327-pat00028
은 -4.0도에서 +4.0도 사이를 1.0도로 구분하도록 설정한다.
Figure 112014064661327-pat00029
은 -5.0m에서 +5.0m 사이를 0.1m 간격으로 구분하도록 설정한다. 도 6의 (a) 및 (b)는 각각 분할된 도로면 구간들과 각 구간에서 생성된 허프 트랜스폼 결과를 보여준다. 허프 트랜스폼 결과의 수평 및 수직 축은 각각
Figure 112014064661327-pat00030
Figure 112014064661327-pat00031
을 나타낸다. 카메라에서 5.0m까지의 구간은 스테레오 카메라의 화각을 벗어나기 때문에 도로면 추정에서 제외 되며, 이로 인하여 이 그림에서 19개의 허프 트랜스폼 결과만이 제시된다. 허프 트랜스폼 결과는 수학식 5와 같이 다이내믹 프로그래밍의 데이터 텀으로 사용된다.
Figure 112014064661327-pat00032
수학식 5에서
Figure 112014064661327-pat00033
은 n번째 구간의
Figure 112014064661327-pat00034
값에 허프 트랜스폼을 적용하여 얻어진 보팅(voting) 결과의
Figure 112014064661327-pat00035
위치에 해당하는 값을 의미한다. 마이너스 부호는 다이내믹 프로그래밍이 최소화 문제를 풀기 때문에 붙었다. 스무스니스 텀(Smoothness term)은 수학식 6과 같이 피스와이즈 리니어 함수의 두 가지 특성을 반영하는 두 개의 term들로 구성된다.
Figure 112014064661327-pat00036
수학식 6의 첫 번째 term은 인접한 구간에 존재하는 linear 함수들이 구간의 경계에서 만나야 한다는 특징을 반영하여 수학식7과 같이 설정된다.
Figure 112014064661327-pat00037
수학식 7에서
Figure 112014064661327-pat00038
은 도로면 구간의 경계 위치에서 두 linear 함수들 사이의 Y축 방향 거리를 의미하며, 수학식 8과 같이 표현된다.
Figure 112014064661327-pat00039
만일 이 거리가 미리 설정된 임계치(T) 보다 작거나 같으면, 첫 번째 term은 0이 되며, 그렇지 않은 경우에는 무한대가 된다. 따라서 이 term은 인접 구간에 존재하는 linear 함수들이 두 구간의 경계에서 만나야 한다는 강한 조건을 강제한다. T값은 3차원 점 누적 시에 발생하는 quantization error에 대응하기 위해서 이 과정에서 사용된 bin의 크기(0.1m)와 같은 값으로 설정된다. 식(6)의 두 번째 term은 인접 구간의 linear 함수들의 기울기는 완만하게 변해야 한다는 특징을 반영하여 수학식 9와 같이 설정된다.
Figure 112014064661327-pat00040
수학식 9는 인접 구간에 존재하는 linear 함수들의 기울기 변화를 Y축 방향의 변화량으로 변경해서 표현한 것이다. 다이내믹 프로그래밍 수행부(156)는 다이내믹 프로그래밍의 cost들이 균형을 이루게 하기 위하여 수학식 5의 data term과 수학식 6의 smoothness term이 모두 같은 metric 단위의 값을 갖게 설정하여 연산한다. 도 6의 (b)와 (c)는 본 발명의 실시예에 따라 피스와이즈 리니어 함수를 추정한 결과를 보여준다. 도 6의 (b)의 허프 트랜스폼 결과 상에 빨간색 십자로 표시된 위치는 해당 구간에서 추정된 linear 함수의 파라미터를 의미하며, 도 6의 (c)의 초록색 선은 피스와이즈 리니어 함수로 표현된 로드 프로파일 추정 결과를 의미한다.
추정된 피스 와이즈 리니어 함수는 구간 경계에서 급격한 기울기의 변화를 가진다는 단점이 있다. 따라서 본 발명에 따른 큐빅 비 스플라인 곡선 추정부(157)는 초기 추정 결과를 기반으로 큐빅 비 스플라인 곡선을 추정함으로써 도로면 추정 결과를 보정한다. 이를 위해서 추정된 피스 와이즈 리니어 함수 상에서 점들을 uniform하게 sampling하여 이들에 least-squares estimation 방법을 적용하여 큐빅 비 스플라인 곡선을 추정한다. 도 6의 (d)의 빨간색 선은 최종적으로 추정된 큐빅 비 스플라인 곡선을 보여준다.
도 7내지 도 12는 본 발명에 따라 로드 프로파일을 획득하는 비교실험 결과를 설명하는데 참조되는 도면이다.
A. 실험에 이용된 DB 설명
본 발명의 실시예에 따른 방법은 세 종류의 공용 DB에서 정량적으로 평가되었다. 사용된 공용 DB는 6D-Vision Scene Labeling Database (6D-VISION DB) [19], KITTI Vision Benchmark Suit - Road Database (KITTI DB), Daimler Stereo Pedestrian Detection Benchmark Data Set (DAIMLER DB)이다. 6D-Vision DB와 KITTI DB는 도로 영역을 표시한 정보를 제공하기 때문에 사용하였고, DAIMLER DB는 다양한 시내 상황을 포함하고 있기 때문에 사용하였다. 6D-VISION DB와 KITTI DB는 각각 500장, 287장의 영상으로 구성되어 있다. DAIMLER DB는 도로면 영역에 대한 정보를 별도로 제공하지 않기 때문에 uniform하게 선택된 306장의 영상에 대해서 도로면 정보를 직접 입력하여 사용하였다. 6D-VISION DB의 경우에는 제공된 dense disparity map을 사용하였으며, KITTI DB와 DAIMLER DB의 경우에는 이를 제공하지 않기 때문에 OpenCV에 구현되어 있는 SGM 방법으로 dense disparity map을 획득하여 사용하였다. 표 1은 사용된 DB에 대한 자세한 설명을 보여준다.
DB Number of ground truth Stereo matching algorithm Image resolution (pixels)
6D-VISION DB 500 Daimler에서 구현된 SGM 1024x440
KITTI DB 287 OpenCV에 구현된 SGM 1242x375
(약간씩 다름)
DAIMLER DB 306 OpenCV에 구현된 SGM 640x480
B. 성능 평가 및 비교
본 실험에서는 수동으로 획득된 큐빅 비 스플라인 곡선 기반 road profile의 ground truth와 도로면 추정 방법의 road profile 추정 결과를 비교함으로써 성능 평가 및 비교를 수행하였다. Road profile의 ground truth는 다음의 과정을 통해 확보되었다. 1) 수동으로 입력된 도로면 영역의 disparity 정보들을 선택한다. 2) 스테레오 매칭이 실패한 위치를 수동으로 제거한다. 3) 남은 disparity 정보를 사용하여 각 픽셀의 3차원 위치를 복원한다. 4) 현재 영상에서 확인 가능한 최대 위치에 대한 정보를 입력한다. 5) 최대 위치까지의 3차원 점들에 least-squares estimator를 적용하여 큐빅 비 스플라인 곡선을 추정한다. 이렇게 획득된 road profile은 주어진 스테레오 매칭 결과와 큐빅 비 스플라인 곡선 모델로부터 확보할 수 있는 최대 정밀한 road profile이라고 볼 수 있으므로 이를 ground truth로 사용하였다.
성능 평가를 위해서는 Average Vertical Difference (AVD)를 사용하였다. 만일, G와 E가 각각 ground truth road profile과 추정에 의해 얻어진 로드 프로파일 하단 영역을 의미한다면, AVD는 수학식 10과 같이 G와 E의 대칭차(symmetric difference)를 최대 거리(L)로 나눈 값으로 계산된다.
Figure 112014064661327-pat00041
AVD는 도로면 추정 결과의 세로축(Y축) 거리 오차를 의미함으로, 이 값이 작을수록 정확한 결과를 출력한다는 것을 의미한다.
본 발명의 실시예는 outlier에 강인한 robust estimator를 사용한 두 가지 기존 방법과 비교 평가 되었다. 첫 번째 방법은 M-estimator 기반 region growing 방법(이하, A 방법)이고, 두 번째 방법은 RANSAC 기반 sequential estimation 방법(이하, B 방법)이다. 표 2는 세 가지 방법을 세 종류의 DB에 적용하여 AVD를 계산한 결과를 보여준다. 표 2 를 통해 본 발명의 실시예가 세 종류의 DB 모두에서 기존의 두 가지 방법들 보다 우수한 성능을 보이는 것을 확인할 수 있다. 세 가지 DB를 모두 합친 경우, 제안된 방법은 9.6cm의 AVD를 보였으며, A방법과 B방법은 각각 20.3cm와 19.5cm의 AVD를 보였다. A방법 방법의 경우, DAIMLER DB에서 성능이 급격히 저하되는 것을 확인할 수 있다. 이것은 6D-VISION DB와 KITTI DB는 도 6의 (a)의 첫째와 둘째 행에서 볼 수 있는 바와 같이 전방 장애물이 근접해 있지 않아서 도로면 영역이 거의 가려지지 않은 상황들로 대부분 구성되지만 DAIMLER DB의 경우에는 도 6의 (a)의 셋째 행과 같이 근거리에 차량이 존재하여 도로면 영역이 심하게 가려진 상황을 다수 포함하기 때문이다. 이를 통해 A방법이 다른 두 가지 방법에 비해 도로면 가림 상황에 민감하다는 것을 확인할 수 있다. B방법은 6D-VISION DB와 KITTI DB에서 가장 나쁜 성능을 보였다. 이것은 이 방법의 성능이 스테레오 매칭 오류에 민감한 임계치 기반 sampling 방법에 의존적이기 때문이다. 또한, 세 가지 방법 모두 6D-VISION DB에서 다른 DB에 비해 우수한 성능을 보이는데, 이는 도 6의 (b)에서 확인할 수 있듯이 해당 DB에 포함된 dense disparity map의 품질이 OpenCV가 제공하는 SGM의 결과보다 우수하기 때문이다.
Database Method in A Method in B Proposed method
6D-VISION DB 13.6 cm 15.9 cm 7.8 cm
KITTI DB 18.3 cm 24.1 cm 11.1 cm
DAIMLER DB 32.9 cm 20.9 cm 11.2 cm
Total 20.3 cm 19.5 cm 9.6 cm
본 발명의 실시예가 기존 방법들보다 우수한 이유는 두 가지 측면에서 설명될 수 있다. 첫 번째는 제안된 방법이 도로면 영역이 적게 나타나는 경우(outlier의 비율이 높은 경우)에 강인하기 때문이다. 도 8은 도로면 영역의 비율에 따른 세 가지 방법의 AVD 값의 변화를 보여준다. 이 그림의 가로축은 도로면 영역의 비율을 의미하며 세로축은 AVD 값을 의미한다. 도로면 영역의 비율은 수동으로 입력한 도로면 영역의 면적과 전체 영상의 면적 간의 비율을 의미한다. 이 그림에서 제안된 방법은 도로면 영역의 비율에 관계없이 거의 유사한 AVD 값을 갖지만 기존의 두 방법은 도로면 영역의 비율이 감소함에 따라 AVD값이 증가하는 것을 확인할 수 있다. 특히, A방법의 경우, AVD값이 도로면 영역의 비율이 감소할수록 매우 급격히 증가하는 것을 확인할 수 있다. 이는 A방법이 사용하는 M-estimator가 제안된 방법이 사용하는 Hough transform과 B방법이 사용하는 RANSAC에 비해 도로면이 아닌 영역의 비율(outlier의 비율)에 더욱 민감하기 때문이다.
제안된 방법의 성능이 우수한 두 번째 이유는 거리가 멀어짐에 따라 오차가 완만하게 증가하기 때문이다. 도 9는 거리에 따른 세가지 방법의 AVD 값의 변화를 보여준다. 이 그림의 가로축은 Z축 거리를 의미하고 세로축은 AVD 값을 의미한다. 이 그림에서 제안된 방법의 오차 증가율이 기존의 두 방법에 비해서 훨씬 완만한 것을 확인할 수 있다. 이러한 현상이 발생하는 이유는 두 가지 측면에서 분석될 수 있다. 첫째, 제안된 방법은 각 구간의 로드 프로파일을 dynamic programming을 통해 모든 구간의 정보를 고려하여 추정하는 반면, 기존의 두 방법들은 모두 근거리에서 원거리로 나아가면서 로드 프로파일을 추정하기 때문에 특정 위치의 로드 프로파일을 해당 위치 앞의 정보에만 의존하여 추정하기 때문이다. 이로 인하여 기존 방법들의 경우에는 앞선 구간에서 발생한 로드 프로파일 추정 오류가 지속적으로 전파되는 현상이 발생하게 되며, 이는 원거리로 갈수록 도로면 추정 오차가 급격히 증가하는 형태로 나타나게 된다. 둘째, 원거리로 갈수록 perspective distortion에 의해 영상에서 도로면 영역이 줄어들고 도로면이 아닌 영역의 비율이 늘어나기 때문이다. 이는 원거리 구간의 outlier의 비율이 근거리 구간 보다 매우 크게 나타난다는 것을 의미한다. 앞서 도 8을 통해 분석한 바와 같이 제안된 방법이 기존 방법에 비해 outlier에 더욱 강인하기 때문에 원거리에서 더욱 우수한 결과를 출력하게 된다.
도 10 내지 도 12는 각각 다양한 상황에서 세 가지 방법을 사용하여 로드 프로파일을 추정한 결과를 보여준다. 이들 그림에서 (a)는 좌측 스테레오 영상과 dense disparity map을 보여주며, (b)는 수동으로 입력한 로드 프로파일의 ground truth를 보여주고, (c)는 세 가지 방법으로 로드 프로파일을 추정한 결과를 보여준다. (b)의 노란색 선은 로드 프로파일의 ground truth를 의미하며, (c)의 초록색, 파란색, 빨간색 선들은 각각 A방법, B방법, 그리고 제안된 방법의 도로면 추정 결과를 의미한다. 도 10은 KITTI DB에 포함된 상황에서 로드 프로파일을 추정한 결과를 보여준다. 이와 같이 전방에 장애물이 거의 없고 넓은 도로면이 존재하며 스테레오 매칭이 올바로 수행된 경우에는 세 가지 방법 모두 성공적으로 도로면 추정한 것을 확인할 수 있다. 도 11은 DAIMLER DB 에 포함된 상황에서 로드 프로파일을 추정한 결과를 보여준다. 이와 같이 근접한 장애물로 인하여 도로면 영역이 적게 보이는 상황에서는 제안된 방법과 B방법은 안정적인 결과를 보인 반면, A방법은 도로면 추정에 실패한 것을 확인할 수 있다. 이는 도 8에서 분석된 내용과 일치하는 결과이다. 도 12는 6D-VISION DB에 포함된 상황에서 로드 프로파일을 추정한 결과를 보여준다. 이와 같이 건물 및 차량 등에 의해 원거리로 갈수록 도로면 영역이 급격히 줄어드는 상황에서 기존의 두 방법은 약 50m 지점부터 도로면 추정에 결과가 불안정해지기 시작하는 반면, 제안된 방법은 도로면 추정을 올바로 수행한 것을 확인할 수 있다. 이는 도 9에서 분석된 내용과 일치하는 결과이다.
C. 실행 속도
제안된 방법의 속도는 3.40-GHz Intel Core i7-2600 CPU (4-G RAM)에서 측정되었다. 제안된 방법은 DAIMLER DB에서 38ms의 속도를 보였고, 6D-VISION DB와 KITTI DB에서는 42ms의 속도를 보였다. 6D-VISION DB와 KITTI DB의 영상 크기가 DAIMLER DB의 영상 크기 보다 약 2배 큼에도 불구하고 실행 속도는 단지 4ms만 증가한 것을 확인할 수 있다. 이는 제안된 방법을 사용할 경우, 3차원 점들을 YZ-plane에 누적한 후에는 영상의 크기와 관계없이 수행 시간이 거의 동일하게 소요되기 때문이다. 이는 YZ-plane 누적 방법의 장점 중 하나이다.
100 : 운전 보조 장치
110 : 스테레오 카메라 모듈
120 : 입력부
130 : 메모리
140 : 표시부
150 : 프로세서

Claims (17)

  1. 차량에 장착되고, 제1 카메라를 통해 제1 영상을 획득하고, 제2 카메라를 통해 제2 영상을 획득하는 스테레오 카메라 모듈; 및
    상기 제1 영상 및 상기 제2 영상을 스테레오 매칭(stereo matching)하여 덴스 디스패러티 맵(dense disparity map)을 획득하고,
    상기 덴스 디스패러티 맵으로부터 코스 투 파인(coarse-to-fine)기법을 이용하여 큐빅 비 스플라인(cubic b-spline)곡선을 추정하고,
    상기 큐빅 비 스플라인 곡선을 이용하여 상기 차량이 주행하는 3차원의 도로를 2차원으로 변환하는 로드 프로파일(road profile)을 수행하는 프로세서;를 포함하고,
    상기 프로세서는,
    상기 제1 영상 및 제2 영상을 스테레오 매칭하여 상기 덴스 디스패러티 맵을 획득하는 스테레오 매칭부; 및
    상기 덴스 디스패러티 맵으로부터 코스 투 파인 기법을 이용하여 큐빅 비 스플라인 곡선을 추정하는 도로면 추정부;를 포함하고,
    상기 도로면 추정부는,
    상기 덴스 디스패러티 맵의 모든 픽셀들을 3차원으로 복원하고 상기 3차원으로 복원된 픽셀들을 YZ 평면에 누적시키는 픽셀 처리부;
    상기 누적된 결과에서 피스와이즈 리니어(piece-wise linear) 함수를 추정하는 피스와이즈 리니어 함수 추정부;
    추정된 피스와이즈 리니터 함수를 기반으로 큐빅 비 스플라인 곡선을 추정하는 큐빅 비 스플라인 곡선 추정부;를 포함하고,
    상기 피스와이즈 리니어 함수 추정부는,
    상기 누적된 결과에 존재하는 3차원 점들에 허프 트랜스폼(Hough Transform)을 적용하여 보팅(voting) 결과를 획득하는 허프 트랜스폼 적용부; 및
    상기 보팅 결과를 데이터 텀(data term)으로 설정하고, 각 구간 직선들의 연결 관계 및 기울기 변화를 스무스니스 텀(smoothness term)으로 설정하여, 다이내믹 프로그래밍(dynamic programming)을 수행하여 피스와이즈 리니어 함수를 추정하는 다이내믹 프로그래밍 수행부;를 포함하는 운전 보조 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서,
    상기 피스와이즈 리니어 함수 추정부는,
    수학식 2에 의해 피스와이즈 리니어 함수를 추정하는 운전 보조 장치.
    [수학식 2]
    Figure 112015064944276-pat00042

    이 수식에서 Zn-1에서 Zn까지는 n번째 구간을 의미하고,
    Figure 112015064944276-pat00043
    Figure 112015064944276-pat00044
    는 n번째 구간에 존재하는 직선의 각도와 Y축 절편을 의미한다. 이때,
    Figure 112015064944276-pat00045
    는 각 직선이 시작하는 위치를 기준으로 계산된다.
  6. 제 1항에 있어서,
    상기 픽셀 처리부는,
    상기 YZ평면에 누적시킨 픽셀들을 상기 덴스 디스패러티 맵에 포함된 도로의 거리의 소정 구간별로 분할하여 처리하는 운전 보조 장치.
  7. 제 1항에 있어서,
    상기 프로세서에서 수신된 영상을 표시하는 표시부;를 더 포함하는 운전 보조 장치.
  8. 제 7항에 있어서,
    상기 표시부는 차량 내부 전면의 클러스터 또는 HUD(Head Up Display)인 운전 보조 장치.
  9. 제 1항에 있어서,
    복수의 버튼 또는 터치 스크린을 통해 사용자 입력을 수신하는 입력부;를 더 포함하는 운전 보조 장치.
  10. 제 1항에 있어서,
    상기 프로세서의 처리 또는 제어를 위한 프로그램을 저장하는 메모리;를 더 포함하는 운전 보조 장치.
  11. 제 1항, 제5항, 제6항, 제7항, 제8항, 제9항 및 제10항 중 어느 하나의 항에 기재된 운전 보조 장치를 포함하는 자동차.
  12. 제1 카메라를 통해 제1 영상을 획득하고, 제2 카메라를 통해 제2 영상을 획득하는 스테레오 카메라 모듈를 포함한 차량의 운전 보조 장치의 동작 방법에 있어서,
    상기 제1 영상 및 상기 제2 영상을 스테레오 매칭(stereo matching)하여 덴스 디스패러티 맵(dense disparity map)을 획득하는 단계;
    상기 덴스 디스패러티 맵으로부터 코스 투 파인(coarse-to-fine)기법을 이용하여 큐빅 비 스플라인(cubic b-spline)곡선을 추정하는 단계; 및
    상기 큐빅 비 스플라인 곡선을 이용하여 상기 차량이 주행하는 3차원의 도로를 2차원으로 변환하는 로드 프로파일(road profile)을 수행하는 단계;를 포함하고,
    상기 추정하는 단계는,
    상기 덴스 디스패러티 맵의 모든 픽셀들을 3차원으로 복원하는 단계;
    상기 3차원으로 복원된 픽셀들을 YZ 평면에 누적시키는 단계; 및
    상기 누적된 결과에서 피스와이즈 리니어(piece-wise linear) 함수를 추정하는 단계;
    추정된 피스와이즈 리니어 함수를 기반으로 큐빅 비 스플라인 곡선을 추정하는 단계;를 포함하고,
    상기 피스와이즈 리니어 함수를 추정하는 단계는,
    상기 누적된 결과에 존재하는 3차원 점들에 허프 트랜스폼(Hough Transform)을 적용하여 보팅(voting) 결과를 획득하는 단계; 및
    상기 보팅 결과를 데이터 텀(data term)으로 설정하고, 각 구간 직선들의 연결 관계 및 기울기 변화를 스무스니스 텀(smoothness term)으로 설정하여, 다이내믹 프로그래밍(dynamic proframming)을 수행하여 피스와이즈 리니어 함수를 추정하는 단계;를 포함하는 운전 보조 장치의 동작 방법.
  13. 삭제
  14. 삭제
  15. 제 12항에 있어서,
    상기 추정하는 단계는,
    수학식 2에 의해 피스와이즈 리니어 함수를 추정하는 운전 보조 장치의 동작 방법.
    [수학식 2]
    Figure 112015064944276-pat00046

    이 수식에서 Zn-1에서 Zn까지는 n번째 구간을 의미하고,
    Figure 112015064944276-pat00047
    Figure 112015064944276-pat00048
    는 n번째 구간에 존재하는 직선의 각도와 Y축 절편을 의미한다. 이때,
    Figure 112015064944276-pat00049
    는 각 직선이 시작하는 위치를 기준으로 계산된다.
  16. 제 12항에 있어서,
    상기 YZ평면에 누적시킨 픽셀들을 상기 덴스 디스패러티 맵에 포함된 도로의 거리의 소정 구간별로 분할하여 처리하는 단계;를 더 포함하는 운전 보조 장치의 동작 방법.
  17. 제 12항에 있어서,
    상기 로드 프로파일(road profile)을 수행된 영상을 표시하는 단계;를 더 포함하는 운전 보조 장치의 동작 방법.
KR1020140086231A 2014-07-09 2014-07-09 차량 운전 보조 장치 및 그 동작 방법 KR101566910B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140086231A KR101566910B1 (ko) 2014-07-09 2014-07-09 차량 운전 보조 장치 및 그 동작 방법
US14/513,287 US9582867B2 (en) 2014-07-09 2014-10-14 Driving assistant apparatus of vehicle and operating method thereof
CN201410610289.9A CN105313774B (zh) 2014-07-09 2014-11-03 车辆驾驶辅助装置及其运转方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140086231A KR101566910B1 (ko) 2014-07-09 2014-07-09 차량 운전 보조 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR101566910B1 true KR101566910B1 (ko) 2015-11-13

Family

ID=54610239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140086231A KR101566910B1 (ko) 2014-07-09 2014-07-09 차량 운전 보조 장치 및 그 동작 방법

Country Status (3)

Country Link
US (1) US9582867B2 (ko)
KR (1) KR101566910B1 (ko)
CN (1) CN105313774B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717381B1 (ko) * 2015-12-15 2017-03-17 연세대학교 산학협력단 스테레오 카메라 기반의 주행 가능 영역 추정 장치 및 방법과 이에 관한 기록매체
KR20190055633A (ko) * 2017-11-15 2019-05-23 전자부품연구원 도로 프로파일 추정장치 및 이를 이용한 도로 프로파일 추정 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105740802A (zh) * 2016-01-28 2016-07-06 北京中科慧眼科技有限公司 基于视差图的障碍物检测方法和装置及汽车驾驶辅助系统
US10176389B2 (en) * 2016-06-09 2019-01-08 International Business Machines Corporation Methods and systems for moving traffic obstacle detection
US11107229B2 (en) 2018-01-10 2021-08-31 Samsung Electronics Co., Ltd. Image processing method and apparatus
CN109033176B (zh) * 2018-06-25 2024-02-27 腾讯科技(北京)有限公司 道路曲率的确定方法、装置、存储介质和计算机设备
US20210287461A1 (en) * 2018-09-21 2021-09-16 Honda Motor Co., Ltd. Vehicle inspection system
CN109703467B (zh) * 2019-01-04 2019-09-06 吉林大学 一种用于车辆智能行车的引导方法、系统
WO2020263982A1 (en) * 2019-06-22 2020-12-30 Trackonomy Systems, Inc. Image based locationing
KR20210148756A (ko) 2020-06-01 2021-12-08 삼성전자주식회사 경사 추정 장치 및 이의 동작 방법
US11922264B2 (en) 2020-10-05 2024-03-05 Trackonomy Systems, Inc. System and method of utilizing 3D vision for asset management and tracking
CN112364701B (zh) * 2020-10-15 2022-11-04 东风汽车集团有限公司 一种应用于平行驾驶系统的视频图像处理方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011117842A (ja) * 2009-12-03 2011-06-16 Aisin Aw Co Ltd 車両用走行案内装置、車両用走行案内方法及びコンピュータプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983147A (en) * 1997-02-06 1999-11-09 Sandia Corporation Video occupant detection and classification
US20040105074A1 (en) * 2002-08-02 2004-06-03 Peter Soliz Digital stereo image analyzer for automated analyses of human retinopathy
EP3196805A3 (en) * 2003-06-12 2017-11-01 Honda Motor Co., Ltd. Target orientation estimation using depth sensing
US20080205791A1 (en) * 2006-11-13 2008-08-28 Ramot At Tel-Aviv University Ltd. Methods and systems for use in 3d video generation, storage and compression
US8244008B2 (en) * 2008-07-21 2012-08-14 International Business Machines Corporation Methods involving optimizing and mapping images
US8762046B2 (en) * 2008-10-01 2014-06-24 Navteq B.V. Creating geometry for advanced driver assistance systems
US8385630B2 (en) * 2010-01-05 2013-02-26 Sri International System and method of processing stereo images
DE102010024666A1 (de) * 2010-06-18 2011-12-22 Hella Kgaa Hueck & Co. Verfahren zur optischen Selbstdiagnose eines Kamerasystems und Vorrichtung zur Durchführung eines solchen Verfahrens
US8867790B2 (en) * 2010-08-03 2014-10-21 Panasonic Corporation Object detection device, object detection method, and program
US8676494B2 (en) * 2010-09-29 2014-03-18 Navteq B.V. Multi-dimensional road representation
US8599240B2 (en) * 2010-10-29 2013-12-03 Sony Corporation Super-resolution from 3D (3D to 2D conversion) for high quality 2D playback
CN103679127B (zh) * 2012-09-24 2017-08-04 株式会社理光 检测道路路面的可行驶区域的方法和装置
US20140114534A1 (en) * 2012-10-19 2014-04-24 GM Global Technology Operations LLC Dynamic rearview mirror display features
KR102215815B1 (ko) * 2013-07-24 2021-02-16 엘지전자 주식회사 단말기 및 이의 제어방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011117842A (ja) * 2009-12-03 2011-06-16 Aisin Aw Co Ltd 車両用走行案内装置、車両用走行案内方法及びコンピュータプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Andreas Wedel 외 5명. B-Spline Modeling of Road Surfaces With an Application to Free-Space Estimation. IEEE Trans. on Int. Transportation Systems. Vol 10, No. 4, Dec., 2009.*
서재규, 정호기. Piece-wise Linear 함수 기반 스테레오 영상에서의 도로면 추정 개선 방법. 한국자동차공학회, 한국자동차공학회 학술대회 및 전시회, 2012년 11월 발표, 1414-1418 pages.*

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101717381B1 (ko) * 2015-12-15 2017-03-17 연세대학교 산학협력단 스테레오 카메라 기반의 주행 가능 영역 추정 장치 및 방법과 이에 관한 기록매체
KR20190055633A (ko) * 2017-11-15 2019-05-23 전자부품연구원 도로 프로파일 추정장치 및 이를 이용한 도로 프로파일 추정 방법
KR102042315B1 (ko) * 2017-11-15 2019-11-07 전자부품연구원 도로 프로파일 추정장치 및 이를 이용한 도로 프로파일 추정 방법

Also Published As

Publication number Publication date
CN105313774A (zh) 2016-02-10
US20160014394A1 (en) 2016-01-14
US9582867B2 (en) 2017-02-28
CN105313774B (zh) 2017-10-20

Similar Documents

Publication Publication Date Title
KR101566910B1 (ko) 차량 운전 보조 장치 및 그 동작 방법
KR102275310B1 (ko) 자동차 주변의 장애물 검출 방법
JP6143747B2 (ja) 深度測定の品質の向上
US10652466B2 (en) Method and device for stabilization of a surround view image
JP6453449B2 (ja) ボウル型イメージングシステムにおけるオブジェクト追跡
US9361696B2 (en) Method of determining a ground plane on the basis of a depth image
CN110163930A (zh) 车道线生成方法、装置、设备、系统及可读存储介质
JP6805534B2 (ja) 視差画像生成装置、視差画像生成方法及び視差画像生成プログラム、物体認識装置、機器制御システム
KR20160123668A (ko) 무인자동주차 기능 지원을 위한 장애물 및 주차구획 인식 장치 및 그 방법
CN105069804B (zh) 基于智能手机的三维模型扫描重建方法
CN103679119B (zh) 自适应坡路检测方法和装置
CN111209770A (zh) 一种车道线识别方法及装置
CN104236478A (zh) 一种基于视觉的车辆外廓尺寸自动测量系统及方法
CN109074653B (zh) 用于检测机动车辆的道路旁边的物体的方法、计算设备、驾驶员辅助系统以及机动车辆
KR20150008056A (ko) 단일-카메라 거리 추정
EP3293700B1 (en) 3d reconstruction for vehicle
Fintzel et al. 3D parking assistant system
CN111627001B (zh) 图像检测方法及装置
US8971634B2 (en) Approximate pyramidal search for fast displacement matching
KR102566583B1 (ko) 서라운드 뷰 이미지의 안정화를 위한 방법 및 장치
JP2014228941A (ja) 地表面3次元サーフェス形状計測装置、走行可能領域検出装置およびそれを搭載した建設機械並びに走行可能領域検出方法
Lee et al. Temporally consistent road surface profile estimation using stereo vision
CN116168384A (zh) 点云目标检测方法、装置、电子设备及存储介质
CN114648639B (zh) 一种目标车辆的检测方法、系统及装置
WO2022141262A1 (en) Object detection

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181029

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191028

Year of fee payment: 5