KR20200060194A - 차선들의 깊이값을 예측하는 방법, 3차원 차선들을 출력하는 방법 및 그 장치 - Google Patents

차선들의 깊이값을 예측하는 방법, 3차원 차선들을 출력하는 방법 및 그 장치 Download PDF

Info

Publication number
KR20200060194A
KR20200060194A KR1020190028175A KR20190028175A KR20200060194A KR 20200060194 A KR20200060194 A KR 20200060194A KR 1020190028175 A KR1020190028175 A KR 1020190028175A KR 20190028175 A KR20190028175 A KR 20190028175A KR 20200060194 A KR20200060194 A KR 20200060194A
Authority
KR
South Korea
Prior art keywords
lane
lanes
image
feature map
map
Prior art date
Application number
KR1020190028175A
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 US16/550,985 priority Critical patent/US11049275B2/en
Publication of KR20200060194A publication Critical patent/KR20200060194A/ko

Links

Images

Classifications

    • G06K9/00798
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • G06K9/00201
    • G06K9/46
    • G06K9/6201
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • G06T5/002
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • 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/20076Probabilistic image processing
    • 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/20081Training; Learning
    • 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/20084Artificial neural networks [ANN]
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

일 실시예에 따른 3차원 차선들을 출력하는 방법 및 장치는 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득하고, 제1 영상으로부터 획득한 제1 특징맵을 기초로 차선 확률맵을 생성하고, 제1 특징맵 및 제2 영상으로부터 획득한 제2 특징맵을 기초로 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하고, 차선 확률맵 및 매칭 정보를 이용하여 차선들의 깊이값을 예측하고, 차선 확률맵을 기초로 차선들을 검출하고, 검출한 차선들 및 상기 차선들의 깊이값을 기초로 3차원 차선들을 생성하여 출력한다.

Description

차선들의 깊이값을 예측하는 방법, 3차원 차선들을 출력하는 방법 및 그 장치{METHOD OF PREDICTING DEPTH VALUES OF LINES, METHOD OF OUTPUTTING 3D LINES AND APPARATUS THEREOF}
아래의 실시예들은 차선들의 깊이값을 예측하는 방법, 3차원 차선들을 출력하는 방법 및 그 장치에 관한 것이다.
3차원 차선 식별은 주행 보조를 위해 중요한 구성이다. 또한, 주행 영상에 포함된 객체와의 거리 추정은 예를 들어, 전방의 차량, 차선, 행인 또는 장애물 등을 미리 예측하는 데에 매우 중요하다.
일반적으로 도시에서는 차로 분할, 병합된 차로 표시, 큰 곡률의 차선, 교차로 표시, 및 커브 표시 등과 같은 복잡한 도로 영상이 획득될 수 있으므로 주행 보조 시스템은 다양한 차선의 유형을 식별해야 한다. 뿐만 아니라, 조감도를 기반으로 변환한 3차원 차선 식별 시에는 영상 장치와 도로가 서로 평행 상태여야 하는 등과 같은 엄격한 가정이 요구된다. 따라서, 조감도에 기반한 3차원 차선 식별 방법이 적용되는 주행 상황이 제한될 수 있다. 이 밖에도, 대부분의 신경망은 영상 프레임의 처리를 통해 3차원 차선을 식별하므로 전체 영상에 대한 글로벌한 구조 정보를 획득하는 데에 어려움이 있다.
일 측에 따르면, 3차원 차선들을 출력하는 방법은 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득하는 단계; 상기 제1 영상으로부터 획득한 제1 특징맵(feature map)을 기초로, 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 차선 확률맵을 생성하는 단계; 상기 제1 특징맵 및 상기 제2 영상으로부터 획득한 제2 특징맵을 기초로, 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계; 상기 차선 확률맵 및 상기 매칭 정보를 이용하여 상기 차선들의 깊이값을 예측하는 단계; 상기 차선 확률맵을 기초로 상기 차선들을 검출하는 단계; 상기 검출한 차선들 및 상기 차선들의 깊이값을 기초로 3차원 차선들을 생성하는 단계; 및 상기 3차원 차선들을 출력하는 단계를 포함한다.
상기 차선 확률맵을 생성하는 단계는 상기 제1 특징맵 상의 적어도 하나의 차선 세그먼트를 추출하는 단계; 상기 차선 세그먼트에 따라 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 이진 영상(binary image)을 생성 하는 단계; 및 상기 이진 영상을 기초로 상기 차선 확률맵을 생성하는 단계를 포함할 수 있다.
상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계는 상기 제1 특징맵 및 상기 제2 특징맵 각각에 포함된 픽셀 포인트들의 상관 계수를 산출 하는 단계; 및 상기 상관 계수를 기초로 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계를 포함할 수 있다.
상기 차선들의 깊이값을 예측하는 단계는 상기 차선 확률맵 및 상기 매칭 정보를 기초로 상기 제1 영상과 상기 제2 영상 간의 시차(disparity)를 산출하는 단계; 및 상기 시차에 기초한 시차맵(disparity map)에 따라 상기 차선들의 깊이값을 예측 하는 단계를 포함할 수 있다.
상기 시차를 산출하는 단계는 상기 차선 확률맵을 상기 매칭 정보에 오버레이(overlay) 하여 새로운 매칭 정보를 획득 하는 단계; 상기 새로운 매칭 정보를 필터링함으로써 인접한 픽셀 포인트들을 평활화하고, 상기 새로운 매칭 정보에 대한 노이즈를 제거 하는 단계; 및 상기 평활화 및 노이즈 제거 결과에 따라 상기 제1 영상과 상기 제2 영상 간의 시차를 획득 하는 단계를 포함할 수 있다.
상기 차선 확률맵을 기초로 상기 차선들을 검출하는 단계는 상기 차선 확률맵을 기초로 상기 차선들에 대응하는 차선 세그먼트들(line segments)을 추출하는 단계; 상기 차선 세그먼트들을 클러스터링하여 후보 차선들을 선정하는 단계; 상기 후보 차선들 중 상기 차선들에 해당하는 적어도 하나의 후보 차선을 결정하는 단계; 및 상기 결정된 후보 차선을 곡선 피팅 모델에 피팅 함으로써 상기 차선들을 검출하는 단계를 포함할 수 있다.
상기 차선 세그먼트들을 추출하는 단계는 상기 차선 확률맵으로부터 차선 상에 위치하는 픽셀 포인트들을 추출하는 단계; 상기 추출한 픽셀 포인트들 간의 거리들을 산출하는 단계; 상기 픽셀 포인트들 간의 거리들을 기초로, 상기 추출한 픽셀 포인트들은 결합하여 서브 세그먼트들(sub segments)을 획득하는 단계; 및 상기 서브 세그먼트들 간의 거리를 기초로 상기 서브 세그먼트들을 연결함으로써 상기 차선 세그먼트들을 추출하는 단계를 포함할 수 있다.
상기 차선 세그먼트들을 클러스터링하여 상기 후보 차선들을 선정하는 단계는 상기 차선 세그먼트들의 길이를 기초로, 후보 차선 집합- 상기 후보 차선 집합은 임계 길이 보다 큰 길이를 갖는 차선 세그먼트들을 포함함 -에 포함된 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출하는 단계; 상기 에너지 함수가 미리 설정된 조건을 만족하는지 여부에 따라 상기 차선 세그먼트들의 조합들 중 적어도 하나의 조합을 선택하는 단계; 상기 선택된 조합에 따라 상기 차선 세그먼트들에 대한 곡선 피팅을 수행하여 상기 차선 세그먼트들을 클러스터링하는 단계; 및 상기 클러스터링한 차선 세그먼트들을 상기 후보 차선들로 선정하는 단계를 포함할 수 있다.
상기 에너지 함수들을 산출하는 단계는 상기 후보 차선 집합에 포함된 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출하는 단계를 포함할 수 있다.
상기 에너지 함수를 산출하는 단계는 조건적 임의 필드(Conditional Random Fields; CRF) 그래프를 이용하여 상기 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출하는 단계를 포함할 수 있다.
상기 에너지 함수를 산출하는 단계는 상기 조건적 임의 필드 그래프에 따라 상기 차선 세그먼트들 간의 단일 함수(unitary function) 및 단일 함수와 쌍을 이룬 페어링 함수(pairing function)를 산출하는 단계; 및 상기 단일 함수 및 상기 페어링 함수에 기초하여, 상기 에너지 함수를 산출하는 단계를 포함할 수 있다.
상기 후보 차선들 중 상기 차선들에 해당하는 적어도 하나의 후보 차선을 결정하는 단계는 상기 후보 차선들 각각과 이전(previous) 차선 집합에 포함된 어느 하나의 이전 차선과의 거리를 산출하는 단계; 상기 후보 차선들 각각과 상기 이전 차선 간의 거리에 따라, 상기 후보 차선들 각각과 상기 이전 차선을 매칭시켜 매칭 스코어를 산출하는 단계; 및 상기 매칭 스코어를 기초로 상기 차선들에 해당하는 적어도 하나의 후보 차선을 결정 하는 단계를 포함할 수 있다.
상기 3차원 차선들을 출력하는 방법은 상기 후보 차선들 각각과 상기 이전 차선 간의 매칭 결과를 기초로 상기 매칭 스코어를 포함하는 상기 이전 차선의 정보를 갱신하는 단계를 더 포함할 수 있다.
상기 이전 차선의 정보를 갱신하는 단계는 상기 이전 차선의 매칭 스코어를 갱신 하는 단계; 상기 이전 차선이 실제 차선에 해당하는지 여부를 나타내는 상기 이전 차선의 진위 상태를 갱신하는 단계; 및 상기 이전 차선을 상기 이전 차선 집합에서 제거하는 단계 중 적어도 하나를 포함할 수 있다.
상기 제1 영상 및 상기 제2 영상을 획득하는 단계는 차량 상의 동일한 수평 위치에 배치된 두 개의 카메라 또는 양안 카메라를 이용하여 상기 제1 영상 및 상기 제2 영상을 캡쳐(capture) 하는 단계를 포함할 수 있다.
상기 3차원 차선들을 출력하는 방법은 제1 신경망을 이용하여 상기 제1 영상으로부터 제1 차선 특징들을 추출하는 단계; 상기 제1 차선 특징들을 기초로 상기 제1 특징맵을 획득하는 단계; 제2 신경망을 이용하여 상기 제2 영상으로부터 제2 차선 특징들을 추출하는 단계; 및 상기 제2 차선 특징들을 기초로 상기 제2 특징맵을 획득하는 단계를 더 포함할 수 있다.
상기 제1 신경망 및 상기 제2 신경망은 가중치 파라미터들을 서로 공유할 수 있다.
상기 제1 특징맵 및 상기 제2 특징맵을 획득하는 단계는 상기 제1 영상 및 상기 제2 영상 각각에 대한 엣지 검출(edge detection)을 수행함으로써 상기 제1 특징맵 및 상기 제2 특징맵을 획득하는 단계를 포함할 수 있다.
일 측에 따르면, 차선들의 깊이값을 예측하는 방법은 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득하는 단계; 상기 제1 영상으로부터 획득한 제1 특징맵을 기초로, 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 차선 확률맵을 생성하는 단계; 상기 제1 특징맵 및 상기 제2 영상으로부터 획득한 제2 특징맵을 기초로, 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계; 및 상기 차선 확률맵 및 상기 매칭 정보를 이용하여 상기 차선들의 깊이값을 예측하는 단계를 포함한다.
상기 차선 확률맵을 생성하는 단계는 상기 제1 특징맵 상의 적어도 하나의 차선 세그먼트를 추출하는 단계; 상기 차선 세그먼트에 따라 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 이진 영상을 생성 하는 단계; 및 상기 이진 영상을 기초로 상기 차선 확률맵을 생성하는 단계를 포함할 수 있다.
상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계는 상기 제1 특징맵 및 상기 제2 특징맵 각각에 포함된 픽셀 포인트들의 상관 계수를 산출 하는 단계; 및 상기 상관 계수를 기초로 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계를 포함할 수 있다.
상기 차선들의 깊이값을 예측하는 단계는 상기 차선 확률맵 및 상기 매칭 정보를 기초로 상기 제1 영상과 상기 제2 영상 간의 시차를 산출하는 단계; 및 상기 시차에 기초한 시차맵에 따라 상기 차선들의 깊이값을 예측하는 단계를 포함할 수 있다.
상기 시차를 산출하는 단계는 상기 차선 확률맵을 상기 매칭 정보에 오버레이하여 새로운 매칭 정보를 획득하는 단계; 상기 새로운 매칭 정보를 필터링함으로써 인접한 픽셀 포인트들을 평활화하고, 상기 새로운 매칭 정보에 대한 노이즈를 제거하는 단계; 및 상기 평활화 및 노이즈 제거 결과에 따라 상기 제1 영상과 상기 제2 영상 간의 시차를 획득 하는 단계를 포함할 수 있다.
일 측에 따르면, 3차원 차선들을 출력하는 장치는 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득하는 센서들; 및 상기 제1 영상으로부터 획득한 제1 특징맵을 기초로, 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 차선 확률맵을 생성하고, 상기 제1 특징맵 및 상기 제2 영상으로부터 획득한 제2 특징맵을 기초로, 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하고, 상기 차선 확률맵 및 상기 매칭 정보를 이용하여 상기 차선들의 깊이값을 예측하고, 상기 차선 확률맵을 기초로 상기 차선들을 검출하고, 상기 검출한 차선들 및 상기 차선들의 깊이값을 기초로 3차원 차선들을 생성하며, 상기 3차원 차선들을 출력하는 프로세서를 포함한다.
도 1은 일 실시예에 따른 3차원 차선들을 출력하는 방법을 나타낸 흐름도.
도 2는 일 실시예에 따라 제1 영상과 제2 영상 간의 시차를 산출하는 방법을 나타낸 흐름도.
도 3은 일 실시예에 따른 차선 확률맵을 기초로 차선들을 검출하는 방법을 나타낸 흐름도.
도 4는 일 실시예에 따라 후보 차선들을 선정하는 방법을 나타낸 흐름도.
도 5는 일 실시예에 따라 적어도 하나의 후보 차선을 결정하는 방법을 나타낸 흐름도.
도 6은 일 실시예에 따른 3차원 차선들을 출력하는 멀티 태스크 네트워크의 구조를 도시한 도면.
도 7은 일 실시예에 따른 멀티 태스크 네트워크에서 차선 확률맵 및 시차맵을 생성하는 과정을 설명하기 위한 도면.
도 8은 일 실시예에 따른 멀티 태스크 네트워크에서 깊이 예측 모델에 포함된 신경망들의 구성 및 학습 방법을 설명하기 위한 도면.
도 9는 일 실시예에 따라 3차원 차선들을 생성하는 과정을 설명하기 위한 도면.
도 10은 일 실시예에 따른 조건적 임의 필드(CRF) 그래프를 이용하여 차선 세그먼트들을 클러스터링하는 방법을 설명하기 위한 도면.
도 11은 일 실시예에 따른 매칭 스코어를 기초로 긍정 오류(false positive)로 판단된 차선을 배제하고, 차선을 식별하는 방법을 나타낸 프로그램 코딩을 도시한 도면.
도 12는 일 실시예에 따른 차선들의 깊이값을 예측하는 방법을 나타낸 흐름도.
도 13은 일 실시예에 따른 3차원 차선들을 출력하는 장치의 블록도.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 3차원 차선들을 출력하는 방법을 나타낸 흐름도이다. 도 1을 참조하면, 일 실시예에 따른 3차원 차선들을 출력하는 장치(이하, '출력 장치')는 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득한다(110). 출력 장치는 예를 들어, 센서들을 이용하여 도로의 제1 영상 및 제2 영상을 캡쳐함으로써 제1 영상 및 제2 영상을 획득할 수 있다. 센서들은 차량 상의 동일한 수평선 상에, 다시 말해 수평 위치에 배치될 수 있다. 센서들은 예를 들어, 이미지 센서, 비전 센서, 카메라 센서 및/또는 양안 카메라일 수 있다. 실시예에 따라서, 출력 장치는 통신 인터페이스를 통해 출력 장치의 외부로부터 제1 영상 및 제2 영상을 획득할 수도 있다. 예를 들어, 제 1 영상은 좌측 영상이고, 제2 영상은 우측 영상일 수 있다. 또는 예를 들어, 제1 영상은 우측 영상이고, 제2 영상은 좌측 영상일 수 있다. 제1 영상과 제2 영상은 예를 들어, 시차를 갖는 주행 영상들일 수 있다.
출력 장치는 제1 영상으로부터 획득한 제1 특징맵(feature map)을 기초로, 차선 확률맵을 생성한다(120). 출력 장치는 예를 들어, 제1 신경망을 이용하여 제1 영상으로부터 제1 차선 특징들을 추출할 수 있다. 출력 장치는 제1 차선 특징들을 기초로 제1 특징맵을 획득할 수 있다. 출력 장치는 예를 들어, 캐니(Canny) 연산자를 이용하여 제1 영상에 대한 엣지 검출(edge detection)을 수행함으로써 제1 차선 특징들을 추출할 수 있다.
단계(120)에서, 출력 장치는 예를 들어, 허프 변환(Hough transformation) 알고리즘을 이용하여 제1 특징맵 상의 적어도 하나의 차선 세그먼트를 추출할 수 있다. 이때, 차선 세그먼트는 예를 들어, 시작점(S), 중간점(C), 마침점(E) 등과 같은 차선 세그먼트의 위치 및 예를 들어, 시작 방향(SD), 중간 방향(CD)과 마침 방향(ED) 등과 같은 차선 방향 또는 차선 각도로 표시될 수 있다.
단계(120)에서, 출력 장치는 차선 세그먼트에 따라 제1 특징맵의 픽셀 포인트가 차선들에 속할 확률을 나타내는 이진 영상(binary image)을 생성할 수 있다. 출력 장치는 이진 영상을 기초로 차선 확률맵을 생성할 수 있다. 출력 장치는 예를 들어, 이진 영상에서 영(0)이 아닌 값을 갖는 픽셀 포인트들을 이용하여 차선 확률맵을 생성할 수 있다. '차선 확률맵'은 제1 특징맵의 픽셀 포인트가 제1 영상에 포함된 실제 차선들에 속할 확률을 나타낼 수 있다. 차선 확률맵은 예를 들어, 제1 특징맵의 픽셀 포인트가 차선에 위치할 확률은 '1'로 나타내고, 제1 특징맵의 픽셀 포인트가 차선에 위치하지 않을 확률은 '0'으로 나타낸 이진 영상일 수 있다. 출력 장치는 차선 확률맵의 확률 값이 '0'이 아닌 비제로(Non-zero) 픽셀 포인트로부터 차선 세그먼트를 추출할 수 있다. 출력 장치는 예를 들어, 후술하는 도 6의 인코더-디코더 네트워크(도 6의 부재 번호 651 참조)에 의해 차선 확률맵을 생성할 수 있다. 차선 확률맵의 일 예시로는 차선 확률맵(도 6의 부재 번호 652)을 들 수 있다.
출력 장치는 제1 특징맵 및 제2 영상으로부터 획득한 제2 특징맵을 기초로, 제1 영상과 제2 영상 간의 매칭 정보를 산출한다(130). 출력 장치는 예를 들어, 제2 신경망을 이용하여 제2 영상으로부터 제2 차선 특징들을 추출할 수 있다. 출력 장치는 제2 차선 특징들을 기초로 제2 특징맵을 획득할 수 있다. 이때, 제1 신경망 및 제2 신경망 각각은 예를 들어, 컨볼루션 신경망으로 구성되며, 가중치 파라미터들을 서로 공유할 수 있다. 출력 장치는 예를 들어, 캐니(canny) 연산자를 이용하여 제2 영상에 대한 엣지 검출을 수행함으로써 제2 특징맵을 획득할 수 있다. 실시예에 따라서, 제1 신경망 및 제2 신경망은 통합된 하나의 신경망으로 구성될 수도 있다. 제1 특징맵 및 제2 특징맵은 상위 레벨의 의미론적 특징인 윤곽 및 하위 레벨의 의미론적 특징인 에지 중 적어도 하나를 포함할 수 있다.
단계(130)에서, 출력 장치는 제1 특징맵 및 제2 특징맵 각각에 포함된 픽셀 포인트들의 상관 계수를 산출할 수 있다. 이때, 상관 계수는 '상관도'라고도 부를 수 있다. 상관 계수는 제1 특징맵에 포함된 제1 픽셀 포인트들 및 제2 특징맵에 포함된 제2 픽셀 포인트들의 내적(inner product)을 통해 획득될 수 있다. 제1 픽셀 포인트와 제2 픽셀 포인트의 내적이 클수록 이 두 픽셀 포인트들 간의 관련도가 높음을 의미한다. 두 픽셀 포인트들 간의 관련도가 높다는 것은 제1 영상과 제2 영상이 매칭될 확률이 더 높아진다는 것으로 이해될 수 있다.
출력 장치는 상관 계수를 기초로 제1 영상과 제2 영상 간의 매칭 정보를 산출할 수 있다. 예를 들어, 제1 특징맵의 픽셀 포인트 P1(xl,yl)과 제2 특징맵의 특징맵의 픽셀 포인트 P2(xr,yr)의 상관 계수가 양자의 내적 P1(xl,yl)
Figure pat00001
P2(xr,yr) 일 때, 두 개의 픽셀 포인트들의 매칭 정보는 P1(xl,yl)
Figure pat00002
P2(xr,yr) 와 같이 표현할 수 있다.
예를 들어, 제1 특징맵의 제1 픽셀 포인트들과 제2 특징맵에서 제1 픽셀 포인트들에 대응하는 제2 픽셀 포인트들 간의 시차가 10개의 픽셀 범위 내에 있다고 하자. 이 경우, 제1 특징맵의 픽셀 포인트(X,Y)에 대응하는 제2 특징맵의 검색 범위는 (Xr - 10, Y) ~ (Xr, Y)와 같이 나타낼 수 있다. Xr 은 제2 영상, 다시 말해 우측 영상의 X 축 좌표일 수 있다. 여기서, '제2 특징맵에서 제1 픽셀 포인트들에 대응하는 제2 픽셀 포인트들'이란 제1 픽셀 포인트들과 동일한 객체를 해당하는 제2 픽셀 포인트들로 이해될 수 있다. 예를 들어, 제1 특징맵에서 제1 픽셀 포인트들이 '자동차 A'에 해당하는 픽셀 포인트들이라고 하면, 제2 픽셀 포인트들은 제2 특징맵에서 '자동차 A'에 해당하는 픽셀 포인트들에 해당할 수 있다.
매칭 정보는 예를 들어, 매칭 값 행렬을 포함할 수 있다. 매칭 값 행렬은 예를 들어, 한 개의 입방체(X * Y * Z)를 나타낼 수 있다. 여기서, X, Y, 및 Z의 세 개의 축은 각각 영상 픽셀의 X 방향, Y 방향, 및 Z 방향을 대표할 수 있다. 'X 방향'은 '수평 방향', 'Y 방향'은 '수직 방향', 및 'Z 방향'은 '시차 방향'이라고 부를 수 있다. 또한, 'Z 방향'은 '깊이 방향' 또는 'd 방향'이라고도 부를 수 있다. 전술한 단계(130)의 매칭 정보 산출 과정은 예를 들어, 매칭 정보 산출 모듈(도 6의 부재 번호 615 참조)에 의해 수행될 수 있다.
출력 장치는 차선 확률맵 및 매칭 정보를 이용하여 차선들의 깊이값을 예측한다(140). 출력 장치는 예를 들어, 차선 확률맵 및 매칭 정보를 기초로 제1 영상과 제2 영상 간의 시차(disparity)를 산출할 수 있다. 출력 장치는 시차에 기초한 시차맵(disparity map)에 따라 차선들의 깊이값을 예측할 수 있다.
출력 장치는 각각의 시차에 대해, 제1 영상과 제2 영상 각각의 픽셀 포인트의 내적에 의해 한 개의 절편 M*N를 생성할 수 있다. 이때, 복수 개의 시차 세그먼트들은 M*N*d로 조합될 수 있다.
구체적으로, 출력 장치는 아래의 수학식 1에 따라 차선들의 깊이값 Z를 계산할 수 있다.
Figure pat00003
여기서, b는 제1 영상과 제2 영상을 캡쳐한 두 대의 카메라들의 카메라 중심 간의 거리를 나타내고, f는 두 대의 카메라들 간의 초점 거리를 나타낼 수 있다. XR는 제1 영상의 좌측 에지(edge)에서 제1 영상의 픽셀 포인트까지의 거리를 나타내고, XT는 제2 영상의 좌측 에지에서 제2 영상의 픽셀 포인트까지의 거리를 나타낼 수 있다. XR과 XT간의 차는 시차 d로 나타낼 수 있다.
시차맵의 일 예시로는 시차맵(도 6의 부재 번호 617 참조)을 들 수 있다. 출력 장치가 차선들의 깊이값을 예측하는 방법은 아래의 도 2를 참조하여 구체적으로 설명한다.
출력 장치는 차선 확률맵을 기초로 차선들을 검출한다(150). 출력 장치는 예를 들어, 차선 확률맵을 기초로 차선들에 대응하는 차선 세그먼트들(line segments)을 추출할 수 있다. 출력 장치는 차선 세그먼트들을 클러스터링하여 후보 차선들을 선정할 수 있다. 출력 장치는 클러스터링을 수행할 때 조건적 임의 필드(CRF) 그래프에 기반하여 클러스터링 이후의 차선 영상 집합을 획득할 수 있다. 조건적 임의 필드(CRF) 그래프에 대하여는 후술하기로 한다. 출력 장치는 차선 확률맵 상의 비제로 픽셀 포인트에 의해 추출된 차선 세그먼트 집합을 수신하여 클러스터링을 거친 이후의 차선들을 포함하는 차선 집합을 출력할 수 있다.
예를 들어, 도로 표지가 초기 차선 확률맵에서 차선으로 잘못 인식될 수 있다. 이 경우, 출력 장치는 차선 확률맵 중 세그먼트들을 식별하여 동일한 갈래, 다시 말해 동일한 차선에 속하는 차선 세그먼트들을 클러스터링할 수 있다. 출력 장치는 클러스터링한 차선 세그먼트들을 한 갈래의 새로운 차선으로 정합하여 클러스터링 후의 차선 영상을 획득할 수 있다.
출력 장치는 후보 차선들 중 차선들에 해당하는 적어도 하나의 후보 차선을 결정할 수 있다. 출력 장치는 결정된 후보 차선을 예를 들어, 곡선 피팅 모델에 피팅(fitting) 함으로써 차선들을 검출할 수 있다. 출력 장치가 차선들을 검출하는 방법은 아래의 도 3을 참조하여 구체적으로 설명한다.
출력 장치는 검출한 차선들 및 차선들의 깊이값을 기초로 3차원 차선들을 생성한다(160).
출력 장치는 3차원 차선들을 출력한다(170).
도 2는 일 실시예에 따라 제1 영상과 제2 영상 간의 시차를 산출하는 방법을 나타낸 흐름도이다. 도 2를 참조하면, 일 실시예에 따른 출력 장치는 차선 확률맵을 매칭 정보에 오버레이(overlay)하여 새로운 매칭 정보를 획득할 수 있다(210). 예를 들어, 출력 장치는 차선 확률맵에 기초한 이진 영상 마스크를 매칭 정보에 오버레이하여 새로운 매칭 정보를 획득할 수 있다. 예를 들어, 차선 확률맵의 크기가 (M*N*1)이고, 매칭 정보, 다시 말해 매칭 값 행렬은 (M*N*D)일 수 있다. 여기서, M은 영상의 높이를 나타내고, N은 영상의 너비를 나타내며, D는 시차 범위를 나타낼 수 있다. 출력 장치는 (M*N*1) 크기의 차선 확률맵을 매칭 정보 (M*N*D)에 오버레이하여 새로운 매칭 정보 (M * N * (D+1))를 획득할 수 있다. 출력 장치는 새로운 매칭 정보 (M * N * (D+1))로부터 영상에서 서로 인접한 픽셀 포인트들의 깊이가 연속된 것임을 파악할 수 있다.
출력 장치는 새로운 매칭 정보를 필터링함으로써 새로운 매칭 정보에서 서로 인접한 픽셀 포인트들을 평활화하고, 새로운 매칭 정보에 대한 노이즈를 제거 할 수 있다(220). 출력 장치는 서로 인접한 픽셀 포인트들 간의 시차를 더 매끄럽게 하기 위해, 새로운 매칭 정보 (M * N * (D+1))를 필터링하여 서로 인접한 픽셀들 간의 시차의 공간 연속성을 크게 향상시키고, 노이즈에 해당하는 픽셀 포인트들을 제거할 수 있다.
출력 장치는 예를 들어, 이전 단계에서 획득한 매칭 값 행렬 또는 새로운 매칭 정보 (M * N * (D+1))에 대해 시차 방향을 따라 각각의 차선 세그먼트에 대한 평활 필터링을 수행할 수 있다. 또는 출력 장치는 컬러 영상을 이용하여 필터링을 규제할 수 있다. 평활화가 객체의 에지 또는 경계를 벗어나서 수행되는 것을 방지하기 위해, 출력 장치는 컬러 영상에 따라 경계선 정보 또는 에지 정보를 획득하고, 동일한 경계 또는 동일한 에지 내에서 필터링을 수행할 수 있다.
출력 장치는 예를 들어, 매칭 정보 누적 모듈(도 6의 부재 번호 615 참조)를 통해 오버레이 결과에 대한 노이즈를 제거할 수 있다. 출력 장치는 차선 확률맵의 이진 영상 마스크를 매칭 값 평활을 진행하기 위한 매칭 정보 누적 모듈의 입력으로 인가함으로써, 깊이값 예측 시에 집중 매커니즘(attention mechanism)에 따라 차선의 깊이값에 더 집중할 수 있다. 출력 장치는 전술한 과정을 통해 계산량을 줄일 수 있고, 매칭 정보 누적 모듈에서 노이즈에 해당하는 픽셀 포인트들을 제거함으로써 매칭 정밀도를 향상시킬 수 있다. 전술한 평활화 및 노이즈 제거는 예를 들어, 평활화 모듈(도 6의 부재 번호 613 참조) 및 매칭 정보 누적 모듈(도 6의 부재 번호 615 참조)에 의해 수행될 수 있다.
출력 장치는 평활화 및 노이즈 제거 결과에 따라 제1 영상과 제2 영상 간의 시차를 획득할 수 있다(230).
출력 장치는 시차에 기초한 시차맵에 따라 차선들의 깊이값을 예측할 수 있다(240). 출력 장치는 예를 들어, 시차 및/또는 매칭 정보를 누적하여 시차맵을 생성하고, 시차맵에 따라 차선들의 깊이값을 예측할 수 있다.
출력 장치는 예를 들어, 제1 영상의 제1 카메라 중심과 제2 영상의 제2 카메라 중심 간의 거리, 제1 영상의 카메라 초점 거리와 제2 영상의 카메라 초점 거리 등과 같은 카메라 파라미터 및 제1 영상과 제2 영상 간의 시차를 기초로 집중 메카니즘에 의해 차선들의 깊이 값을 예측할 수 있다.
출력 장치는 예를 들어, 신경망의 소프트맥스 레이어(softmax layer)와 회귀 알고리즘을 이용해 차선 상의 픽셀 포인트들 간의 시차를 획득하고, 도로 상의 모든 픽셀 포인트들의 깊이를 추가적으로 획득할 수 있다. 출력 장치는 예를 들어, 매칭 정보, 보다 구체적으로는 매칭 값 행렬을 획득한 후, 소프트맥스 레이어를 사용하여 영상 상의 픽셀 포인트들 각각과 모든 시차 값이 대응하는 확률을 산출할 수 있다. 이하에서, 설명의 편의를 위하여 '모든 시차 값이 대응하는 확률'은 '대응 확률'로 간략하게 기재하기로 한다. 출력 장치는 픽셀 포인트들 각각의 모든 시차와 대응 확률을 곱하여 누적적으로 합을 구할 수 있다. 출력 장치는 누적된 합에 의해 시차맵을 생성하고, 시차맵에 따라 차선들의 깊이값을 예측할 수 있다.
도 3은 일 실시예에 따른 차선 확률맵을 기초로 차선들을 검출하는 방법을 나타낸 흐름도이다. 도 3을 참조하면, 일 실시예에 따른 출력 장치는 차선 확률맵을 기초로 차선들에 대응하는 차선 세그먼트들을 추출할 수 있다(310). 출력 장치는 차선 확률맵으로부터 차선 상에 위치하는 픽셀 포인트들을 추출할 수 있다. 출력 장치는 추출한 픽셀 포인트들 간의 거리들을 산출할 수 있다. 출력 장치는 픽셀 포인트들 간의 거리들을 기초로, 추출한 픽셀 포인트들을 결합하여 서브 세그먼트들(sub segments)을 획득할 수 있다. 출력 장치는 서브 세그먼트들 간의 거리를 기초로 서브 세그먼트들을 연결함으로써 차선 세그먼트들을 추출할 수 있다. 출력 장치는 서로 인접한 두 개의 서브 세그먼트들 간의 거리가 기준 값보다 작은 경우, 두 개의 서브 세그먼트들을 하나의 세그먼트로 연결하여 차선 세그먼트를 구성할 수 있다. 출력 장치는 예를 들어, B- 스플라인 커브 피팅(B-spline Curve Fitting) 방법과 같은 2 차 곡선 공식을 이용하여 두 개의 서브 세그먼트들의 픽셀 포인트들을 한 줄의 새로운 차선 또는 차선 세그먼트에 피팅 함으로써 서브 세그먼트들을 결합할 수 있다.
출력 장치는 차선 세그먼트들을 클러스터링하여 후보 차선들을 선정할 수 있다(320). 출력 장치는 예를 들어, 차선 세그먼트들의 길이를 기초로, 후보 차선 집합에 포함된 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출할 수 있다. 출력 장치는 에너지 함수가 미리 설정된 조건을 만족하는지 여부에 따라 차선 세그먼트들의 조합들 중 적어도 하나의 조합을 선택할 수 있다. 출력 장치는 선택된 조합에 따라 차선 세그먼트들에 대한 곡선 피팅을 수행하여 차선 세그먼트들을 클러스터링할 수 있다. 출력 장치는 클러스터링한 차선 세그먼트들을 후보 차선들로 선정할 수 있다. 출력 장치가 후보 차선들을 선정하는 방법은 아래의 도 4를 참조하여 보다 구체적으로 설명한다.
출력 장치는 후보 차선들 중 차선들에 해당하는 적어도 하나의 후보 차선을 결정할 수 있다(330). 출력 장치는 예를 들어, 후보 차선들 각각과 이전 차선 집합에 포함된 어느 하나의 이전 차선과의 거리를 산출할 수 있다. 출력 장치는 후보 차선들 각각과 이전 차선 간의 거리에 따라, 후보 차선들 각각과 이전 차선을 매칭시켜 매칭 스코어를 산출할 수 있다. 출력 장치는 매칭 스코어를 기초로 차선들에 해당하는 적어도 하나의 후보 차선을 결정할 수 있다. 출력 장치가 적어도 하나의 후보 차선을 결정하는 방법은 아래의 도 5를 참조하여 구체적으로 설명한다.
출력 장치는 결정된 후보 차선을 예를 들어, 곡선 피팅 모델 또는 곡선 피팅 모델에 피팅 함으로써 차선들을 검출할 수 있다(340).
도 4는 일 실시예에 따라 후보 차선들을 선정하는 방법을 나타낸 흐름도이다. 도 4를 참조하면, 일 실시예에 따른 출력 장치는 차선 세그먼트들의 길이를 기초로, 후보 차선 집합에 포함된 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출할 수 있다(410). 후보 차선 집합은 예를 들어, 임계 길이 보다 큰 길이를 갖는 차선 세그먼트들을 포함하는 집합일 수 있다. 차선 세그먼트들의 길이는 예를 들어, "차선 세그먼트의 길이 = 차선 세그먼트의 길이 / 계수"와 같이 나타낼 수 있다. 여기서, 계수는 예를 들어, 15, 20, 25 등과 같이 미리 설정된 값일 수 있다.
출력 장치는 후보 차선 집합에 포함된 차선 세그먼트들의 모든 조합들 각각에 대응하는 에너지 함수를 산출할 수 있다. 예를 들어, 후보 차선 집합에 3개의 차선 세그먼트가 있다고 가정하자. 이 경우, 차선 세그먼트들의 모든 조합들은 예를 들어, 3개의 차선 세그먼트들의 조합, 임의의 1개의 차선 세그먼트+ 나머지 2개의 차선 세그먼트들의 조합, 임의의 1개의 차선 세그먼트 + 다른 1개의 차선 세그먼트+ 나머지 1개의 차선 세그먼트의 조합일 수 있다.
출력 장치는 예를 들어, 조건적 임의 필드(Conditional Random Fields; CRF) 그래프를 이용하여 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출할 수 있다. 조건적 임의 필드(CFR) 그래프는 레이블 부착, 또는 연속된 트리나 격자와 같이 구조화된 데이터의 경계를 구분하는 확률을 나타낸 그래프이다. 조건적 임의 필드(CFR) 그래프는 결론을 내기 위해 필요한 조건부 성질에 기반한 것으로서 독립적 가정에 비해 향상된 정확도를 가질 수 있다. 출력 장치는 차선 세그먼트의 모든 조합 방식의 에너지 함수를 계산할 때, 먼저 조건적 임의 필드(CRF) 그래프를 구축할 수 있다.
출력 장치는 예를 들어, 조건적 임의 필드 그래프에 따라 차선 세그먼트들 간의 단일 함수(unitary function) 및 단일 함수와 쌍(pair)을 이루는 페어링 함수(pairing function)를 산출할 수 있다. 여기서, 단일 함수는 두 개의 세그먼트들이 서로 관련될 확률을 나타내는 함수로서 두 개의 세그먼트들 간의 거리에 따라 계산될 수 있다. 단일 함수는 '단일 포텐셜 함수(unitary potential function)' 라고도 부를 수 있다. 출력 장치는 페어링 함수에 기초하여 에너지 함수를 산출할 수 있다.
예를 들어, 영상들의 픽셀 포인트는 차선 세그먼트들 간의 관계를 나타낼 수 있다. 차선 세그먼트들 간의 관계는 예를 들어, 세그먼트들 간의 각도 차이 (CDl - CDm)2, 및 세그먼트들 간의 거리 (Cl.x - Cm.x)2 + (Cl.y - Cm.y)2를 포함할 수 있다. 여기서, CDl 과 CDm은 각각 차선 세그먼트 l과 차선 세그먼트 m의 가운데 방향의 세그먼트를 나타낼 수 있다. 또한, Cl.x 와 Cm.x는 각각 차선 세그먼트 1과 차선 세그먼트 m의 중간 픽셀 포인트의 x축 좌표를 나타내고, Cl.y 와 Cm.y는 각각 차선 세그먼트 1과 차선 세그먼트 m의 중간 픽셀 포인트의 y축 좌표를 나타낼 수 있다. 또한, 영상들의 에지는 픽셀 포인트들 간의 거리 관계를 나타낼 수 있다.
출력 장치는 조건적 임의 필드(CRF) 그래프에 따라 차선 세그먼트들 간의 단일 함수 및 단일 함수와 쌍을 이룬 페어링 함수를 산출할 수 있다. 출력 장치는 단일 함수와 페어링 함수를 이용하여 차선 세그먼트들 간의 에너지 함수를 산출할 수 있다. 여기서, 단일 함수는 두 개의 차선 세그먼트 간의 거리에 따라 산출한 것으로서, 두 개의 차선 세그먼트들이 서로 연관될 확률이다. 예를 들어, 두 개의 차선 세그먼트들이 1과 m이라면, 두 개의 차선 세그먼트들 간의 거리 dist1는 (Cl.x - Cm.x)2 + (Cl.y - Cm.y)2 + (CDl - CDm)2 와 같이 나타낼 수 있다. 이때, 차선 세그먼트들 간의 단일 함수는 예를 들어, -ln(1/(1+exp(-dist1)))과 같이 나타낼 수 있다.
또한, 한 그룹의 차선 집합에 대하여, 한 개의 다항식 f(x)를 사용하여 해당 그룹의 차선을 피팅할 수 있다. 이후, 해당 그룹의 각 차선과 앞서 피팅한 다항식 f(x) 간의 거리 dist2는 (f(x1) - y1)2 로 나타낼 수 있다. 여기서, (x1, y1)는 차선의 픽셀 포인트를 나타내고, f(x1)는 픽셀 포인트를 다항식으로 피팅해 낸 값을 나타낸다. 이때, 단일 함수와 쌍을 이루는 페어링 함수는 예를 들어, -ln(1/(1+exp(dist2)))와 같이 나타낼 수 있다. 차선 세그먼트들 간의 에너지 함수는 -ln(1/(1+exp(-dist1))) - ln(1/(1+exp(dist2)))와 같이 산출할 수 있다.
실시예에 따라서, 출력 장치는 마르코프 임의장(Markov random field; MRF)를 이용하여 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출할 수도 있다.
출력 장치는 에너지 함수가 미리 설정된 조건을 만족하는지 여부에 따라 차선 세그먼트들의 조합들 중 적어도 하나의 조합을 선택할 수 있다(420). 여기서, 미리 설정된 조건은 예를 들어, 에너지 함수가 최소화되는 조건, 다시 말해 에너지 함수가 미리 설정된 기준값보다 작은 값을 가질 조건일 수 있다.
출력 장치는 선택된 조합에 따라 차선 세그먼트들에 대한 곡선 피팅을 수행하여 차선 세그먼트들을 클러스터링할 수 있다(430).
출력 장치는 클러스터링한 차선 세그먼트들을 후보 차선들로 선정할 수 있다(440).
도 5는 일 실시예에 따라 적어도 하나의 후보 차선을 결정하는 방법을 나타낸 흐름도이다. 도 5를 참조하면, 일 실시예에 따른 출력 장치는 후보 차선들 각각과 이전(previous) 차선 집합에 포함된 어느 하나의 이전 차선과의 거리를 산출할 수 있다(510). 여기서, '이전 차선 집합'은 현재 시점의 이전 시점의 영상 프레임들에서 획득된 차선 세그먼트들을 포함하는 집합일 수 있다. 또한, 이전 차선 집합에 포함된 '이전 차선'은 이전 시점의 영상 프레임들 중 차선 식별 결과에 기반하여 획득된 차선 또는 차선 세그먼트일 수 있다. 이하, 설명의 편의를 위하여 이전 시점의 영상 프레임들은 '이전 프레임들'로 간략하게 표기하기로 한다.
출력 장치는 후보 차선들 각각과 이전 차선 집합 중 어느 하나의 이전 차선을 매칭할 때, 후보 차선과 이전 차선 집합 중 어느 하나의 이전 차선 간의 거리를 산출할 수 있다. 이후, 출력 장치는 후보 차선과 어느 하나의 이전 차선 간의 거리에 따라 후보 차선과 이전 차선을 매칭할 수 있다. 예를 들어, A 차선은 후보 차선들 중 어느 하나의 후보 차선이고, B 차선은 이전 차선 집합 중 어느 하나의 이전 차선이라고 하자. 이때, 후보 차선과 어느 하나의 이전 차선 간의 거리는 A 차선의 두 개의 끝 점에서 B 차선이 위치한 직선까지의 거리와 B 차선의 두 개의 끝 점에서 A 차선이 위치한 직선까지의 거리의 평균값으로 산출할 수 있다.
출력 장치는 후보 차선들 각각과 이전 차선 간의 거리에 따라, 후보 차선들 각각과 이전 차선을 매칭시켜 매칭 스코어를 산출할 수 있다(520). 출력 장치는 예를 들어, 거리가 가장 짧은 후보 차선과 이전 차선을 매칭시켜 매칭 스코어를 산출할 수 있다.
출력 장치는 매칭 스코어를 기초로 차선들에 해당하는 적어도 하나의 후보 차선을 결정할 수 있다(530). 출력 장치는 예를 들어, 이전 차선과 매칭되지 않는 후보 차선을 이전 차선 집합에 배치하고, 후보 차선의 진위 상태가 체크되도록 설정할 수 있다. 또는 실시예에 따라서, 출력 장치는 후보 차선들 중 진위 상태가 '참'인 후보 차선을 선택할 수도 있다.
일 실시예에 따른 출력 장치는 이전 프레임들과의 차선 식별 결과에 기초하여 매칭 스코어를 산출함으로써 긍정 오류(false positive)로 판단된 차선을 배제하고, 마모된 도로의 차선을 식별하여 차선의 식별 정확도를 향상시킬 수 있다. 긍정 오류로 판단된 차선은 예를 들어, 실제 차선이 아니지만, 차선으로 잘못 판단된 차선에 해당할 수 있다.
실시예에 따라서, 출력 장치는 예를 들어, 후보 차선들 각각과 이전 차선 간의 매칭 결과를 기초로 매칭 스코어를 포함하는 이전 차선의 정보를 갱신할 수 있다. 이전 차선의 정보는 이전 차선의 매칭 스코어 이외에도 예를 들어, 이전 차선의 시작점, 중간점, 종료점, 이전 차선의 시작 방향, 중간 방향, 종료 방향, 곡선 피팅 계수, 이전 차선의 진위 상태 등을 더 포함할 수 있다. 이전 차선의 '진위 상태'는 이전 차선 또는 이전 차선 세그먼트가 실제 차선 또는 실제 차선 세그먼트에 해당하는지 여부를 나타낼 수 있다. 진위 상태는 예를 들어, 참(true), 거짓(false), 및 '점검 예정' 등으로 나타낼 수 있다.
출력 장치는 이전 차선의 정보를 다음과 같이 갱신할 수 있다. 출력 장치는 예를 들어, 이전 차선의 매칭 스코어를 갱신할 수 있다. 출력 장치는 후보 차선에 매칭된 이전 차선의 매칭 스코어에 후보 차선의 길이/2 을 더한 값을 매칭된 이전 차선의 매칭 스코어로 갱신할 수 있다. 이때, 후보 차선의 길이는 후보 차선의 세그먼트의 길이에 해당할 수 있다. 또한, 출력 장치는 후보 차선에 매칭되지 않은 이전 차선의 매칭 스코어를 감소시킬 수 있다.
또는 출력 장치는 이전 차선의 진위 상태를 갱신할 수 있다. 출력 장치는 예를 들어, 후보 차선과 이전 차선의 매칭 스코어가 미리 설정된 제1 임계치보다 크면, 이전 차선의 진위 상태를 '참'으로 설정할 수 있다. 출력 장치는 예를 들어, 후보 차선과 이전 차선의 매칭 스코어가 미리 설정된 제2 임계치보다 작으면, 이전 차선의 진위 상태를 '거짓'으로 설정하거나, 또는 '점검 예정'으로 설정할 수 있다.
실시예에 따라서, 출력 장치는 이전 차선을 이전 차선 집합에서 제거할 수도 있다.
도 6은 일 실시예에 따른 3차원 차선들을 출력하는 멀티 태스크 네트워크의 구조를 도시한 도면이다. 도 6을 참조하면, 일 실시예에 따른 멀티 태스크 네트워크(600)는 깊이 예측 모델(610) 및 차선 검출 모델(650)을 포함할 수 있다. 일 실시예에 따른 출력 장치는 멀티 태스크 네트워크(600)를 포함할 수 있다. 멀티 태스크 네트워크(600)는 예를 들어, 차선 확률맵 생성 및 시차맵 생성 등과 같은 서로 다른 태스크를 완성하기 위해 필요한 복수 개의 신경망들을 포함할 수 있다.
깊이 예측 모델(610)은 영상의 깊이 값을 예측할 수 있다. 깊이 예측 모델(610)은 CNN(Convolution Neural Network) 네트워크(605-2), 매칭 정보 산출 모듈(611), 평활화 모듈(613), 및 매칭 정보 누적 모듈(615)을 포함할 수 있다.
깊이 예측 모델(610)은 우측 영상에 해당하는 제2 영상(602)을 입력받고, 특징 추출 모듈(605)을 통해 획득한 제1 특징맵 및 제2 특징맵에 기초한 매칭 정보를 산출할 수 있다. 깊이 예측 모델(610)은 매칭 정보에 기초한 시차맵(617)을 출력할 수 있다. 깊이 예측 모델(610)은 차선 검출 모델(650)에서 생성한 차선 확률맵(652)을 기초로 시차맵(617)을 생성할 수 있다.
매칭 정보 산출 모듈(611)은 제1 영상(601) 및 제2 영상(602)의 특징맵을 기초로 제1 영상(601)과 제2 영상(602) 간의 매칭 정보를 산출할 수 있다.
평활화 모듈(613) 및 매칭 정보 누적 모듈(615)은 매칭 정보에 대해 필터링을 수행하고, 필터링을 통해 노이즈에 해당하는 이상 픽셀 포인트들을 제거하여 매칭 정밀도를 향상시킬 수 있다.
평활화 모듈(613)은 차선 확률맵(652)의 이진 영상 마스크를 수신하고, 집중 메카니즘을 기반으로 차선들의 깊이값을 예측할 수 있다. 평활화 모듈(613)은 차선들의 깊이값 예측 시에, 등록된 차선 구역의 깊이, 다시 말해 이전 차선 집합에 포함된 이전 차선의 깊이에 더 집중하여, 계산량을 줄일 수 있다.
매칭 정보 누적 모듈(615)은 예를 들어, 회귀 알고리즘에 따라 계산한 전체 영상 상의 시차 값과 제1 영상과 제2 영상 간의 시차 값의 차이에 의해 트레이닝될 수 있다. 매칭 정보 누적 모듈(615)의 트레이닝 방법 및 시차맵을 출력하는 과정은 아래의 도 7을 참조하여 구체적으로 설명한다. 또한, 깊이 예측 모델(610)에 포함된 신경망들의 구성 및 학습 방법은 아래의 도 8을 참조하여 보다 구체적으로 설명한다.
차선 검출 모델(650)은 차선 검출을 수행할 수 있다. 차선 검출 모델(650)은 좌측 영상에 해당하는 제1 영상(601)을 입력받아 차선 확률맵(652)을 생성할 수 있다. 차선 검출 모델(650)은 차선 확률맵(613)을 기초로 차선들을 검출하여 출력할 수 있다. 차선 검출 모델(650)은 특징 추출 모듈(605)을 구성하는 CNN 네트워크(605-1), 인코더-디코더(Encoder-Decoder) 네트워크(651)를 포함할 수 있다.
특징 추출 모듈(605)은 깊이 예측 모델(610) 및 차선 검출 모델(650)에 의해 공유될 수 있다. 특징 추출 모듈(605)은 깊이 예측 모델(610) 및 차선 검출 모델(650)의 가중치를 공유할 수 있다.
특징 추출 모듈(605)은 제1 영상(601) 및/또는 제 2 영상(602)으로부터 특징을 추출할 수 있다. 영상의 특징은 예를 들어, 하위 레벨의 시각 특징과 상위 레벨의 의미론적 특징의 두 차원으로 분류될 수 있다. 하위 레벨의 시각 특징은 예를 들어, 무늬, 색상, 및 형상 등을 포함할 수 있다. 또한, 상위 레벨의 의미론적 특징은 예를 들어, 윤곽을 포함할 수 있다. 의미론적 특징은 예를 들어, 심층 신경망을 통해 추출될 수 있다.
인코더-디코더 네트워크(651)는 특징 추출 모듈(605)에 의해 추출된 특징을 기초로 차선 확률맵을 생성할 수 있다. 인코더-디코더 네트워크(651)는 '차선 확률맵 생성 모듈'이라고도 부를 수도 있다. 인코더-디코더 네트워크(651)는 예를 들어, FCN(Fully Convolutional Networks)으로 구성될 수 있다.
인코더-디코더 네트워크(651)는 특징 추출 모듈(605)에 의해 추출된 의미론적 특징을 기반으로 픽셀 등급의 차선 확률맵(652)을 생성할 수 있다. 이때, 생성되는 차선 확률맵은 예를 들어, 초기(initial) 차선 확률맵일 수 있다. 초기 차선 확률맵은 픽셀 값이 차선에 속할 확률을 나타낼 뿐, 차선들 각각을 나타내지 않는다.
차선 검출 모델(650)은 초기(initial) 차선 확률맵을 이용하여 차선 세그먼트들을 추출할 수 있다(653).
차선 검출 모델(650)은 차선 세그먼트들을 클러스터링(654)하여 후보 차선들을 포함하는 후보 차선 집합을 구성할 수 있다(655). 차선 검출 모델(650)은 후보 차선 집합에 포함된 후보 차선들 중 서로 연계된 후보 차선을 하나의 그룹으로 분류할 수 있다.
차선 검출 모델(650)은 후보 차선 집합에 포함된 후보 차선들 각각과 이전(previous) 차선 집합에 포함된 어느 하나의 이전 차선과의 거리에 따라 후보 차선들 각각과 이전 차선을 매칭시켜 매칭 스코어를 산출할 수 있다(656). 차선 검출 모델(650)은 예를 들어, 서브 픽셀의 정밀도가 보장된 3차원 입체 매칭을 통해 도로의 교차 구간, 도로 표지, 마모된 차선, 근거리 및 원거리에 위치한 객체의 거리 추측 등과 같이 복잡한 도시 차선들을 포함하는 영상에 대한 차선 식별의 정확도를 향상시킬 수 있다.
차선 검출 모델(650)은 매칭 스코어를 기초로 최적의 매칭인가를 판단할 수 있다(657). 차선 검출 모델(650)은 예를 들어, 이전 동영상 프레임을 기반으로, 추출한 차선 세그먼트가 이전 차선의 상태에 대한 최적의 매칭인지 여부를 판단할 수 있다. 단계(657)에서 최적의 매칭으로 판단된 경우, 차선 검출 모델(650)은 최적의 매칭에 해당하는 후보 차선을 곡선 피팅 모델에 피팅함으로써 차선 피팅을 수행할 수 있다(658). 차선 검출 모델(650)은 예를 들어, 위치를 서로 연결한 픽셀 포인트들을 곡선 피팅 모델에 사용하여 피팅할 수 있다. 차선 검출 모델(650)은 차선 피팅을 통해 차선 또는 차선들을 검출할 수 있다(659)
단계(657)에서 최적의 매칭이 아니라고 판단된 경우, 차선 검출 모델(650)은 이전 차선 집합(607)을 갱신할 수 있다(660). 이때, 이전 차선 집합(607)은 이전 프레임들(603)에 기초하여 검출된 이전 차선들을 포함할 수 있다.
차선 검출 모델(650)은 신경망을 통해 차선 식별을 수행할 수 있으며, 차선 식별 시에 초기의 차선 정보를 한 개의 템플릿으로 취급하여 매칭 정보에 대한 집중 메커니즘을 수행할 수도 있다.
차선 검출 모델(650)이 차선 확률맵(652)을 생성하는 과정은 아래의 도 7을 참조하여 구체적으로 설명한다. 또한, 깊이 예측 모델(610)에 포함된 신경망들의 구성 및 학습 방법은 아래의 도 8을 참조하여 보다 구체적으로 설명한다.
도 7은 일 실시예에 따른 멀티 태스크 네트워크에서 차선 확률맵 및 시차맵을 생성하는 과정을 설명하기 위한 도면이다. 도 7을 참조하면, 깊이 예측 모델(610)의 신경망들 및 차선 검출 모델의 신경망들에 의해 제1 영상(601) 및 제2 영상(602)으로부터 시차맵(617) 및 차선 확률맵(652)이 생성되는 과정이 도시된다.
특징 추출 모듈(605)은 제1 영상(601) 및/또는 제 2 영상(602)으로부터 상위 레벨의 의미론적 차선 특징들을 추출할 수 있다. 이때, 특징 추출 모듈(605)은 컨볼루션 신경망으로 구성된 CNN 네트워크(605-1) 및 CNN 네트워크(605-2)을 포함할 수 있다. 실시예에 따라서, 특징 추출 모듈(605)을 구성하는 CNN 네트워크(605-1) 및 CNN 네트워크(605-2)는 예를 들어, VGG Net, GG Net 또는 GoogleNet로 구성될 수도 있으며, 반드시 이에 한정되지 않는다. 또는 변별력 있는 고차원의 차선 특징을 추출하고, 계산 시간을 줄이기 위해, 특징 추출 모듈(605)은 예를 들어, 아래의 도 8에 도시된 것과 같이 컨볼루션과 포인트 와이즈(pointwise) 컨볼루션(1Х1 컨볼루션)을 분리하는 방식으로 구성될 수도 있다.
특징 추출 모듈(605)은 제1 영상(601) 및/또는 제 2 영상(602)으로부터 추출한 차선 특징들을 기초로, 제1 특징맵 및 제2 특징맵을 획득할 수 있다.
특징 추출 모듈(605)은 제1 영상(601)으로부터 획득한 제1 특징맵을 인코더-디코더 네트워크(651)로 전달할 수 있다.
인코더-디코더 네트워크(651)는 제1 특징맵에 기초하여 차선 확률맵(652)을 생성할 수 있다. 이때, 인코더-디코더 네트워크(651) 중 인코더 계층은 예를 들어, 이차원 컨볼루션 신경망과 풀링 레이어(Pooling layer)로 구성될 수 있다. 인코더 계층은 예를 들어, 공동 컨볼루션 커널(cavity convolutional kernel)을 사용하여 160Х90 dpi의 낮은 해상도의 특징맵을 1280Х720 dpi 해상도의 차선 특징맵으로 디컨볼루션 할 수 있다. 또는 인코더 계층은 확장된 컨볼루션 커널(dilated convolutional kernels)을 사용하여 인코더의 수신 필드를 확장하면서도 낮은 처리 비용을 보장할 수 있다.
또한, 인코더-디코더 네트워크(651) 중 디코더 계층은 이차원 디컨볼루션 신경망과 업샘플링(upsampling) 레이어로 구성될 수 있다.
또한, 매칭 정보 산출 모듈(611)은 특징 추출 모듈(605)로부터 제1 특징맵 및 제2 영상으로부터 획득한 제2 특징맵을 수신할 수 있다. 매칭 정보 산출 모듈(611)은 제1 특징맵 및 제2 특징맵을 기초로 제1 영상과 제2 영상 간의 매칭 정보를 산출할 수 있다.
평활화 모듈(613)은 차선 확률맵(652)를 매칭 정보 산출 모듈(611)에서 출력된 매칭 정보에 오버레이하여 새로운 매칭 정보를 획득할 수 있다. 평활화 모듈(613)은 새로운 매칭 정보를 필터링함으로써 인접한 픽셀 포인트들을 평활화할 수 있다. 매칭 정보 누적 모듈(615)는 평활화 결과에 대한 노이즈 제거를 통해 제1 영상과 제2 영상 간의 시차를 획득할 수 있다.
출력 장치는 매칭 정보 누적 모듈(615)에서 출력된 시차에 기초하여 시차맵(617)을 생성할 수 있다. 여기서, 매칭 정보 누적 모듈(615)의 트레이닝 방법은 다음과 같다. 매칭 정보 누적 모듈(615)은 회귀 알고리즘에 따라 계산한 전체 영상 상의 시차 값과 표시한 시차 값 간의 차이
Figure pat00004
를 역전파하여 트레이닝될 수 있다. 보다 구체적으로 매칭 정보 누적 모듈(615)은 아래의 수학식 2에 의해 트레이닝될 수 있다.
Figure pat00005
여기서, di는 시차 범위의 값을 나타내고, 그 범위는 0-Dmax 일 수 있다.
Dmax는 시차 범위를 대표하는 값으로서 예를 들어, 10과 같이 미리 설정된 임의의 값을 가질 수 있다. Dmax는 제1 영상과 제2 영상의 픽셀 포인트 간의 최대 차이 값을 나타낼 수 있다.
Figure pat00006
( )는 소프트맥스(softmax) 레이어의 오퍼레이터를 나타내고, cd는 매칭 값 행렬 상의 값을 나타낸다.
매칭 정보 누적 모듈(615)은 예를 들어, 아래의 수학식 3에 따라 예측한 시차 값
Figure pat00007
를 획득할 수 있다.
Figure pat00008
여기서,
Figure pat00009
은 예측한 시차 값을 나타내고, N은 영상의 픽셀 포인트 개수를 나타낼 수 있다.
도 8은 일 실시예에 따른 멀티 태스크 네트워크에서 깊이 예측 모델에 포함된 신경망들의 구성 및 학습 방법을 설명하기 위한 도면이다. 도 8을 참조하면, CNN 네트워크(605-1)의 구성과 CNN 네트워크(605-1) 및 인코더-디코더 네트워크(651)의 학습 과정이 도시된다.
CNN 네트워크(605-1)는 제1 영상(601)으로부터 제1 특징맵을 획득할 수 있다. 일 실시예에서는 예를 들어, 캐니 연산자와 같이 영상의 특징을 추출하는 연산자를 통해 제1 영상(601)에 대해 에지 검출을 진행하여 제1 특징맵을 획득할 수 있다.
이때, CNN 네트워크(605-1)는 예를 들어, 분리 가능한 컨볼루션들(801, 803, 및 805)과 포인트-투-포인트의 포인트 와이즈(pointwise) 컨볼루션들(802, 804, 806)을 분리하는 방식으로 구성될 수도 있다. 포인트 와이즈(pointwise) 컨볼루션은 1Х1 컨볼루션일 수 있다. CNN 네트워크(605-1)가 컨볼루션과 포인트 와이즈 컨볼루션으로 분리된 경우, 고차원의 차선 특징을 추출할 수 있으며, 계산 복잡도 및/또는 처리 비용을 낮출 수 있다.
인코더-디코더 네트워크(651)는 CNN 네트워크(605-1)에서 출력되는 제1 특징맵에 기초하여 차선 확률맵(810)을 생성할 수 있다. 출력 장치는 인코더-디코더 네트워크(651)가 생성한 차선 확률맵(810)과 제1 영상(601)의 차선 특징을 나타낸 정답 데이터(820) 간의 차이의 역방향 전파에 의해 CNN 네트워크(605-1) 및/또는 인코더-디코더 네트워크(651)의 파라미터를 트레이닝할 수 있다. 여기서, 차선 확률맵(810)과 정답 데이터(820) 간의 차이는 손실 함수(loss function)에 의해 측정되며, CNN 네트워크(605-1) 및/또는 인코더-디코더 네트워크(651)에서의 추출 정확도를 향상시킬 수 있다. 손실 함수는 예를 들어, 크로스 엔트로피 손실 함수일 수 있다.
도 9는 일 실시예에 따라 3차원 차선들을 생성하는 과정을 설명하기 위한 도면이다. 도 9를 참조하면, 일 실시예에 따른 출력 장치가 제1 영상 및 제2 영상으로부터 3차원 차선들을 생성하는 과정이 도시된다.
출력 장치는 우선 도로의 좌측 영상(901)과 우측 영상(903)을 획득할 수 있다. 출력 장치는 우측 영상(901)으로부터 차선 특징을 추출하고(910), 추출한 차선 특징에 기초하여 제2 특징맵을 획득할 수 있다. 또한, 출력 장치는 좌측 영상(901)으로부터 차선 특징을 추출하고(915), 추출한 차선 특징에 기초하여 제1 특징맵을 획득할 수 있다.
출력 장치는 제1 특징맵과 제2 특징맵에 따라 좌측 영상(901)과 우측 영상(903) 간의 매칭 정보를 산출할 수 있다(920). 또한, 출력 장치는 제1 특징맵에 따라 차선 확률맵을 생성할 수 있다(925). 여기서, 매칭 정보의 산출(920) 및 차선 확률맵의 생성(925)은 도 9에 도시된 순서로 진행될 수도 있고, 이와 달리 수행될 수도 있다. 실시예에 따라서, 출력 장치는 차선 확률맵의 생성을 먼저 수행하고, 매칭 정보의 산출을 이후에 수행할 수도 있다. 또는 출력 장치는 차선 확률맵의 생성과 매칭 정보의 산출을 동시에 수행할 수도 있다.
출력 장치는 매칭 정보에 대한 평활화 및 누적을 수행할 수 있다(930). 출력 장치는 평활화 및 누적 결과에 따라 시차를 산출하고, 차선의 깊이값을 예측할 수 있다(950).
출력 장치는 차선 확률맵에 따라 차선 클러스터링을 수행할 수 있다(935). 출력 장치는 클러스터링을 거친 차선 집합을 후보 차선 집합으로 취급하여 후보 차선 집합으로부터 차선을 검출할 수 있다(940). 차선 검출(940)을 수행할 때, 출력 장치는 예를 들어, 평점(score) 체재에 기초하여 차선의 진위 상태를 판별할 수 있다. 단계(940)에서 출력 장치는 진위 상태가 '참'으로 판별되는 차선 집합, 다시 말해 실제 차선에 해당하는 차선 세그먼트들을 포함하는 차선 집합을 출력할 수 있다.
출력 장치는 차선 검출 결과를 기초로 차선 피팅(945)을 수행하여 차선을 생성할 수 있다. 차선 피팅을 수행할 때, 출력 장치는 예를 들어, 곡선 피팅 모델을 기초로 차선에 대한 곡선 피팅을 수행할 수 있다. 차선 피팅 시에 출력 장치는 이전 단계에서 획득한, 진위 상태가 '참'인 차선 집합을 수신하여 차선 피팅을 수행하고, 새롭게 피팅된 차선들을 포함하는 차선 집합을 출력할 수 있다.
출력 장치는 앞서 생성된 차선 및 단계(950)에서 획득한 차선의 깊이값에 따라 3차원 차선을 획득 및/또는 출력할 수 있다(955).
도 10은 일 실시예에 따른 조건적 임의 필드(CRF) 그래프를 이용하여 차선 세그먼트들을 클러스터링하는 방법을 설명하기 위한 도면이다. 도 10을 참조하면, 조건적 임의 필드(CRF) 연관 알고리즘을 이용하여 다양한 차선 표시들을 분류하는 과정이 도시된다.
일 실시예에 따른 출력 장치는 원시 영상(raw image)이 수신되면(1005), 특징 추출 네트워크(feature extraction network)를 통해 원시 영상으로부터 차선 특징들을 추출할 수 있다(1010). 출력 장치는 차선 특징들을 기초로 초기 특징 맵(initial feature map)을 생성할 수 있다(1015). 출력 장치는 초기 특징 맵으로부터 원시 마킹 시드(raw marking seeds)를 획득할 수 있다(1020). 이때, 원시 마킹 시드는 서로 다른 색상으로 표시된 다양한 차선 세그먼트들을 포함할 수 있다. 다양한 차선 세그먼트들 각각의 위치는 예를 들어, Head(hi), center(ci) 및 tail(ti) 와 같이 나타낼 수 있으며, 또한 차선 세그먼트들 각각의 각도는 예를 들어, Head 각도(θhi ), center 각도(θci) 및 tail 각도(θti) 와 같이 나타낼 수 있다.
출력 장치는 원시 마킹 시드를 기초로 하위 레벨 연관(low level association)을 수행할 수 있다(1025). 출력 장치는 예를 들어, 일정 거리 내에 서로 인접하게 위치하거나, 및/또는 동일한 각도를 갖는 차선 세그먼트들과 같이 명백하게 연관된 세그먼트들을 그룹화함으로써 문제의 크기(problem size), 다시 말해 처리해야 할 차선 세그먼트들의 개수를 줄일 수 있다.
출력 장치는 그룹핑된 차선 세그먼트들 간의 스코어를 산출하고(1030), 스코어가 미리 설정된 기준값보다 큰 지 여부를 판단할 수 있다(1035). 여기서, 스코어는 그룹핑된 차선 세그먼트들 간의 매칭 정도 또는 매칭률을 나타내는 스코어일 수 있다.
출력 장치는 단계(1035)의 판단 결과를 기초로, 여러 차선 표시를 분류 할 수 있는 조건적 임의 필드(CRF) 연관 알고리즘을 수행하여 조건적 임의 필드(CRF) 그래프를 생성할 수 있다(1040). 조건적 임의 필드 그래프는 예를 들어, G=(V; E)와 같이 표현할 수 있다. 여기서, V(Vertex)는 차선 표시의 연관(association)을 나타내고, E(Edge)는 차선 표시들 간의 연관성 또는 상관 관계(correlation)의 존재를 나타낸다.
출력 장치는 조건적 임의 필드 그래프에 기반한 에너지 최소화를 통해 차선 표시들 간의 최종 연관 결과를 생성하여 특징점들을 그룹핑할 수 있다(1045).
출력 장치는 스플라인 차로 모델(Spline lane)을 이용하여 앞서 그룹핑된 특징점들을 차선 또는 차선 세그먼트에 피팅(1050) 함으로써 최종 차선을 획득할 수 있다(1055). 여기서, 스플라인 차로 모델은 예를 들어, B- 스플라인 커브 피팅(B-spline Curve Fitting) 모델과 같은 2차 곡선 공식일 수 있다.
출력 장치는 최종 차선을 이용하여 원시 영상으로부터 차선들을 검출할 수 있다(1060).
도 11은 일 실시예에 따른 매칭 스코어를 기초로 긍정 오류(false positive)로 판단된 차선을 배제하고, 차선을 식별하는 방법을 나타낸 프로그램 코딩을 도시한 도면이다. 도 11을 참조하면, 차선들 중 이전 프레임들의 차선 식별 결과에 기초하여 매칭 스코어를 산출함으로써 긍정 오류로 판단된 차선을 배제하고, 마모된 도로의 차선을 식별하여 차선의 식별 정확도를 향상시킬 수 있다.
도 12는 일 실시예에 따른 차선들의 깊이값을 예측하는 방법을 나타낸 흐름도이다. 도 12를 참조하면, 일 실시예에 따른 출력 장치는 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득한다(1210).
출력 장치는 제1 영상으로부터 획득한 제1 특징맵(feature map)을 기초로, 제1 특징맵의 픽셀 포인트가 차선들에 속할 확률을 나타내는 차선 확률맵을 생성한다(1220).
출력 장치는 제1 특징맵 및 제2 영상으로부터 획득한 제2 특징맵을 기초로, 제1 영상과 제2 영상 간의 매칭 정보를 산출한다(1230).
출력 장치는 차선 확률맵 및 매칭 정보를 이용하여 차선들의 깊이값을 예측한다(1240).
도 13은 일 실시예에 따른 3차원 차선들을 출력하는 장치의 블록도이다. 도 13를 참조하면, 일 실시예에 따른 3차원 차선들을 출력하는 장치('이하, '출력 장치')(1300)는 센서들(1310), 적어도 하나의 프로세서(1330), 디스플레이(1350), 통신 인터페이스(1370) 및 메모리(1390)를 포함한다. 센서들(1310), 적어도 하나의 프로세서(1330), 디스플레이(1350), 통신 인터페이스(1370) 및 메모리(1390)는 통신 버스(1305)를 통해 서로 통신할 수 있다.
센서들(1310)은 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 캡쳐한다. 제1 영상 및 제2 영상은 예를 들어, 2차원 영상일 수 있다. 센서들(1310)은 제1 영상을 캡쳐하는 제1 센서 및 제2 영상을 캡쳐하는 제2 센서를 포함할 수 있다. 제1 센서 및 제2 센서는 차량 상의 동일한 수평선 상에 위치할 수 있다. 센서들(1310)은 예를 들어, 이미지 센서, 비전 센서 및 카메라 센서 등을 포함할 수 있다.
적어도 하나의 프로세서(1330)는 제1 영상으로부터 획득한 제1 특징맵을 기초로 차선 확률맵을 생성한다. 차선 확률맵은 제1 특징맵의 픽셀 포인트가 차선들에 속할 확률을 나타낸다. 적어도 하나의 프로세서(1330)는 제1 특징맵 및 제2 영상으로부터 획득한 제2 특징맵을 기초로, 제1 영상과 제2 영상 간의 매칭 정보를 산출한다. 이때, 적어도 하나의 프로세서(1330)는 예를 들어, 제1 영상으로부터 제1 차선 특징들을 추출하는 제1 신경망 및/또는 제2 영상으로부터 제2 차선 특징들을 추출하는 제2 신경망을 포함할 수 있다. 이때, 제1 신경망 및 제2 신경망은 가중치 파라미터들을 서로 공유할 수 있다. 실시예에 따라서, 제1 신경망과 제2 신경망은 통합된 하나의 신경망으로 구성될 수도 있다.
적어도 하나의 프로세서(1330)는 차선 확률맵 및 매칭 정보를 이용하여 차선들의 깊이값을 예측한다. 적어도 하나의 프로세서(1330)는 차선 확률맵을 기초로 차선들을 검출한다. 적어도 하나의 프로세서(1330)는 검출한 차선들 및 차선들의 깊이값을 기초로 3차원 차선들을 생성한다. 적어도 하나의 프로세서(1330)는 예를 들어, 센서들(1310)에 의해 캡쳐된 2차원의 제1 영상 및/또는 제2 영상 상에 3차원 차선들을 생성될 수도 있고, 별도의 3차원 맵 상에 3차원 차선들을 생성할 수도 있다.
적어도 하나의 프로세서(1330)는 3차원 차선들을 디스플레이(1350) 및/또는 통신 인터페이스(1370)를 통해 출력한다.
디스플레이(1350)는 예를 들어, 헤드-업 디스플레이(head-up display) 또는 증강 현실(augmented reality; AR) 헤드 업 디스플레이일 수 있다.
통신 인터페이스(1370)는 센서들(1310)을 제외한 출력 장치(1300)의 외부로부터 캡쳐된 영상들을 수신하거나, 또는 적어도 하나의 프로세서(1330)에 의해 생성 및 출력되는 3차원 차선들을 전송할 수 있다.
또한, 적어도 하나의 프로세서(1330)는 도 1 내지 도 12를 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 적어도 하나의 프로세서(1330)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
적어도 하나의 프로세서(1330)는 프로그램을 실행하고, 출력 장치(1300)를 제어할 수 있다. 적어도 하나의 프로세서(1330)에 의하여 실행되는 프로그램 코드는 메모리(1390)에 저장될 수 있다.
메모리(1390)는 상술한 적어도 하나의 프로세서(1330)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 메모리(1390)는 예를 들어, 제1 특징맵, 제2 특징맵, 제1 영상과 제2 영상 간의 매칭 정보, 차선 확률맵, 차선들의 깊이값 및 3차원 차선들을 저장할 수 있다.
이 밖에도, 메모리(1390)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(1390)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(1390)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (25)

  1. 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득하는 단계;
    상기 제1 영상으로부터 획득한 제1 특징맵(feature map)을 기초로, 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 차선 확률맵을 생성하는 단계;
    상기 제1 특징맵 및 상기 제2 영상으로부터 획득한 제2 특징맵을 기초로, 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계;
    상기 차선 확률맵 및 상기 매칭 정보를 이용하여 상기 차선들의 깊이값을 예측하는 단계;
    상기 차선 확률맵을 기초로 상기 차선들을 검출하는 단계;
    상기 검출한 차선들 및 상기 차선들의 깊이값을 기초로 3차원 차선들을 생성하는 단계; 및
    상기 3차원 차선들을 출력하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  2. 제1항에 있어서,
    상기 차선 확률맵을 생성하는 단계는
    상기 제1 특징맵 상의 적어도 하나의 차선 세그먼트를 추출하는 단계;
    상기 차선 세그먼트에 따라 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 이진 영상(binary image)을 생성하는 단계; 및
    상기 이진 영상을 기초로 상기 차선 확률맵을 생성하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  3. 제1항에 있어서,
    상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계는
    상기 제1 특징맵 및 상기 제2 특징맵 각각에 포함된 픽셀 포인트들의 상관 계수를 산출하는 단계; 및
    상기 상관 계수를 기초로 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  4. 제1항에 있어서,
    상기 차선들의 깊이값을 예측하는 단계는
    상기 차선 확률맵 및 상기 매칭 정보를 기초로 상기 제1 영상과 상기 제2 영상 간의 시차(disparity)를 산출하는 단계; 및
    상기 시차에 기초한 시차맵(disparity map)에 따라 상기 차선들의 깊이값을 예측 하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  5. 제4항에 있어서,
    상기 시차를 산출하는 단계는
    상기 차선 확률맵을 상기 매칭 정보에 오버레이(overlay)하여 새로운 매칭 정보를 획득하는 단계;
    상기 새로운 매칭 정보를 필터링함으로써 인접한 픽셀 포인트들을 평활화하고, 상기 새로운 매칭 정보에 대한 노이즈를 제거하는 단계;
    상기 평활화 및 노이즈 제거 결과에 따라 상기 제1 영상과 상기 제2 영상 간의 시차를 획득하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  6. 제1항에 있어서,
    상기 차선 확률맵을 기초로 상기 차선들을 검출하는 단계는
    상기 차선 확률맵을 기초로 상기 차선들에 대응하는 차선 세그먼트들(line segment)을 추출하는 단계;
    상기 차선 세그먼트들을 클러스터링하여 후보 차선들을 선정하는 단계;
    상기 후보 차선들 중 상기 차선들에 해당하는 적어도 하나의 후보 차선을 결정하는 단계;
    상기 결정된 후보 차선을 곡선 피팅 모델에 피팅 함으로써 상기 차선들을 검출하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  7. 제6항에 있어서,
    상기 차선 세그먼트들을 추출하는 단계는
    상기 차선 확률맵으로부터 차선 상에 위치하는 픽셀 포인트들을 추출하는 단계;
    상기 추출한 픽셀 포인트들 간의 거리들을 산출하는 단계;
    상기 픽셀 포인트들 간의 거리들을 기초로, 상기 추출한 픽셀 포인트들은 결합하여 서브 세그먼트들(sub segments)을 획득하는 단계; 및
    상기 서브 세그먼트들 간의 거리를 기초로 상기 서브 세그먼트들을 연결함으로써 상기 차선 세그먼트들을 추출하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  8. 제6항에 있어서,
    상기 차선 세그먼트들을 클러스터링하여 상기 후보 차선들을 선정하는 단계는
    상기 차선 세그먼트들의 길이를 기초로, 후보 차선 집합- 상기 후보 차선 집합은 임계 길이 보다 큰 길이를 갖는 차선 세그먼트들을 포함함 -에 포함된 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출하는 단계;
    상기 에너지 함수가 미리 설정된 조건을 만족하는지 여부에 따라 상기 차선 세그먼트들의 조합들 중 적어도 하나의 조합을 선택하는 단계;
    상기 선택된 조합에 따라 상기 차선 세그먼트들에 대한 곡선 피팅을 수행하여 상기 차선 세그먼트들을 클러스터링하는 단계; 및
    상기 클러스터링한 차선 세그먼트들을 상기 후보 차선들로 선정하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  9. 제8항에 있어서,
    상기 에너지 함수들을 산출하는 단계는
    상기 후보 차선 집합에 포함된 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  10. 제8항에 있어서,
    상기 에너지 함수를 산출하는 단계는
    조건적 임의 필드(Conditional Random Fields; CRF) 그래프를 이용하여 상기 차선 세그먼트들의 조합들 각각에 대응하는 에너지 함수를 산출하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  11. 제10항에 있어서,
    상기 에너지 함수를 산출하는 단계는
    상기 조건적 임의 필드 그래프에 따라 상기 차선 세그먼트들 간의 단일 함수(unitary function) 및 단일 함수와 쌍을 이룬 페어링 함수(pairing function)를 산출하는 단계; 및
    상기 단일 함수 및 상기 페어링 함수에 기초하여, 상기 에너지 함수를 산출하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  12. 제6항에 있어서,
    상기 후보 차선들 중 상기 차선들에 해당하는 적어도 하나의 후보 차선을 결정하는 단계는
    상기 후보 차선들 각각과 이전(previous) 차선 집합에 포함된 어느 하나의 이전 차선과의 거리를 산출하는 단계;
    상기 후보 차선들 각각과 상기 이전 차선 간의 거리에 따라, 상기 후보 차선들 각각과 상기 이전 차선을 매칭시켜 매칭 스코어를 산출하는 단계; 및
    상기 매칭 스코어를 기초로 상기 차선들에 해당하는 적어도 하나의 후보 차선을 결정하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  13. 제12항에 있어서,
    상기 후보 차선들 각각과 상기 이전 차선 간의 매칭 결과를 기초로 상기 매칭 스코어를 포함하는 상기 이전 차선의 정보를 갱신하는 단계
    를 더 포함하는, 3차원 차선들을 출력하는 방법.
  14. 제13항에 있어서,
    상기 이전 차선의 정보를 갱신하는 단계는
    상기 이전 차선의 매칭 스코어를 갱신하는 단계;
    상기 이전 차선이 실제 차선에 해당하는지 여부를 나타내는 상기 이전 차선의 진위 상태를 갱신하는 단계; 및
    상기 이전 차선을 상기 이전 차선 집합에서 제거하는 단계
    중 적어도 하나를 포함하는, 3차원 차선들을 출력하는 방법.
  15. 제1항에 있어서,
    상기 제1 영상 및 상기 제2 영상을 획득하는 단계는
    차량 상의 동일한 수평 위치에 배치된 두 개의 카메라 또는 양안 카메라를 이용하여 상기 제1 영상 및 상기 제2 영상을 캡쳐(capture)하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  16. 제1항에 있어서,
    제1 신경망을 이용하여 상기 제1 영상으로부터 제1 차선 특징들을 추출하는 단계;
    상기 제1 차선 특징들을 기초로 상기 제1 특징맵을 획득하는 단계;
    제2 신경망을 이용하여 상기 제2 영상으로부터 제2 차선 특징들을 추출하는 단계; 및
    상기 제2 차선 특징들을 기초로 상기 제2 특징맵을 획득하는 단계
    를 더 포함하는, 3차원 차선들을 출력하는 방법.
  17. 제16항에 있어서,
    상기 제1 신경망 및 상기 제2 신경망은
    가중치 파라미터들을 서로 공유하는, 3차원 차선들을 출력하는 방법.
  18. 제16항에 있어서,
    상기 제1 특징맵 및 상기 제2 특징맵을 획득하는 단계는
    상기 제1 영상 및 상기 제2 영상 각각에 대한 엣지 검출(edge detection)을 수행함으로써 상기 제1 특징맵 및 상기 제2 특징맵을 획득하는 단계
    를 포함하는, 3차원 차선들을 출력하는 방법.
  19. 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득하는 단계;
    상기 제1 영상으로부터 획득한 제1 특징맵(feature map)을 기초로, 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 차선 확률맵을 생성하는 단계;
    상기 제1 특징맵 및 상기 제2 영상으로부터 획득한 제2 특징맵을 기초로, 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계; 및
    상기 차선 확률맵 및 상기 매칭 정보를 이용하여 상기 차선들의 깊이값을 예측하는 단계
    를 포함하는, 차선들의 깊이값을 예측하는 방법.
  20. 제19항에 있어서,
    상기 차선 확률맵을 생성하는 단계는
    상기 제1 특징맵 상의 적어도 하나의 차선 세그먼트를 추출하는 단계;
    상기 차선 세그먼트에 따라 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 이진 영상(binary image)을 생성하는 단계; 및
    상기 이진 영상을 기초로 상기 차선 확률맵을 생성하는 단계
    를 포함하는, 차선들의 깊이값을 예측하는 방법.
  21. 제19항에 있어서,
    상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계는
    상기 제1 특징맵 및 상기 제2 특징맵 각각에 포함된 픽셀 포인트들의 상관 계수를 산출하는 단계; 및
    상기 상관 계수를 기초로 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하는 단계
    를 포함하는, 차선들의 깊이값을 예측하는 방법.
  22. 제19항에 있어서,
    상기 차선들의 깊이값을 예측하는 단계는
    상기 차선 확률맵 및 상기 매칭 정보를 기초로 상기 제1 영상과 상기 제2 영상 간의 시차(disparity)를 산출하는 단계; 및
    상기 시차에 기초한 시차맵(disparity map)에 따라 상기 차선들의 깊이값을 예측하는 단계
    를 포함하는, 차선들의 깊이값을 예측하는 방법.
  23. 제22항에 있어서,
    상기 시차를 산출하는 단계는
    상기 차선 확률맵을 상기 매칭 정보에 오버레이(overlay)하여 새로운 매칭 정보를 획득하는 단계;
    상기 새로운 매칭 정보를 필터링함으로써 인접한 픽셀 포인트들을 평활화하고, 상기 새로운 매칭 정보에 대한 노이즈를 제거하는 단계; 및
    상기 평활화 및 노이즈 제거 결과에 따라 상기 제1 영상과 상기 제2 영상 간의 시차를 획득하는 단계
    를 포함하는, 차선들의 깊이값을 예측하는 방법.
  24. 하드웨어와 결합되어 제1항 내지 제23항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  25. 도로의 차선들을 포함하는 제1 영상 및 제2 영상을 획득하는 센서들; 및
    상기 제1 영상으로부터 획득한 제1 특징맵을 기초로, 상기 제1 특징맵의 픽셀 포인트가 상기 차선들에 속할 확률을 나타내는 차선 확률맵을 생성하고, 상기 제1 특징맵 및 상기 제2 영상으로부터 획득한 제2 특징맵을 기초로, 상기 제1 영상과 상기 제2 영상 간의 매칭 정보를 산출하고, 상기 차선 확률맵 및 상기 매칭 정보를 이용하여 상기 차선들의 깊이값을 예측하고, 상기 차선 확률맵을 기초로 상기 차선들을 검출하고, 상기 검출한 차선들 및 상기 차선들의 깊이값을 기초로 3차원 차선들을 생성하며, 상기 3차원 차선들을 출력하는 프로세서
    를 포함하는, 3차원 차선들을 출력하는 장치.
KR1020190028175A 2018-11-21 2019-03-12 차선들의 깊이값을 예측하는 방법, 3차원 차선들을 출력하는 방법 및 그 장치 KR20200060194A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/550,985 US11049275B2 (en) 2018-11-21 2019-08-26 Method of predicting depth values of lines, method of outputting three-dimensional (3D) lines, and apparatus thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811389001.4A CN111209770B (zh) 2018-11-21 2018-11-21 一种车道线识别方法及装置
CN201811389001.4 2018-11-21

Publications (1)

Publication Number Publication Date
KR20200060194A true KR20200060194A (ko) 2020-05-29

Family

ID=70786301

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190028175A KR20200060194A (ko) 2018-11-21 2019-03-12 차선들의 깊이값을 예측하는 방법, 3차원 차선들을 출력하는 방법 및 그 장치

Country Status (2)

Country Link
KR (1) KR20200060194A (ko)
CN (1) CN111209770B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112200884A (zh) * 2020-09-08 2021-01-08 浙江大华技术股份有限公司 一种车道线的生成方法及装置
CN113688721A (zh) * 2021-08-20 2021-11-23 北京京东乾石科技有限公司 用于拟合车道线的方法及装置
KR102405472B1 (ko) * 2021-05-25 2022-06-08 포티투닷 주식회사 난잡한 환경에서 시맨틱 차선을 결정하기 위한 방법 및 장치
KR20220097629A (ko) 2020-12-30 2022-07-08 한국기술교육대학교 산학협력단 비지도 학습 기반의 깊이 예측 방법 및 이를 이용하는 시스템

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111598911B (zh) * 2020-07-14 2020-12-04 浙江大华技术股份有限公司 一种机器人平台的自主巡线方法、装置及存储介质
CN112319468B (zh) * 2020-11-12 2021-07-20 上海伯镭智能科技有限公司 维持路肩间距的无人驾驶车道保持方法
CN112766113B (zh) * 2021-01-08 2023-09-15 广州小鹏自动驾驶科技有限公司 一种路口检测方法、装置、设备及存储介质
CN112749680A (zh) * 2021-01-25 2021-05-04 蔚来汽车科技(安徽)有限公司 用于构建道路模型的方法和设备
CN113190015A (zh) * 2021-05-20 2021-07-30 中国第一汽车股份有限公司 一种地形识别方法、装置、计算机设备和存储介质
CN114399588B (zh) * 2021-12-20 2022-11-11 禾多科技(北京)有限公司 三维车道线生成方法、装置、电子设备和计算机可读介质
CN115082884A (zh) * 2022-06-15 2022-09-20 广州文远知行科技有限公司 一种车道线检测方法、装置、无人设备及存储介质
CN115171428B (zh) * 2022-06-24 2023-06-30 重庆长安汽车股份有限公司 一种基于视觉感知的车辆切入预警方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103630122B (zh) * 2013-10-15 2015-07-15 北京航天科工世纪卫星科技有限公司 一种单目视觉车道线检测方法及其测距方法
KR20160088986A (ko) * 2015-01-16 2016-07-27 경북대학교 산학협력단 소실점 기반의 양안시차를 이용한 차선 검출 방법
CN104657727B (zh) * 2015-03-18 2018-01-02 厦门麦克玛视电子信息技术有限公司 一种车道线的检测方法
CN107025660B (zh) * 2016-02-01 2020-07-10 北京三星通信技术研究有限公司 一种确定双目动态视觉传感器图像视差的方法和装置
CN105667518B (zh) * 2016-02-25 2018-07-24 福州华鹰重工机械有限公司 车道检测的方法及装置
US10699151B2 (en) * 2016-06-03 2020-06-30 Miovision Technologies Incorporated System and method for performing saliency detection using deep active contours
CN106228110B (zh) * 2016-07-07 2019-09-20 浙江零跑科技有限公司 一种基于车载双目相机的障碍物及可行驶区域检测方法
CN106156748B (zh) * 2016-07-22 2019-03-29 浙江零跑科技有限公司 基于车载双目相机的交通场景参与者识别方法
US10859395B2 (en) * 2016-12-30 2020-12-08 DeepMap Inc. Lane line creation for high definition maps for autonomous vehicles
CN106952303B (zh) * 2017-03-09 2020-04-24 北京旷视科技有限公司 车距检测方法、装置和系统
CN107392103B (zh) * 2017-06-21 2020-06-26 海信集团有限公司 路面车道线的检测方法及装置、电子设备
CN108216229B (zh) * 2017-09-08 2020-01-10 北京市商汤科技开发有限公司 交通工具、道路线检测和驾驶控制方法及装置
CN108108667B (zh) * 2017-12-01 2019-08-09 大连理工大学 一种基于窄基线双目视觉的前方车辆快速测距方法
CN108052904B (zh) * 2017-12-13 2021-11-30 辽宁工业大学 车道线的获取方法及装置
CN108335322B (zh) * 2018-02-01 2021-02-12 深圳市商汤科技有限公司 深度估计方法和装置、电子设备、程序和介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112200884A (zh) * 2020-09-08 2021-01-08 浙江大华技术股份有限公司 一种车道线的生成方法及装置
CN112200884B (zh) * 2020-09-08 2024-05-03 浙江大华技术股份有限公司 一种车道线的生成方法及装置
KR20220097629A (ko) 2020-12-30 2022-07-08 한국기술교육대학교 산학협력단 비지도 학습 기반의 깊이 예측 방법 및 이를 이용하는 시스템
KR102405472B1 (ko) * 2021-05-25 2022-06-08 포티투닷 주식회사 난잡한 환경에서 시맨틱 차선을 결정하기 위한 방법 및 장치
CN113688721A (zh) * 2021-08-20 2021-11-23 北京京东乾石科技有限公司 用于拟合车道线的方法及装置
CN113688721B (zh) * 2021-08-20 2024-03-05 北京京东乾石科技有限公司 用于拟合车道线的方法及装置

Also Published As

Publication number Publication date
CN111209770A (zh) 2020-05-29
CN111209770B (zh) 2024-04-23

Similar Documents

Publication Publication Date Title
KR20200060194A (ko) 차선들의 깊이값을 예측하는 방법, 3차원 차선들을 출력하는 방법 및 그 장치
CN108961327B (zh) 一种单目深度估计方法及其装置、设备和存储介质
AU2017324923B2 (en) Predicting depth from image data using a statistical model
CN112417967B (zh) 障碍物检测方法、装置、计算机设备和存储介质
Smolyanskiy et al. On the importance of stereo for accurate depth estimation: An efficient semi-supervised deep neural network approach
US11049275B2 (en) Method of predicting depth values of lines, method of outputting three-dimensional (3D) lines, and apparatus thereof
CN111666921B (zh) 车辆控制方法、装置、计算机设备和计算机可读存储介质
JP5926228B2 (ja) 自律車両用の奥行き検知方法及びシステム
WO2017041396A1 (zh) 一种车道线数据的处理方法、装置、存储介质及设备
JP6574611B2 (ja) 立体画像に基づいて距離情報を求めるためのセンサシステム
CN111091038A (zh) 训练方法、计算机可读介质和检测消失点的方法及装置
EP3825904A1 (en) Method and apparatus with three-dimensional object display
KR101869266B1 (ko) 극한 심층학습 기반 차선 검출 시스템 및 그 방법
CN109670516B (zh) 一种图像特征提取方法、装置、设备及可读存储介质
US20230021591A1 (en) Model generation method, model generation apparatus, non-transitory storage medium, mobile object posture estimation method, and mobile object posture estimation apparatus
CN115909268A (zh) 一种动态障碍物检测方法及装置
CN116168384A (zh) 点云目标检测方法、装置、电子设备及存储介质
Huang et al. ES-Net: An efficient stereo matching network
Jakob et al. Concept for transfer of driver assistance algorithms for blind and visually impaired people
Al Mamun et al. Efficient lane marking detection using deep learning technique with differential and cross-entropy loss.
JP2023511454A (ja) 車両走行路内のデブリの検出
KR101910256B1 (ko) 카메라 기반 도로 곡률 추정을 위한 차선 검출 방법 및 시스템
KR102453782B1 (ko) 자율주행을 위한 차선검출 방법.
CN113569803A (zh) 一种基于多尺度卷积的多模态数据融合车道目标检测的方法及系统
KR101437228B1 (ko) 입체영상에서의 외곽선 가중치 기반 장애물 영역 검출 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal