KR20200046437A - 영상 및 맵 데이터 기반 측위 방법 및 장치 - Google Patents

영상 및 맵 데이터 기반 측위 방법 및 장치 Download PDF

Info

Publication number
KR20200046437A
KR20200046437A KR1020180127589A KR20180127589A KR20200046437A KR 20200046437 A KR20200046437 A KR 20200046437A KR 1020180127589 A KR1020180127589 A KR 1020180127589A KR 20180127589 A KR20180127589 A KR 20180127589A KR 20200046437 A KR20200046437 A KR 20200046437A
Authority
KR
South Korea
Prior art keywords
image
freedom
determining
positioning
vertices
Prior art date
Application number
KR1020180127589A
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 KR1020180127589A priority Critical patent/KR20200046437A/ko
Priority to US16/371,305 priority patent/US11176719B2/en
Priority to EP19182124.8A priority patent/EP3644278A1/en
Priority to EP23190121.6A priority patent/EP4246440A3/en
Priority to CN201910648410.XA priority patent/CN111089597A/zh
Priority to JP2019171729A priority patent/JP2020076745A/ja
Publication of KR20200046437A publication Critical patent/KR20200046437A/ko
Priority to JP2024013948A priority patent/JP2024032933A/ja

Links

Images

Classifications

    • 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/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3635Guidance using 3D or perspective road maps
    • G01C21/3638Guidance using 3D or perspective road maps including 3D objects and buildings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/536Depth or shape recovery from perspective effects, e.g. by using vanishing points
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Abstract

일 실시예에 따른 측위 장치는 입력 영상으로부터 객체에 해당하는 특징을 추출하고, 맵 데이터에 기초하여 장치의 측위에 따라 객체가 투영된 영상을 생성하며, 투영 영상에 포함된 정점들에 대응하는 특징 값들에 기초하여 측위를 평가한다.

Description

영상 및 맵 데이터 기반 측위 방법 및 장치{LOCALIZATION METHOD BASED ON IMAGES AND MAP DATA AND APPARATUS THEREOF}
아래 실시예들은 영상 및 맵 데이터 기반 측위 방법 및 장치에 관한 것이다.
차량 및 기타 운송 수단의 주행 보조나 게임, 및 오락 등 다양한 분야에서 다양한 형태의 증강 현실(Augmentation Reality) 서비스가 제공되고 있다. 증강 현실을 보다 정확하고 실감나게 제공하기 위해 다양한 측위(localization) 방법들이 이용될 수 있다. 예를 들어, 센서(sensor) 기반의 측위 방법은 객체의 위치와 방향을 파악하기 위해 GPS(Global Positioning System) 센서 및 IMU(Inertial Measurement Unit) 센서 등과 같은 다양한 센서들을 복합적으로 사용할 수 있다. 또한, 카메라(Camera) 정보를 사용하는 비전(vision) 기반의 측위 방법도 있다.
아래에서 설명할 실시예들은 영상과 맵 데이터에 기반한 측위 방법을 제안한다. 실시예들은 영상의 정점들과 맵 데이터의 정점들 사이에 대응관계를 설정하지 않고도 측위가 가능한 기술을 제공한다. 또한, 실시예들은 영상의 특징을 파라미터화 하거나, 3차원 변환과 투시(perspective) 변환에 불변적인 관계를 추출하거나, 맵 데이터에서 탐색 시 이러한 불변적인 관계를 용이하게 특정하지 않고도 측위가 가능한 기술을 제공한다.
일 측에 따른 측위 방법은 입력 영상으로부터 객체에 해당하는 특징을 포함하는 제1 영상을 생성하는 단계; 상기 객체의 위치를 포함하는 맵 데이터에 기초하여, 장치의 후보 측위에 따라 상기 객체가 투영된 제2 영상을 생성하는 단계; 상기 제2 영상에 포함된 정점들에 대응하여, 상기 제1 영상으로부터 특징 값들을 풀링(pooling)하는 단계; 및 상기 풀링된 특징 값들에 기초하여, 상기 후보 측위의 스코어를 계산하는 단계를 포함한다.
상기 제1 영상을 생성하는 단계는 복수의 특징들에 대응하는 복수의 특징 맵들을 생성하는 단계를 포함할 수 있다.
상기 제2 영상을 생성하는 단계는 상기 맵 데이터로부터 상기 후보 측위에서의 시야 범위에 해당하는 영역을 추출하는 단계; 및 상기 영역에 포함된 정점들을 상기 후보 측위에 대응하는 투영점으로 투영하는 단계를 포함할 수 있다.
상기 특징 값들을 풀링하는 단계는 상기 정점들의 좌표에 기초하여, 상기 제1 영상 내 픽셀들을 선택하는 단계; 및 상기 선택된 픽셀들의 특징 값을 획득하는 단계를 포함할 수 있다.
상기 후보 측위의 스코어를 계산하는 단계는 상기 풀링된 특징 값들을 합산하는 단계를 포함할 수 있다.
상기 제1 영상이 복수의 특징들에 대응하는 복수의 특징 맵들을 포함하는 경우, 상기 합산하는 단계는 상기 특징들에 대응하여 정해진 가중치들에 기초하여, 상기 특징 값들을 가중 합산하는 단계를 포함할 수 있다.
상기 측위 방법은 상기 후보 측위의 스코어에 기초하여, 상기 장치의 측위를 결정하는 단계를 더 포함할 수 있다.
상기 장치의 측위를 결정하는 단계는 복수의 후보 측위들의 스코어들 중 최대 스코어에 대응하는 후보 측위를 상기 장치의 측위로 결정하는 단계를 포함할 수 있다.
상기 장치의 측위를 결정하는 단계는 상기 제2 영상을 복수의 영역들로 분할하는 단계; 및 상기 분할된 영역들에서 계산되는 스코어들을 순차적으로 이용함으로써, 상기 후보 측위에 포함된 복수의 자유도의 값들을 순차적으로 결정하는 단계를 포함할 수 있다.
상기 복수의 자유도의 값들은 이동(translation)과 관련된 3-자유도의 값들 및 회전(rotation)과 관련된 3-자유도의 값들을 포함할 수 있다.
상기 분할하는 단계는 거리와 관련된 제1 기준에 기초하여, 상기 제2 영상을 원거리 영역 및 근거리 영역으로 분할하는 단계; 및 소실점과 관련된 제2 기준에 기초하여, 상기 근거리 영역을 소실점 지향 근거리 영역 및 비 소실점 지향 근거리 영역으로 분할하는 단계를 포함할 수 있다.
상기 복수의 자유도의 값들을 순차적으로 결정하는 단계는 상기 원거리 영역에 기초하여, 회전 관련 자유도들을 결정하는 단계; 상기 소실점 지향 근거리 영역에 기초하여, 좌우 방향의 이동 관련 자유도를 결정하는 단계; 및 상기 비 소실점 지향 근거리 영역에 기초하여, 전후 방향의 이동 관련 자유도를 결정하는 단계를 포함할 수 있다.
상기 장치의 측위를 결정하는 단계는 상기 제2 영상에 포함된 정점들 중 이동 관련 자유도들에 의한 영향이 미리 정해진 수준 이하인 원거리 정점들에 기초하여, 회전 관련 자유도들을 결정하는 단계; 상기 제2 영상에서 상기 원거리 정점들을 제외한 근거리 정점들 중 전후 방향의 이동 관련 자유도에 의한 영향이 미리 정해진 수준 이하인 소실점 지향 근거리 정점들에 기초하여, 좌우 방향의 이동 관련 자유도를 결정하는 단계; 및 상기 근거리 정점들 중 상기 소실점 지향 근거리 정점들을 제외한 비 소실점 지향 근거리 정점들에 기초하여, 상기 전후 방향의 이동 관련 자유도를 결정하는 단계를 포함할 수 있다.
상기 장치의 측위를 결정하는 단계는 상기 풀링된 특징 값들의 분포에 기초하여, 상기 스코어를 개선하기 위한 방향을 결정하는 단계; 및 상기 방향에 기초하여 상기 후보 측위를 보정하는 단계를 포함할 수 있다.
상기 제1 영상은 상기 객체와 가까운 정도를 나타내는 확률 분포를 포함하고, 상기 방향을 결정하는 단계는 상기 확률 분포에 기초하여 상기 방향을 결정하는 단계를 포함할 수 있다.
상기 장치의 측위를 결정하는 단계는 상기 보정된 후보 측위에 따라 상기 객체가 투영된 보정된 제2 영상을 생성하는 단계; 상기 보정된 제2 영상에 포함된 정점들에 대응하여, 상기 제1 영상으로부터 특징 값들을 풀링함으로써 상기 보정된 후보 측위의 스코어를 계산하는 단계를 포함할 수 있다. 이 때, 상기 보정된 후보 측위의 스코어가 정해진 조건을 만족할 때까지 상기 방향을 결정하는 단계, 상기 후보 측위를 보정하는 단계, 상기 보정된 제2 영상을 생성하는 단계, 및 상기 보정된 후보 측위의 스코어를 계산하는 단계는 반복적으로 수행될 수 있다.
상기 측위 방법은 증강 현실 서비스를 위하여 상기 맵 데이터 상에서 가상 객체를 결정하는 단계; 및 상기 결정된 측위에 기초하여, 상기 가상 객체를 표시하는 단계를 더 포함할 수 있다.
일 측에 따른 측위 방법은 입력 영상으로부터 객체에 해당하는 특징을 포함하는 제1 영상을 생성하는 단계; 상기 객체의 위치를 포함하는 맵 데이터에 기초하여, 장치의 후보 측위에 따라 상기 객체가 투영된 제2 영상을 생성하는 단계; 상기 제2 영상을 복수의 영역들로 분할하는 단계; 및 상기 분할된 영역들과 상기 제1 영상 사이의 매칭을 통하여, 상기 후보 측위에 포함된 복수의 자유도의 값들을 결정하는 단계를 포함한다.
상기 복수의 자유도의 값들을 결정하는 단계는 상기 분할된 영역들에서 상기 제1 영상과의 매칭을 통하여 계산되는 스코어들을 순차적으로 이용함으로써, 상기 후보 측위에 포함된 복수의 자유도의 값들을 순차적으로 결정하는 단계를 포함할 수 있다.
상기 복수의 자유도의 값들을 결정하는 단계는 분할된 영역에 대응하여 정해진 자유도의 값을 변경하면서, 해당 영역에 포함된 정점들에 대응하여 제1 영상으로부터 특징 값들을 풀링함으로써 상기 자유도의 변경된 값들에 따른 스코어들을 계산하는 단계; 및 최대 스코어에 대응하는 자유도의 값을 선택하는 단계를 포함할 수 있다.
상기 복수의 자유도의 값들은 이동(translation)과 관련된 3-자유도의 값들 및 회전(rotation)과 관련된 3-자유도의 값들을 포함할 수 있다.
상기 분할하는 단계는 거리와 관련된 제1 기준에 기초하여, 상기 제2 영상을 원거리 영역 및 근거리 영역으로 분할하는 단계; 및 소실점과 관련된 제2 기준에 기초하여, 상기 근거리 영역을 소실점 지향 근거리 영역 및 비 소실점 지향 근거리 영역으로 분할하는 단계를 포함할 수 있다.
상기 복수의 자유도의 값들을 결정하는 단계는 상기 원거리 영역에 기초하여, 회전 관련 자유도들을 결정하는 단계; 상기 소실점 지향 근거리 영역에 기초하여, 좌우 방향의 이동 관련 자유도를 결정하는 단계; 및 상기 비 소실점 지향 근거리 영역에 기초하여, 전후 방향의 이동 관련 자유도를 결정하는 단계를 포함할 수 있다.
상기 복수의 자유도의 값들을 결정하는 단계는 상기 제2 영상에 포함된 정점들 중 이동 관련 자유도들에 의한 영향이 미리 정해진 수준 이하인 원거리 정점들에 기초하여, 회전 관련 자유도들을 결정하는 단계; 상기 제2 영상에서 상기 원거리 정점들을 제외한 근거리 정점들 중 전후 방향의 이동 관련 자유도에 의한 영향이 미리 정해진 수준 이하인 소실점 지향 근거리 정점들에 기초하여, 좌우 방향의 이동 관련 자유도를 결정하는 단계; 및 상기 근거리 정점들 중 상기 소실점 지향 근거리 정점들을 제외한 비 소실점 지향 근거리 정점들에 기초하여, 상기 전후 방향의 이동 관련 자유도를 결정하는 단계를 포함할 수 있다.
상기 측위 방법은 증강 현실 서비스를 위하여 상기 맵 데이터 상에서 가상 객체를 결정하는 단계; 및 상기 결정된 복수의 자유도의 값들에 기초하여, 상기 가상 객체를 표시하는 단계를 더 포함할 수 있다.
상기 입력 영상은 차량의 주행 영상을 포함하고, 상기 가상 객체는 주행 경로 정보를 나타낼 수 있다.
일 측에 따른 측위 장치는 입력 영상으로부터 객체에 해당하는 특징을 포함하는 제1 영상을 생성하고, 상기 객체의 위치를 포함하는 맵 데이터에 기초하여, 장치의 후보 측위에 따라 상기 객체가 투영된 제2 영상을 생성하며, 상기 제2 영상에 포함된 정점들에 대응하여, 상기 제1 영상으로부터 특징 값들을 풀링(pooling)하고, 상기 풀링된 특징 값들에 기초하여, 상기 후보 측위의 스코어를 계산하는 적어도 하나의 프로세서를 포함한다.
일 측에 따른 측위 장치는 입력 영상으로부터 객체에 해당하는 특징을 포함하는 제1 영상을 생성하고, 상기 객체의 위치를 포함하는 맵 데이터에 기초하여, 장치의 후보 측위에 따라 상기 객체가 투영된 제2 영상을 생성하며, 상기 제2 영상을 복수의 영역들로 분할하고, 상기 분할된 영역들과 상기 제1 영상 사이의 매칭을 통하여, 상기 후보 측위에 포함된 복수의 자유도의 값들을 결정하는 적어도 하나의 프로세서를 포함한다.
도 1은 일 실시예에 따른 증강현실 어플리케이션에서 측위 정확도의 중요성을 설명하는 도면.
도 2는 일 실시예에 따른 측위 스코어를 계산하는 동작을 설명하는 도면.
도 3은 일 실시예에 따른 측위 스코어를 계산하는 동작을 구체화한 도면.
도 4는 일 실시예에 따른 측위 스코어를 활용하여, 장치의 측위를 결정하는 동작을 설명하는 도면.
도 5는 일 실시예에 따른 측위 후보들의 스코어를 도시한 도면.
도 6은 일 실시예에 따른 측위 방법을 나타낸 동작 흐름도.
도 7은 일 실시예에 따른 최적화 기법을 통하여 장치의 측위를 결정하는 동작을 설명하는 도면.
도 8은 일 실시예에 따른 최적화 기법을 나타내는 동작 흐름도.
도 9는 일 실시예에 따른 최적화 기법이 적용된 결과를 단계적으로 도시한 도면들.
도 10은 일 실시예에 따른 파라미터 갱신에 의한 측위 방법을 나타낸 동작 흐름도.
도 11은 일 실시예에 따른 파라미터 갱신에 의한 측위 방법이 적용된 결과를 단계적으로 도시한 도면.
도 12는 일 실시예에 따른 특징 맵을 생성하는 신경망을 설명하는 도면.
도 13은 일 실시예에 따른 측위 장치를 나타낸 블록도.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의에"와 "바로~간의에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
아래에서 설명할 실시예들은 소프트웨어 형태로 구현되어 영상과 맵 데이터 기반의 측위 기술에 적용될 수 있다. 예를 들어, 실시예들은 증강현실 헤드 업 디스플레이(AR HUD)을 실현하기 위한 핵심기술인 측위의 정밀도 향상에 사용될 수 있다. 또한, 측위는 HUD 이외에도 많은 위치 기반 서비스를 위해 필요한 기술이며, 실시예들은 고정밀 측위를 위해 HD 맵 데이터가 주어지는 환경에서 위치 및 자세의 추정을 위해 사용될 수 있다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 증강현실 어플리케이션에서 측위 정확도의 중요성을 설명하는 도면이다.
도 1을 참조하면, 증강 현실(Augmented Reality)은 현실에 기반하여 정보를 추가 또는 증강하여 제공하는 기술로서, 예를 들어, 현실 세계의 이미지나 배경 영상에 가상의 이미지에 해당하는 가상 객체를 추가하여 보여줄 수 있다. 증강 현실은 현실 세계와 가상 세계를 잘 조화시킴으로써, 사용자는 실제 및 가상 환경이 분리되었다는 것을 인지하지 못한 채, 사용자와 가상 세계 간의 실시간 상호 작용이 가능한 몰입감을 제공받을 수 있다. 가상 객체를 실제 영상에 정합하기 위해서는 증강 현실을 제공하는 사용자 장치(또는 사용자)의 위치 및 자세, 다시 말해 측위(localization) 정보를 파악해야 한다.
증강 현실 제공을 위한 측위 정보는 가상 객체를 영상 내 원하는 곳에 위치시키는데 이용된다. 이하, 본 명세서에서는 설명의 편의를 위하여 도로면에 가상 객체에 해당하는 주행 안내 차로를 표시하는 경우를 일 예로 들어 설명하지만, 반드시 이에 한정되는 것은 아니다.
도 1의 (a)을 참조하면, 측위 오차가 작은 경우의 증강 현실 영상(120)이 도시된다. 도 1의 (b)를 참조하면, 측위 오차가 큰 경우의 증강 현실 영상(140)이 도시된다.
예를 들어, 객체(110)의 측위 정보를 기준으로 차량의 기준 경로를 도로 영상 위에 표시한다고 하자. 여기서, 객체는 측위를 수행하는 사용자 단말 및/또는 차량에 해당할 수 있다. 객체(110)의 측위에 오차가 작은 경우, 장치가 표시하고자 하는 가상 객체인 주행 안내 차로(115)는 영상(120)과 같이 실제 도로 영상과 시각적으로 정렬이 잘 이루어져 질 수 있다. 이와 달리, 객체(130)의 측위에 오차가 큰 경우, 장치가 표시하고자 하는 가상 객체인 주행 안내 차로(135)는 영상(140)과 같이 실제 도로 영상과 시각적으로 정렬이 잘 이루어지지 않을 수 있다.
도 1의 (c)를 참조하면, 일 실시예에 따른 측위 정보는 장치의 위치(location) 및 장치의 자세(position)를 포함할 수 있다. 위치는 이동 관련 자유도로, 가로(Lateral)(tx), 세로(Vertical)(ty), 및 경도(Longitude)(tz), 다시 말해 (x, y, z)와 같은 3차원 좌표에 해당할 수 있다. 또한, 자세는 회전 관련 자유도로, 피치(Pitch)(rx), 요(Yaw)(ry), 및 롤(Roll)(rz)에 해당할 수 있다. 위치는 예를 들어, GPS 센서, 라이다 등을 통해 획득할 수 있고, 자세는 예를 들어, IMU 센서, 자이로 센서 등을 통해 획득할 수 있다. 일 실시예에 따른 측위 정보는 전술한 위치 및 자세를 포함하는 6 자유도(Degree of Freedom; DoF)를 가지는 것으로 이해될 수 있다.
이하, 본 명세서에서 '차량(vehicle)'은 도로 위로 주행 중인 차량을 의미하는 것으로서, 예를 들어, 자율 주행 차량, 첨단 운전자 지원 시스템(Advanced Driver Assistance System; ADAS)을 구비한 지능형 차량 등을 포함할 수 있다. '도로(road)'는 차량들이 다니는 길을 의미하며, 예를 들어, 고속도로, 국도, 지방도, 고속 국도, 자동차 전용 도로 등과 같은 다양한 유형의 도로를 포함할 수 있다. 도로는 하나 또는 다수 개의 차로를 포함할 수 있다. '차로(lane)'는 도로 노면 상에 표시된 차선들(lines)을 통해 서로 구분되는 도로 공간에 해당할 수 있다. 차로는 해당 차로에 인접한 좌우의 차선(또는 차로 경계선)에 의해 구분될 수 있다. 또한, '차선(line)'은 도로 노면 상에 흰색, 파란색 또는 노랑색으로 표시된 실선, 점선, 곡선, 및 지그재그선 등 다양한 형태의 선으로 이해될 수 있다. 차선은 하나의 차로를 구분하는 일 측의 차선에 해당할 수도 있고, 하나의 차로를 구분하는 차선들의 쌍(pair), 다시 말해, 차로 경계선에 해당하는 좌측 차선 및 우측 차선일 수도 있다.
하기에서 설명될 실시예들은 스마트 차량 등의 증강 현실 내비게이션 (Augmented Reality Navigation) 시스템에서 차선을 표시하거나, 자율 주행 차량의 조향을 돕기 위한 시각 정보를 생성하거나, 또는 차량의 주행을 위한 다양한 제어 정보를 제공하는 데에 활용될 수 있다. 또한, 실시예들은 차량 내 주행 보조 또는 완전 자율 주행을 위해 설치된 HUD(Head Up Display) 등의 지능 시스템을 포함하는 기기에 시각 정보(visual information)를 제공하여 안전하고 쾌적한 주행을 돕는 데에 사용될 수 있다. 실시예들은 예를 들어, 자율 주행 자동차, 지능형 자동차, 스마트 폰, 및 모바일 기기 등에 적용될 수 있다.
도 2는 일 실시예에 따른 측위 스코어를 계산하는 동작을 설명하는 도면이다.
도 2를 참조하면, 일 실시예에 따른 측위 장치는 맵 데이터(Q)와 영상(I)에 기초하여, 측위 파라미터들(
Figure pat00001
)의 스코어 s(
Figure pat00002
)를 계산한다. 측위 장치는 하나 또는 그 이상의 소프트웨어 모듈, 하나 또는 그 이상의 하드웨어 모듈, 또는 이들의 다양한 조합으로 구현될 수 있다.
아래에서 상세하게 설명하겠으나, 실시예들은 맵 데이터의 정점들과 영상의 특징들의 대응관계를 선결조건으로 요구하지 않는다. 예를 들어, 맵 데이터는 차선 등 미리 정해진 객체(들)에 해당하는 복수의 3차원 정점들을 포함하는 포인트 클라우드일 수 있다. 맵 데이터의 3차원 정점들은 측위 파라미터에 기초하여 2차원 정점들로 투영될 수 있다. 영상의 특징들은 영상에 포함된 픽셀 단위로 추출된 특징 값들을 포함할 수 있다.
아래에서 설명할 실시예들은 맵 데이터의 정점들(예를 들어, 2차원 정점들)과 영상의 특징들(혹은 픽셀들)이 서로 어떻게 대응(혹은 매칭)되는지 여부에 관한 정보를 요구하지 않는다. 또한, 영상 내에서 추출되는 특징은 파라미터화 가능하지 않아도 상관없으며, 특징 간의 관계를 별도로 분석하거나 맵 데이터에서 탐색할 필요가 없다.
측위 파라미터(
Figure pat00003
)는 위치/자세 정보 파라미터로, 도 1의 (c)에서 설명한 6-자유도 변수로 정의될 수 있다. 일 실시예에 따르면, 측위 파라미터(
Figure pat00004
)는 대략적인 위치/자세 정보에 해당할 수 있다. 측위 장치는 영상과 맵 데이터에 기반한 스코어링 기술을 활용하여, 측위 파라미터(
Figure pat00005
)를 보정함으로써 측위 정확도를 향상시킬 수 있다.
예를 들어, 측위 장치는 영상(I)으로부터 특징들을 추출하여 특징 맵을 구성한다. 측위 장치는 측위 파라미터(
Figure pat00006
)에 대한 정합 스코어를 계산할 수 있다. 보다 구체적으로, 측위 장치는 측위 파라미터에 기초하여 맵 데이터(Q)로부터 정점들을 투영하고, 특징 맵의 픽셀들 중 투영된 정점들의 2차원 좌표들에 해당하는 픽셀들의 특징 값들을 풀링함으로써, 정합 스코어를 계산할 수 있다. 측위 장치는 정합 스코어를 증가시키는 방향으로 측위 파라미터(
Figure pat00007
)를 갱신할 수 있다.
여기서, 장치는 일 실시예에 따른 측위 방법을 수행하는 장치로서, 예를 들어, 차량일 수도 있고, 내비게이션, 스마트 폰 등과 같은 사용자 장치일 수도 있다. 측위 정보는 전술한 것과 같이 장치의 위치 및 장치의 자세를 포함하는 6 자유도를 가질 수 있다. 측위 정보는 예를 들어, IMU 센서, GPS 센서, 라이다 센서 및 레이더 등과 같은 센서의 출력에 기초하여 획득될 수 있다.
입력 영상은 차후 증강 현실 서비스를 위해 가상 객체와 함께 표시되는 배경 영상 또는 기타의 영상에 해당할 수 있다. 입력 영상은 예를 들어, 차량의 주행 영상을 포함할 수 있다. 여기서, 주행 영상은 예를 들어, 차량에 장착된 촬영 장치를 이용하여 획득된 주행 영상일 수 있으며 하나 또는 복수 개의 프레임들을 포함할 수 있다.
측위 장치는 촬영 장치의 출력에 기초하여 입력 영상을 획득할 수 있다. 촬영 장치는 예를 들어, 차량의 윈드 실드(windshield), 대시 보드(dashboard), 백미러(rear-view mirror) 등과 같이 미리 정해진 위치에 고정되어 차량 전방의 주행 영상을 촬영할 수 있다. 촬영 장치는 예를 들어, 비전 센서, 이미지 센서, 또는 이와 유사한 기능을 수행하는 장치를 포함할 수 있고, 단일 영상을 촬영하거나, 경우에 따라 프레임 별 영상을 촬영할 수도 있다. 차량에 고정된 촬영 장치와 달리 다른 장치에서 캡쳐된 영상이 주행 영상일 수도 있다. 객체는 예를 들어, 차선, 도로 노면 표지, 신호등, 표지판, 연석, 및 구조물 등을 포함할 수 있다. 차선은 차로 경계선, 도로 중앙선, 정지선 등을 포함하고, 도로 노면 표지는 주정차 금지, 횡단 보도, 견인 지역, 제한 속도 표시 등을 포함할 수 있다.
맵 데이터는 예를 들어, 고정밀(High Density; HD) 지도 데이터일 수 있다. 고정밀 지도는 자율 주행을 위해 고 정밀도(예를 들어, 센티미터 단위의 정밀도)를 갖춘 3D 입체 지도일 수 있다. 고정밀 지도에는 예를 들어, 도로 중심선, 경계선 등 차선 단위의 정보는 물론 신호등, 표지판, 연석, 노면 도로 표지, 각종 구조물 등의 정보가 3차원 디지털의 형태로 포함될 수 있다. 고정밀 지도는 예를 들어, MMS(Mobile Mapping System) 시스템에 의해 구축될 수 있다. 다양한 센서를 장착한 3차원 공간 정보 조사 시스템인 MMS는 위치 측정 및 지형 지물 측량을 위한 카메라, 라이다(LIDAR), GPS 등의 센서를 장착한 이동체를 이용하여 세밀한 위치 정보를 획득할 수 있다.
도 3은 일 실시예에 따른 측위 스코어를 계산하는 동작을 구체화한 도면이다.
도 3을 참조하면, 일 실시예에 따른 측위 장치(200)는 변환기(210, 220), 특징 추출기(230), 및 풀링기(240)를 포함할 수 있다. 변환기(210)는 파라미터(
Figure pat00008
)와 맵 데이터(Q)를 수신하고, 3차원 변환(T)을 통하여 파라미터(
Figure pat00009
)에 따른 장치의 3차원 위치 및 3차원 자세를 맵 데이터(Q) 상에 적용할 수 있다. 일 예로, 변환기(210)는 맵 데이터로부터 파라미터(
Figure pat00010
)에 대응하는 위치 및 자세에서의 시야 범위에 해당하는 영역을 추출할 수 있다. 변환기(220)은 투시(perspective) 변환(P)을 통하여 장치의 시점에서의 투영 영상을 생성할 수 있다. 일 예로, 변환기(220)는 변환기(210)에 의하여 추출된 영역에 포함된 3차원 정점들을 파라미터(
Figure pat00011
)에 대응하는 2차원의 투영면으로 투영할 수 있다. 이 경우, 맵 데이터(Q)에 포함된 3차원 정점들(qi k)은 파라미터(
Figure pat00012
)에 따라 T 변환과 P 변환을 거쳐 투영 영상 내 2차원 정점들(pi k)로 변환될 수 있다. 여기서, k는 서로 다른 특징들 혹은 클래스들을 지시하는 인덱스이고, i는 해당 특징 혹은 클래스 내 정점들을 지시하는 인덱스 일 수 있다.
특징 추출기(230)는 영상(I)으로부터 특징을 추출할 수 있다. 특징은 객체의 유형(혹은 클래스)에 따라 하나 또는 그 이상의 특징 맵(F1, F2)(235)을 포함할 수 있다. 예를 들어, 특징 맵(F1)은 영상 내 차선에 관한 특징을 포함하고, 특징 맵(F2)는 영상 내 신호표지에 관한 특징을 포함할 수 있다. 설명의 편의를 위하여 두 개의 특징 맵(F1, F2)(235)이 추출되는 경우를 설명하나, 실시예들은 이러한 경우에 국한되지 않는다.
측위 장치는 복수의 특징 맵들을 추출하기 위한 별도의 특징 추출기들을 포함할 수 있다. 또는, 측위 장치는 복수의 특징 맵들을 채널 별로 출력하는 단일 특징 추출기(예를 들어, 딥 뉴럴 네트워크 등)를 포함할 수 있다.
추출된 특징 맵
Figure pat00013
Figure pat00014
,
Figure pat00015
Figure pat00016
은 경우에 따라 오류를 포함할 수도 있고, 이로 인하여 해당 특징에 대한 값을 픽셀 단위로 정확히 특정하지 못할 수도 있다. 이 경우, 각 특징 맵은 각 픽셀 별로 0과 1 사이의 값을 가질 수 있다. 픽셀의 특징 값은 각 픽셀 별 해당 특징에 대한 강도(intensity)를 나타낸다.
투영 영상의 2차원 정점들(pi k)은 맵 데이터의 3차원 정점들(qi k)이 영상(I)에 매핑되는 픽셀들을 의미할 수 있다. 수학식 1을 참조하면, 영상(I)에 매핑되는 픽셀들에서 각 특징 별로 스코어가 합산될 수 있다.
Figure pat00017
여기서, T()는 T 변환을 나타내고, P()는 P 변환을 나타낸다. 이 경우,
Figure pat00018
Figure pat00019
Figure pat00020
는 매핑점을 나타내며, Fk()는 k번째 특징 혹은 클래스에 해당하는 특징 맵에서 매핑점에 의한 특징 값 혹은 점수를 나타낼 수 있다. 이때, 매핑점
Figure pat00021
Figure pat00022
Figure pat00023
이 정수가 아닐 경우 반올림 혹은 보간 등의 연산이 수행될 수 있다. 수학식 2를 참조하면, 특징 별 스코어들이 가중 합산되어 최종 스코어가 계산될 수 있다.
Figure pat00024
이때, 가중치
Figure pat00025
Figure pat00026
는 임의의 방식으로 설정될 수 있다. 예를 들어, 가중치
Figure pat00027
Figure pat00028
는 일괄적으로 동일하게 부여된 가중치, 혹은 훈련데이터에 의하여 튜닝된 값 등으로 설정될 수 있다.
도 4는 일 실시예에 따른 측위 스코어를 활용하여, 장치의 측위를 결정하는 동작을 설명하는 도면이다.
도 4를 참조하면, 단계(410)에서 입력 영상이 수신되고, 단계(430)에서 특징이 추출된다. 단계(420)에서 맵 데이터가 획득되고, 단계(440)에서 측위 후보가 획득된다. 여기서, 측위 후보는 복수의 측위 후보들을 포함할 수 있다.
단계(450)에서 측위 후보에 따라 맵 데이터의 투영 영상이 생성된다. 측위 후보가 복수인 경우, 복수의 측위 후보들에 따른 복수의 투영 영상들이 생성될 수 있다.
단계(460)에서 투영 영상 내 2차원 정점들에 대응하여, 특징 맵으로부터 특징 값들이 풀링된다. 또한, 단계(460)에서 풀링된 특징 값들에 기초하여, 측위 후보의 스코어가 계산될 수 있다. 측위 후보가 복수인 경우, 측위 후보 별 스코어가 계산될 수 있다.
단계(470)에서 베스트 스코어(예를 들어, 최대 스코어 등)가 검색될 수 있다. 단계(480)에서 검색된 베스트 스코어를 가지는 후보 측위가 장치의 측위로 결정될 수 있다.
도면에 도시하지 않았으나, 측위 장치(200)는 증강 현실 서비스를 위하여 맵 데이터(Q) 상에서 가상 객체를 결정할 수 있다. 예를 들어, 가상 객체는 주행 경로 정보를 나타내는 가상의 객체로서, 화살표 또는 진행 방향을 나타내는 도로 표시 등의 형태로 표현될 수 있다. 측위 장치는 단계(480)에서 결정된 측위 정보에 기초하여, 가상 객체를 입력 영상과 함께 헤드업 디스플레이, 내비게이션, 또는 사용자 장치의 디스플레이 상에 표시할 수 있다.
도 5는 일 실시예에 따른 측위 후보들의 스코어를 도시한 도면이다.
도 5를 참조하면, 제1 후보 측위에 따른 투영 영상과 영상(510)과의 시각적 정렬 정도는 제2 후보 측위에 따른 투영 영상과 영상(520)과의 시각적 정렬 정도에 비하여 낮다. 이에 따라, 제1 후보 측위에 기초하여 영상(510)의 특징 맵으로부터 풀링된 스코어는 제2 후보 측위에 기초하여 영상(520)의 특징 맵으로부터 풀링된 스코어보다 낮게 계산된다.
도 6은 일 실시예에 따른 측위 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 단계(610)에서 입력 영상으로부터 적어도 하나의 특징 맵이 추출된다. 단계(620)에서 측위 파라미터(예를 들어, 위치/자세 파라미터)의 후보군이 선정된다. 단계(630)에서 평가할 측위 후보가 존재하는지 판단된다. 평가할 측위 후보가 존재한다면, 단계(640)에서 측위 후보에 따른 투영 영상이 생성되고, 단계(650)에서 특징 별 스코어가 계산된다. 단계(660)에서 특징 별 스코어의 가중 합산을 통하여 최종 스코어가 계산되며, 단계(670)에서 기 평가된 측위 후보들 중 베스트 측위 후보와 최종 스코어와의 비교를 통하여 베스트 측위 후보의 정보가 갱신될 수 있다.
단계(630)에서 더 이상 평가할 측위 후보가 존재하지 않는다면, 기 평가된 측위 후보들 중 베스트 측위 후보가 장치의 측위로 결정된다. 이 경우, 베스트 측위 후보의 파라미터가 장치의 위치/자세 파라미터로 선정될 수 있다.
도 7은 일 실시예에 따른 최적화 기법을 통하여 장치의 측위를 결정하는 동작을 설명하는 도면이다.
도 7을 참조하면, 단계(710)에서 입력 영상이 수신되고, 단계(730)에서 특징 맵이 추출될 수 있다. 단계(720)에서 맵 데이터가 수신되고, 단계(740)에서 초기 측위가 수신되며, 단계(750)에서 초기 측위에 따른 투영 영상이 생성될 수 있다.
단계(760)에서 일 실시예에 따른 최적화 기법을 통하여 초기 측위가 갱신될 수 있다. 단계(770)에서 장치의 측위가 최적화된 측위로 결정될 수 있다.
이하, 단계(760)의 최적화 기법을 상세하게 설명한다.
도 8은 일 실시예에 따른 최적화 기법을 나타내는 동작 흐름도이다.
일 실시예에 따른 측위 장치는 전역적인 최적화 과정을 지원할 수 있다. 측위 장치는 맵 데이터로부터 투영된 2차원 정점들을 특징 이외의 다른 기준(예를 들어, 거리, 소실점 지향 여부 등)으로 분류한 뒤, 분류된 2차원 정점들을 측위 파라미터의 서로 다른 자유도를 추정하는데 이용할 수 있다.
일 실시예에 따른 측위 장치는 투영 영상을 복수의 영역들로 분할하고, 분할된 영역들과 특징 맵 사이의 매칭(정합)을 통하여 장치의 측위를 결정할 수 있다. 보다 구체적으로, 측위 장치는 분할된 영역들에서 특징 맵과의 매칭(정합)을 통하여 계산되는 스코어들을 순차적으로 이용함으로써, 측위에 포함된 복수의 자유도의 값들을 순차적으로 결정할 수 있다. 예를 들어, 측위 장치는 분할된 영역에 대응하여 정해진 자유도의 값을 변경하면서, 해당 영역에 포함된 2차원 정점들에 대응하여 특징 맵으로부터 특징 값들을 풀링할 수 있다. 측위 장치는 풀링된 특징 값들에 기초하여, 자유도의 변경된 값들에 따른 스코어들을 계산할 수 있다. 이후, 측위 장치는 최대 스코어에 대응하는 값으로 해당 자유도를 결정할 수 있다.
투영 영상 내 원거리의 정점들은 위치 파라미터의 변화에 거의 불변적인 특성을 가진다. 이러한 특성에 기초하여, 측위 장치는 우선 원거리 정점들로 스코어를 계산하여 자세 파라미터를 결정하는 과정과, 이후 근거리 정점들로 스코어를 계산하여 위치 파라미터를 결정하는 과정을 나누어 실행할 수 있다. 이로 인하여, 각 단계 별 추정해야 하는 자유도가 낮아지므로, 탐색 시 복잡도나 최적화 시 국부적 수렴가능성이 줄어든다.
아래에서 설명하겠으나, 측위 장치는 거리와 관련된 제1 기준에 기초하여, 투영 영상을 원거리 영역 및 근거리 영역으로 분할하고, 소실점과 관련된 제2 기준에 기초하여 근거리 영역을 소실점 지향 근거리 영역 및 비 소실점 지향 근거리 영역으로 분할할 수 있다. 여기서, 원거리 영역은 이동 관련 자유도들에 의한 영향이 미리 정해진 수준 이하인 2차원 정점들을 포함할 수 있다. 또한, 소실점 지향 근거리 영역은 전후 방향의 이동 관련 자유도에 의한 영향이 미리 정해진 수준 이하인 2차원 정점들을 포함할 수 있다.
또한, 측위 장치는 측위 파라미터의 자유도들 중 일부를 사전 캘리브레이션에 의하여 결정된 값으로 이용할 수 있다. 예를 들어, 측위 파라미터 중 rz와 ty는 사전 캘리브레이션에 의하여 결정될 수 있다. 차량에 카메라가 설치된 높이(ty)와 롤(rz)는 고정되어 있기 때문이다.
도 8을 참조하면, 단계(810)에서 입력 영상으로부터 특징 맵이 추출된 이후, 단계(820)에서 맵 데이터의 투영 영상으로부터 원거리 정점들(Q1)이 선별된다. 원거리 정점들(Q1)은 측위 파라미터의 자유도들 중 이동 관련 자유도(tx, tz)에 의하여 실질적으로 영향을 받지 않을 수 있다. 이에 따라, 단계(830)에서 원거리 정점들(Q1)에 기초하여 회전 관련 자유도(rx, ry)가 결정될 수 있다. 회전 관련 자유도(rx, ry)는 자세 파라미터로 지칭될 수 있다.
보다 구체적으로, 측위 장치는 rx를 변경시키면서 원거리 정점들(Q1)을 종방향으로 평행이동 시키고, ry를 변경시키면서 원거리 정점들(Q1)을 횡방향으로 평행이동 시킬 수 있다. 측위 장치는 원거리 정점들(Q1)에 대응하여 계산되는 스코어가 정해진 목표치 이상이 되도록, rx 및 ry의 값을 탐색할 수 있다.
단계(840)에서 맵 데이터로부터 근거리 정점들이 선별된다. 사전 캘리브레이션에 의하여 결정된 rz 및 ty, 그리고 원거리 정점들(Q1)에 의하여 결정된 rx 및 ry가 적용된 상태에서, 근거리 정점들이 선별될 수 있다.
측위 장치는 근거리 정점들 중 소실점을 향하는 차선에 해당하는 정점들(Q2)을 선별하고, 그 이외의 정점들(Q3)을 선별할 수 있다. 정점들(Q2)는 측위 파라미터의 자유도들 중 전후 방향의 이동 관련 자유도(tz)에 의하여 실질적으로 영향을 받지 않을 수 있다. 이에 따라, 단계(850)에서 정점들(Q2)에 기초하여 이동 관련 자유도(tx)가 결정될 수 있다. 또한, 정점들(Q3)에 기초하여 이동 관련 자유도(tz)가 결정될 수 있다. 이동 관련 자유도(tx, tz)는 위치 파라미터로 지칭될 수 있다.
도 9는 일 실시예에 따른 최적화 기법이 적용된 결과를 단계적으로 도시한 도면들이다.
도 9a를 참조하면, 특징 맵(910)으로부터 추출된 특징들(911)과 맵 데이터(920)로부터 투영된 정점들(921)이 도시된다. 맵 데이터(920) 상에서의 초기 측위가 부정확하므로, 특징들(911)과 정점들(921)은 서로 정합되지 않는다. 이하에서, 특징들(911)과 정점들(921)이 서로 정합되도록, 측위 파라미터의 자유도들이 순차적으로 결정되는 과정을 설명한다.
차량에 설치된 카메라는 도로면에 상대적으로 일정한 높이 및 일정한 롤(roll)을 갖는다는 점에 착안하여, ty 및 rz는 사전에 캘리브레이션 된다.
도 9b를 참조하면, 측위 장치는 특징 맵(910) 및 맵 데이터(920)에서 롤 효과를 제거할 수 있다. 예를 들어, 측위 장치는 사전에 캘리브레이션된 rz에 기초하여 특징 맵(910)을 회전(930)시킴으로써 특징 맵(910)에서 롤 효과를 제거할 수 있다. 또한, 측위 장치는 맵 데이터(920)에서 초기 측위의 주변 정점들을 검출하고, 검출된 주변 정점들을 평면으로 근사한 뒤, 평면의 롤이 제거되도록 맵 데이터(920)를 회전시킬 수 있다.
또한, 측위 장치는 사전 캘리브레이션 된 ty를 이용하여, 맵 데이터(920)의 정점들의 높이를 보정할 수 있다.
도 9c를 참조하면, 측위 장치는 초기 측위를 기준으로 맵 데이터의 투영 영상 내 원거리 정점들(940)을 이용하여 평행 이동에 상응하는 rx와 ry를 도출할 수 있다. 이 때, 측위 장치는 원거리 정점들(940)과 특징 맵(910)과의 상관도가 미리 정해진 목표치 이상이 되도록, 원거리 정점들(940)을 평형 이동시킬 수 있다. 예를 들어, rx를 조절하여 맵 데이터(920) 상 정점들이 회전(945)함에 따라, 투영 영상 내 원거리 정점들(940)이 특징 맵(910)의 특징들과 잘 정합될 수 있다.
도 9d를 참조하면, 측위 장치는 투영 영상 내 정점들을 분석하여 주변 차선들(950)의 소실점을 구할 수 있다. 측위 장치는 주변 차선들(950)의 소실점을 특징 맵(910) 내 정해진 위치(예를 들어, 특징 맵의 중심 등)로 정렬할 수 있다. 이 경우, 주변 차선들은 z-방향 이동에 불변적인 특성을 갖게 된다. 측위 장치는 주변 차선들(950)과 특징 맵(910)과의 상관도가 미리 정해진 목표치 이상이 되도록, 주변 차선들(950)에 해당하는 정점들을 x-방향으로 이동시킬 수 있다. 예를 들어, tx를 조절하여 맵 데이터(920) 상 정점들이 이동(955)함에 따라, 투영 영상 내 주변 차선(950)에 해당하는 정점들이 특징 맵(910)의 특징들과 잘 정합될 수 있다.
도 9e를 참조하면, 측위 장치는 투영 영상 내 근거리 정점들 중 소실점 방향 차선을 제외한 나머지 정점들(960)을 이용하여 z-방향 이동을 탐색할 수 있다. 측위 장치는 나머지 정점들(960)과 특징 맵(910)과의 상관도가 미리 정해진 목표치 이상이 되도록, 나머지 정점들(960)을 z-방향으로 이동시킬 수 있다. 예를 들어, tz를 조절하여 맵 데이터(920) 상 정점들이 이동(965)함에 따라, 투영 영상 내 나머지 정점들(960)이 특징 맵(910)의 특징들과 잘 정합될 수 있다.
도 10은 일 실시예에 따른 파라미터 갱신에 의한 측위 방법을 나타낸 동작 흐름도이다.
도 10을 참조하면, 단계(1010)에서 입력 영상으로부터 특징 맵이 추출되고, 단계(1020)에서 초기 측위(예를 들어, 위치/자세 파라미터에 대한 초기치)가 선정될 수 있다. 단계(1030)에서 현재 파라미터의 스코어가 계산되고, 현재 파라미터의 스코어가 개선될 방향이 계산될 수 있다.
일 실시예에 따르면, 특징 맵은 객체와 가까운 정도를 나타내는 확률 분포를 포함할 수 있다. 예를 들어, 특징 맵에 포함된 특징들은 가장 가까운 객체 까지의 거리에 대한 정보를 0과 1 사이의 정규화된 값으로 포함할 수 있다. 이 경우, 특징 맵은 객체를 향하는 방향에 대한 정보를 제공할 수 있다. 측위 장치는 현재 파라미터에 의하여 맵 데이터로부터 투영된 2차원 정점들에 대응하여, 특징 맵의 특징 값들을 풀링할 수 있다. 측위 장치는 풀링된 특징 값들에 기초하여 현재 파라미터의 스코어가 개선될 수 있는 방향을 결정할 수 있다.
단계(1040)에서 반복 종료 조건에 해당하는지 여부가 판단되고, 반복 종료 조건에 해당하지 않는 경우 단계(1050)에서 파라미터가 갱신된다. 측위 장치는 단계(1030)에서 계산한 방향에 따라 파라미터를 갱신할 수 있다. 반복 종료 조건이 만족할 때까지 단계(1050), 단계(1030), 및 단계(1040)가 반복적으로 수행될 수 있다. 반복 종료 조건은 파라미터의 스코어가 정해진 목표치 이상인지 여부를 포함할 수 있다. 일 실시예에 따르면, 시스템의 안정성을 위하여 반복 종료 조건은 반복 횟수가 정해진 임계치를 초과하였는지 여부를 더 포함할 수도 있다.
반복 종료 조건에 해당하는 경우, 단계(1060)에서 현재 파라미터가 최종 측위(예를 들어, 최종 위치/자세 파라미터)로 선정될 수 있다.
도 10의 실시예는 초기치
Figure pat00029
_0에서 시작하여 단계적으로 더 나은 파라미터를 찾아가는 과정으로 이루어지는데, 이러한 국부적 최적화 방식은 초기치가 좋아야 좋은 성능을 낼 수 있다. 따라서, 도 10의 실시예는 초기치를 별도로 추정하는 단계를 선택적으로 포함할 수 있다. 일 예로, 도 8의 실시예를 통하여 얻어진 파라미터를 초기치로 간주하고 도 10의 실시예가 수행될 수 있다. 이 경우, 사전 캘리브레이션을 통하여 고정된 롤 및 카메라 높이 등의 값을 실주행 환경에서 발생하는 변화(variation)에 맞게 보정하는 효과를 가져올 수 있다.
도 11은 일 실시예에 따른 파라미터 갱신에 의한 측위 방법이 적용된 결과를 단계적으로 도시한 도면이다.
도 11을 참조하면, 입력 영상(1105), 제1 영상(1110), 및 제2 영상(1120)이 도시된다. 제1 영상(1110)은 입력 영상(1105)에 대응하여 생성될 수 있다. 또한, 제2 영상(1120)은 맵 데이터에 기초하여, 초기 측위에 따른 측위 정보(x, y, z, rx, ry, rz)(
Figure pat00030
)에 따라 객체를 투영하여 생성한 영상일 수 있다. 제2 영상(1120)은 투영 영상으로, 객체에 해당하는 복수의 2차원 정점들을 포함할 수 있다.
측위 장치는 영상(1130)과 같이 제1 영상(1110)과 제2 영상(1120)을 매칭하여 스코어(score
Figure pat00031
)를 산출할 수 있다. 측위 장치는 예를 들어, 제1 영상(1110)에 포함된 복수의 픽셀들 중 제2 영상(1120)에 포함된 객체에 대응하는 픽셀들의 값을 합산하여 스코어를 산출할 수 있다.
예를 들어, 제1 영상(1110)에 포함된 복수의 픽셀들은 인접 객체와의 거리에 따라 0에서 1 사이의 값을 가질 수 있다. 각 픽셀은 인접 객체와 가까울수록 1에 가까운 값을 가지고, 인접 객체와 멀수록 0에 가까운 값을 가질 수 있다. 측위 장치는 제1 영상(1110)에 포함된 복수의 픽셀들 중 제2 영상(1120)과 매칭되는 픽셀들을 추출하고, 추출된 픽셀들의 값들을 합산하여 스코어를 산출할 수 있다.
측위 장치는 제1 영상(1110)의 방향성에 기초하여, 시각적 정렬의 정도, 다시 말해 스코어(score
Figure pat00032
)가 증가되도록 측위 정보를 보정할 수 있다. 측위 장치는 제2 영상(1120)에 포함된 객체의 측위가 제1 영상(1110)의 방향성에 부합하도록 측위 보정치를 산출할 수 있다. 측위 장치는 측위 보정치를 초기 측위에 따른 측위 정보에 적용함으로써 측위 정보를
Figure pat00033
(1140)으로 갱신할 수 있다. 예를 들어, 측위 장치는 제1 영상(1110)에 포함된 방향성에 기초하여, 제2 영상(1120)의 객체를 어느 방향으로 이동시켜야 스코어가 증가할지 여부를 판단할 수 있다. 측위 정보를 갱신하는 경우 제2 영상(1120)의 객체가 이동하므로, 측위 장치는 제1 영상(1110)에 포함된 방향성에 기초하여 측위 정보를 갱신할 수 있다.
측위 장치는 갱신된 측위 정보(
Figure pat00034
)에 따라 갱신된 제2 영상(1150)을 생성할 수 있다. 측위 장치는 갱신된 제2 영상(1150)과 제1 영상(1110)을 매칭하여 스코어
Figure pat00035
을 산출할 수 있다.
측위 장치는 전술한 과정을 통해 스코어가 미리 정해진 기준 이상이 되도록 하는 측위 보정치를 산출하여 최종적으로 최적화된 측위 정보(
Figure pat00036
)를 출력할 수 있다.
도 12는 일 실시예에 따른 특징 맵을 생성하는 신경망을 설명하는 도면이다.
도 12를 참조하면, 입력 영상(1210)을 신경망(1230)에 인가하여 제1 영상에 해당하는 디스턴스 필드 맵(1250)을 생성하는 과정이 도시된다.
신경망(1230)은 입력 영상(1210)을 기반으로, 입력 영상(1210)에 포함된 객체에 대응하는 방향성을 포함하는 제1 영상을 생성하도록 기 학습된 신경망일 수 있다. 신경망(1230)은 많은 수의 인공 뉴런(노드)들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 학습 모델을 나타낼 수 있다. 신경망(1230)은 인공 뉴런들을 통해 인간의 인지 작용을 수행할 수 있다. 신경망(1230)은 예를 들어, 예를 들어, CNN(convolutional neural network), DNN (Deep Neural Network), RNN (recurrent neural network), 또는 BLSTM (Bidirectional Long Short Term Memory) 등과 같이 다양한 구조로 구현될 수 있다.
신경망(1230)은 입력 영상(1210)에 포함된 객체를 디스턴스 필드 맵(1250) 형태로 추정할 수 있다. 예를 들어, 제1 영상이 디스턴스 필드 맵(1250)과 같이 가까운 객체를 향하는 방향성 정보를 포함하는 경우, 그래디언트 디센트 기법 등을 활용 시 최적화의 방향성을 용이하게 결정할 수 있다. 또한, 디스턴스 필드 맵(1250)과 같이 객체와 가까운 정도를 나타내는 확률의 분포가 영상의 전반에 걸쳐 있는 경우, 학습을 위한 데이터의 양을 늘릴 수 있으므로, 성긴 데이터(sparse data)에 의해 학습된 경우에 비해 신경망의 성능이 향상될 수 있다.
도 13은 일 실시예에 따른 측위 장치를 나타낸 블록도이다.
도 13을 참조하면, 일 실시예에 따른 측위 장치(1300)는 센서들(1310), 및 프로세서(1330)를 포함한다. 측위 장치(1300)는 메모리(1350), 통신 인터페이스(1370) 및 디스플레이 장치(1390)를 더 포함할 수 있다. 센서들(1310), 프로세서(1330), 메모리(1350), 통신 인터페이스(1370) 및 디스플레이 장치(1390)는 통신 버스(1305)를 통해 서로 연결될 수 있다.
센서(들)(1310)은 예를 들어, 이미지 센서, 비전 센서, 가속도 센서, 자이로 센서, GPS(Global Positioning System) 센서, IMU(Inertial Measurement Unit) 센서, 레이더(Radar), 라이다(Lidar) 등을 포함할 수 있다. 센서(들)(1310)은 차량의 주행 영상을 포함하는 입력 영상을 획득(촬영)할 수 있다. 센서(들)(1110)은 예를 들어, 차량의 GPS 좌표, 위치, 자세 등과 같은 측위 정보 이외에도, 속도, 가속도, 주행 방향, 차량의 핸들 조향 각도, 및 차량의 속도 등의 센싱 정보를 감지할 수 있다.
실시예에 따라서, 측위 장치(1300)는 통신 인터페이스(1370)를 통해 입력 영상을 포함하는 다양한 센서들의 센싱 정보를 획득할 수 있다. 실시예에 따라서, 통신 인터페이스(1370)는 측위 장치(1300)의 외부에 존재하는 다른 센서들로부터 주행 영상을 포함하는 센싱 정보를 수신할 수 있다.
프로세서(1330)는 통신 인터페이스(1370) 및/또는 디스플레이 장치(1390)를 통해 보정된 측위 정보를 출력하거나, 또는 보정된 측위 정보에 기초하여 맵 데이터 상에 가상 객체를 입력 영상과 함께 표시함으로써 증강 현실 서비스를 제공할 수 있다. 또한, 프로세서(1330)는 도 1 내지 도 13을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다
프로세서((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)에 의하여 실행되는 프로그램 코드는 메모리(1350)에 저장될 수 있다.
메모리(1350)는 측위 장치(1300)의 측위 정보, 제1 영상, 제2 영상 및/또는 보정된 측위 정보를 저장할 수 있다. 메모리(1350)는 상술한 프로세서(1330)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(1350)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(1350)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(1350)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
디스플레이 장치(1390)는 프로세서(1330)에 의해 보정된 측위 정보를 출력하거나, 또는 보정된 측위 정보에 기초하여 맵 데이터 상에 가상 객체를 입력 영상과 함께 표시할 수 있다.
일 실시예에 따른 측위 장치는 예를 들어, 헤드-업-디스플레이(HUD), 또는 증강 현실 글래스(AR Glasses) 등과 같이 촬영 장치와 측위 장치 간의 시점이 동일하지 않은 경우라도, 촬영 장치를 기반으로 전술한 측위 방법을 수행한 결과를 이용하여 측위 장치의 3D 측위 정보를 갱신함으로써 시점에 독립적인 수행이 가능하다. 또한, 일 실시예에 따른 측위 장치는 이동 단말 또는 스마트 폰과 같이 촬영 장치와 측위 장치의 시점이 동일한 경우, 3D 측위 정보를 갱신하는 것이 가능함은 물론, 추가적으로 영상 내에서 직접 2D 위치를 보정하는 용도로도 사용할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (30)

  1. 입력 영상으로부터 객체에 해당하는 특징을 포함하는 제1 영상을 생성하는 단계;
    상기 객체의 위치를 포함하는 맵 데이터에 기초하여, 장치의 후보 측위에 따라 상기 객체가 투영된 제2 영상을 생성하는 단계;
    상기 제2 영상에 포함된 정점들에 대응하여, 상기 제1 영상으로부터 특징 값들을 풀링(pooling)하는 단계; 및
    상기 풀링된 특징 값들에 기초하여, 상기 후보 측위의 스코어를 계산하는 단계
    를 포함하는 측위 방법.
  2. 제1항에 있어서,
    상기 제1 영상을 생성하는 단계는
    복수의 특징들에 대응하는 복수의 특징 맵들을 생성하는 단계
    를 포함하는, 측위 방법.
  3. 제1항에 있어서,
    상기 제2 영상을 생성하는 단계는
    상기 맵 데이터로부터 상기 후보 측위에서의 시야 범위에 해당하는 영역을 추출하는 단계; 및
    상기 영역에 포함된 정점들을 상기 후보 측위에 대응하는 투영점으로 투영하는 단계
    를 포함하는, 측위 방법.
  4. 제1항에 있어서,
    상기 특징 값들을 풀링하는 단계는
    상기 정점들의 좌표에 기초하여, 상기 제1 영상 내 픽셀들을 선택하는 단계; 및
    상기 선택된 픽셀들의 특징 값을 획득하는 단계
    를 포함하는, 측위 방법.
  5. 제1항에 있어서,
    상기 후보 측위의 스코어를 계산하는 단계는
    상기 풀링된 특징 값들을 합산하는 단계
    를 포함하는, 측위 방법.
  6. 제5항에 있어서,
    상기 제1 영상이 복수의 특징들에 대응하는 복수의 특징 맵들을 포함하는 경우,
    상기 합산하는 단계는
    상기 특징들에 대응하여 정해진 가중치들에 기초하여, 상기 특징 값들을 가중 합산하는 단계
    를 포함하는, 측위 방법.
  7. 제1항에 있어서,
    상기 후보 측위의 스코어에 기초하여, 상기 장치의 측위를 결정하는 단계
    를 더 포함하는, 측위 방법.
  8. 제7항에 있어서,
    상기 장치의 측위를 결정하는 단계는
    복수의 후보 측위들의 스코어들 중 최대 스코어에 대응하는 후보 측위를 상기 장치의 측위로 결정하는 단계
    를 포함하는, 측위 방법.
  9. 제7항에 있어서,
    상기 장치의 측위를 결정하는 단계는
    상기 제2 영상을 복수의 영역들로 분할하는 단계; 및
    상기 분할된 영역들에서 계산되는 스코어들을 순차적으로 이용함으로써, 상기 후보 측위에 포함된 복수의 자유도의 값들을 순차적으로 결정하는 단계
    를 포함하는, 측위 방법.
  10. 제9항에 있어서,
    상기 복수의 자유도의 값들은
    이동(translation)과 관련된 3-자유도의 값들 및
    회전(rotation)과 관련된 3-자유도의 값들
    을 포함하는, 측위 방법.
  11. 제9항에 있어서,
    상기 분할하는 단계는
    거리와 관련된 제1 기준에 기초하여, 상기 제2 영상을 원거리 영역 및 근거리 영역으로 분할하는 단계; 및
    소실점과 관련된 제2 기준에 기초하여, 상기 근거리 영역을 소실점 지향 근거리 영역 및 비 소실점 지향 근거리 영역으로 분할하는 단계
    를 포함하는, 측위 방법.
  12. 제11항에 있어서,
    상기 복수의 자유도의 값들을 순차적으로 결정하는 단계는
    상기 원거리 영역에 기초하여, 회전 관련 자유도들을 결정하는 단계;
    상기 소실점 지향 근거리 영역에 기초하여, 좌우 방향의 이동 관련 자유도를 결정하는 단계; 및
    상기 비 소실점 지향 근거리 영역에 기초하여, 전후 방향의 이동 관련 자유도를 결정하는 단계
    를 포함하는, 측위 방법.
  13. 제7항에 있어서,
    상기 장치의 측위를 결정하는 단계는
    상기 제2 영상에 포함된 정점들 중 이동 관련 자유도들에 의한 영향이 미리 정해진 수준 이하인 원거리 정점들에 기초하여, 회전 관련 자유도들을 결정하는 단계;
    상기 제2 영상에서 상기 원거리 정점들을 제외한 근거리 정점들 중 전후 방향의 이동 관련 자유도에 의한 영향이 미리 정해진 수준 이하인 소실점 지향 근거리 정점들에 기초하여, 좌우 방향의 이동 관련 자유도를 결정하는 단계; 및
    상기 근거리 정점들 중 상기 소실점 지향 근거리 정점들을 제외한 비 소실점 지향 근거리 정점들에 기초하여, 상기 전후 방향의 이동 관련 자유도를 결정하는 단계
    를 포함하는, 측위 방법.
  14. 제7항에 있어서,
    상기 장치의 측위를 결정하는 단계는
    상기 풀링된 특징 값들의 분포에 기초하여, 상기 스코어를 개선하기 위한 방향을 결정하는 단계; 및
    상기 방향에 기초하여 상기 후보 측위를 보정하는 단계
    를 포함하는, 측위 방법.
  15. 제14항에 있어서,
    상기 제1 영상은 상기 객체와 가까운 정도를 나타내는 확률 분포를 포함하고,
    상기 방향을 결정하는 단계는
    상기 확률 분포에 기초하여 상기 방향을 결정하는 단계
    를 포함하는, 측위 방법.
  16. 제14항에 있어서,
    상기 장치의 측위를 결정하는 단계는
    상기 보정된 후보 측위에 따라 상기 객체가 투영된 보정된 제2 영상을 생성하는 단계;
    상기 보정된 제2 영상에 포함된 정점들에 대응하여, 상기 제1 영상으로부터 특징 값들을 풀링함으로써 상기 보정된 후보 측위의 스코어를 계산하는 단계
    를 포함하고,
    상기 보정된 후보 측위의 스코어가 정해진 조건을 만족할 때까지 상기 방향을 결정하는 단계, 상기 후보 측위를 보정하는 단계, 상기 보정된 제2 영상을 생성하는 단계, 및 상기 보정된 후보 측위의 스코어를 계산하는 단계는 반복적으로 수행되는, 측위 방법.
  17. 제7항에 있어서,
    증강 현실 서비스를 위하여 상기 맵 데이터 상에서 가상 객체를 결정하는 단계; 및
    상기 결정된 측위에 기초하여, 상기 가상 객체를 표시하는 단계
    를 더 포함하는, 측위 방법.
  18. 제17항에 있어서,
    상기 입력 영상은 차량의 주행 영상을 포함하고,
    상기 가상 객체는 주행 경로 정보를 나타내는, 측위 방법.
  19. 입력 영상으로부터 객체에 해당하는 특징을 포함하는 제1 영상을 생성하는 단계;
    상기 객체의 위치를 포함하는 맵 데이터에 기초하여, 장치의 후보 측위에 따라 상기 객체가 투영된 제2 영상을 생성하는 단계;
    상기 제2 영상을 복수의 영역들로 분할하는 단계; 및
    상기 분할된 영역들과 상기 제1 영상 사이의 매칭을 통하여, 상기 후보 측위에 포함된 복수의 자유도의 값들을 결정하는 단계
    를 포함하는, 측위 방법.
  20. 제19항에 있어서,
    상기 복수의 자유도의 값들을 결정하는 단계는
    상기 분할된 영역들에서 상기 제1 영상과의 매칭을 통하여 계산되는 스코어들을 순차적으로 이용함으로써, 상기 후보 측위에 포함된 복수의 자유도의 값들을 순차적으로 결정하는 단계
    를 포함하는, 측위 방법.
  21. 제19항에 있어서,
    상기 복수의 자유도의 값들을 결정하는 단계는
    분할된 영역에 대응하여 정해진 자유도의 값을 변경하면서, 해당 영역에 포함된 정점들에 대응하여 제1 영상으로부터 특징 값들을 풀링함으로써 상기 자유도의 변경된 값들에 따른 스코어들을 계산하는 단계; 및
    최대 스코어에 대응하는 자유도의 값을 선택하는 단계
    를 포함하는, 측위 방법.
  22. 제19항에 있어서,
    상기 복수의 자유도의 값들은
    이동(translation)과 관련된 3-자유도의 값들 및
    회전(rotation)과 관련된 3-자유도의 값들
    을 포함하는, 측위 방법.
  23. 제19항에 있어서,
    상기 분할하는 단계는
    거리와 관련된 제1 기준에 기초하여, 상기 제2 영상을 원거리 영역 및 근거리 영역으로 분할하는 단계; 및
    소실점과 관련된 제2 기준에 기초하여, 상기 근거리 영역을 소실점 지향 근거리 영역 및 비 소실점 지향 근거리 영역으로 분할하는 단계
    를 포함하는, 측위 방법.
  24. 제23항에 있어서,
    상기 복수의 자유도의 값들을 결정하는 단계는
    상기 원거리 영역에 기초하여, 회전 관련 자유도들을 결정하는 단계;
    상기 소실점 지향 근거리 영역에 기초하여, 좌우 방향의 이동 관련 자유도를 결정하는 단계; 및
    상기 비 소실점 지향 근거리 영역에 기초하여, 전후 방향의 이동 관련 자유도를 결정하는 단계
    를 포함하는, 측위 방법.
  25. 제19항에 있어서,
    상기 복수의 자유도의 값들을 결정하는 단계는
    상기 제2 영상에 포함된 정점들 중 이동 관련 자유도들에 의한 영향이 미리 정해진 수준 이하인 원거리 정점들에 기초하여, 회전 관련 자유도들을 결정하는 단계;
    상기 제2 영상에서 상기 원거리 정점들을 제외한 근거리 정점들 중 전후 방향의 이동 관련 자유도에 의한 영향이 미리 정해진 수준 이하인 소실점 지향 근거리 정점들에 기초하여, 좌우 방향의 이동 관련 자유도를 결정하는 단계; 및
    상기 근거리 정점들 중 상기 소실점 지향 근거리 정점들을 제외한 비 소실점 지향 근거리 정점들에 기초하여, 상기 전후 방향의 이동 관련 자유도를 결정하는 단계
    를 포함하는, 측위 방법.
  26. 제19항에 있어서,
    증강 현실 서비스를 위하여 상기 맵 데이터 상에서 가상 객체를 결정하는 단계; 및
    상기 결정된 복수의 자유도의 값들에 기초하여, 상기 가상 객체를 표시하는 단계
    를 더 포함하는, 측위 방법.
  27. 제26항에 있어서,
    상기 입력 영상은 차량의 주행 영상을 포함하고,
    상기 가상 객체는 주행 경로 정보를 나타내는, 측위 방법.
  28. 하드웨어와 결합되어 제1항 내지 제27항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  29. 입력 영상으로부터 객체에 해당하는 특징을 포함하는 제1 영상을 생성하고,
    상기 객체의 위치를 포함하는 맵 데이터에 기초하여, 장치의 후보 측위에 따라 상기 객체가 투영된 제2 영상을 생성하며,
    상기 제2 영상에 포함된 정점들에 대응하여, 상기 제1 영상으로부터 특징 값들을 풀링(pooling)하고,
    상기 풀링된 특징 값들에 기초하여, 상기 후보 측위의 스코어를 계산하는
    적어도 하나의 프로세서
    를 포함하는 측위 장치.
  30. 입력 영상으로부터 객체에 해당하는 특징을 포함하는 제1 영상을 생성하고,
    상기 객체의 위치를 포함하는 맵 데이터에 기초하여, 장치의 후보 측위에 따라 상기 객체가 투영된 제2 영상을 생성하며,
    상기 제2 영상을 복수의 영역들로 분할하고,
    상기 분할된 영역들과 상기 제1 영상 사이의 매칭을 통하여, 상기 후보 측위에 포함된 복수의 자유도의 값들을 결정하는
    적어도 하나의 프로세서
    를 포함하는, 측위 장치.
KR1020180127589A 2018-10-24 2018-10-24 영상 및 맵 데이터 기반 측위 방법 및 장치 KR20200046437A (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020180127589A KR20200046437A (ko) 2018-10-24 2018-10-24 영상 및 맵 데이터 기반 측위 방법 및 장치
US16/371,305 US11176719B2 (en) 2018-10-24 2019-04-01 Method and apparatus for localization based on images and map data
EP19182124.8A EP3644278A1 (en) 2018-10-24 2019-06-25 Method and apparatus for localization based on images and map data
EP23190121.6A EP4246440A3 (en) 2018-10-24 2019-06-25 Method and apparatus for localization based on images and map data
CN201910648410.XA CN111089597A (zh) 2018-10-24 2019-07-17 基于图像和地图数据来定位的方法和装置
JP2019171729A JP2020076745A (ja) 2018-10-24 2019-09-20 映像及びマップデータ基盤測位方法及び装置
JP2024013948A JP2024032933A (ja) 2018-10-24 2024-02-01 映像及びマップデータ基盤測位方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180127589A KR20200046437A (ko) 2018-10-24 2018-10-24 영상 및 맵 데이터 기반 측위 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20200046437A true KR20200046437A (ko) 2020-05-07

Family

ID=67060291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180127589A KR20200046437A (ko) 2018-10-24 2018-10-24 영상 및 맵 데이터 기반 측위 방법 및 장치

Country Status (5)

Country Link
US (1) US11176719B2 (ko)
EP (2) EP4246440A3 (ko)
JP (2) JP2020076745A (ko)
KR (1) KR20200046437A (ko)
CN (1) CN111089597A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220008192A (ko) * 2020-07-13 2022-01-20 주식회사 쓰리아이 딥러닝을 이용한 실내 위치 측위 방법
KR20220055072A (ko) * 2020-10-26 2022-05-03 주식회사 쓰리아이 딥러닝을 이용한 실내 위치 측위 방법
US11961256B2 (en) 2020-10-26 2024-04-16 3I Inc. Method for indoor localization using deep learning

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102519666B1 (ko) * 2018-10-15 2023-04-07 삼성전자주식회사 이미지 변환 장치 및 방법
US10789851B1 (en) * 2019-09-04 2020-09-29 GM Global Technology Operations LLC System and method for vision sensor detection
US11829128B2 (en) 2019-10-23 2023-11-28 GM Global Technology Operations LLC Perception system diagnosis using predicted sensor data and perception results
WO2022114311A1 (ko) * 2020-11-30 2022-06-02 한국전자기술연구원 다중 영상을 이용한 라이다 센서 정보 보정 및 업-샘플링 방법 및 장치
CN113269832B (zh) * 2021-05-31 2022-03-29 长春工程学院 面向极端天气环境的电力作业增强现实导航系统和方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4677981B2 (ja) 2006-12-20 2011-04-27 アイシン・エィ・ダブリュ株式会社 自車位置特定方法及び自車位置特定装置
US8670592B2 (en) * 2008-04-24 2014-03-11 GM Global Technology Operations LLC Clear path detection using segmentation-based method
JP5116555B2 (ja) 2008-04-25 2013-01-09 三菱電機株式会社 位置標定装置、位置標定システム、標定サーバ装置および位置標定方法
JP4832596B2 (ja) 2008-08-29 2011-12-07 三菱電機株式会社 俯瞰画像生成装置、俯瞰画像生成方法および俯瞰画像生成プログラム
US8649565B1 (en) 2009-06-18 2014-02-11 Hrl Laboratories, Llc System for automatic object localization based on visual simultaneous localization and mapping (SLAM) and cognitive swarm recognition
US20110153198A1 (en) * 2009-12-21 2011-06-23 Navisus LLC Method for the display of navigation instructions using an augmented-reality concept
WO2011136407A1 (ko) 2010-04-28 2011-11-03 (주)아이티엑스시큐리티 스테레오 카메라를 이용한 영상인식장치 및 방법
US9524434B2 (en) 2013-10-04 2016-12-20 Qualcomm Incorporated Object tracking based on dynamically built environment map data
US9811731B2 (en) 2013-10-04 2017-11-07 Qualcomm Incorporated Dynamic extension of map data for object detection and tracking
WO2015125296A1 (ja) * 2014-02-24 2015-08-27 日産自動車株式会社 自己位置算出装置及び自己位置算出方法
EP3078935A1 (en) 2015-04-10 2016-10-12 The European Atomic Energy Community (EURATOM), represented by the European Commission Method and device for real-time mapping and localization
KR102325334B1 (ko) 2015-04-28 2021-11-12 한국전자통신연구원 차량 센서의 자동 보정 장치 및 그 방법
JP6488913B2 (ja) 2015-06-26 2019-03-27 日産自動車株式会社 車両位置判定装置及び車両位置判定方法
CN107851184B (zh) * 2015-07-28 2022-12-23 苹果公司 用于光和图像投影的系统和方法
KR101795185B1 (ko) 2015-12-14 2017-11-08 현대오트론 주식회사 전방차량 인지를 이용한 차량 피치각 검출 장치 및 그 방법
US9727793B2 (en) * 2015-12-15 2017-08-08 Honda Motor Co., Ltd. System and method for image based vehicle localization
KR20180009280A (ko) 2016-07-18 2018-01-26 주식회사 퓨전소프트 3d 맵 데이터를 이용한 차선 위치확인 및 경로 안내 시스템
KR102463702B1 (ko) 2016-12-15 2022-11-07 현대자동차주식회사 차량 정밀 위치 추정 장치, 그 방법, 그를 위한 맵 구축 장치, 및 그를 위한 맵 구축 방법
US10309778B2 (en) * 2016-12-30 2019-06-04 DeepMap Inc. Visual odometry and pairwise alignment for determining a position of an autonomous vehicle
US10209089B2 (en) * 2017-04-03 2019-02-19 Robert Bosch Gmbh Automated image labeling for vehicles based on maps
US10282860B2 (en) * 2017-05-22 2019-05-07 Honda Motor Co., Ltd. Monocular localization in urban environments using road markings
CN111492403A (zh) * 2017-10-19 2020-08-04 迪普迈普有限公司 用于生成高清晰度地图的激光雷达到相机校准
KR102221695B1 (ko) * 2018-01-15 2021-03-02 에스케이텔레콤 주식회사 자율주행을 위한 고정밀 지도의 업데이트 장치 및 방법
CN109389650B (zh) * 2018-09-30 2021-01-12 京东方科技集团股份有限公司 一种车载相机的标定方法、装置、车辆和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220008192A (ko) * 2020-07-13 2022-01-20 주식회사 쓰리아이 딥러닝을 이용한 실내 위치 측위 방법
KR20230020479A (ko) * 2020-07-13 2023-02-10 주식회사 쓰리아이 딥러닝을 이용한 실내 위치 측위 방법
KR20220055072A (ko) * 2020-10-26 2022-05-03 주식회사 쓰리아이 딥러닝을 이용한 실내 위치 측위 방법
US11961256B2 (en) 2020-10-26 2024-04-16 3I Inc. Method for indoor localization using deep learning

Also Published As

Publication number Publication date
JP2024032933A (ja) 2024-03-12
EP4246440A3 (en) 2024-01-03
US20200134896A1 (en) 2020-04-30
JP2020076745A (ja) 2020-05-21
EP3644278A1 (en) 2020-04-29
US11176719B2 (en) 2021-11-16
CN111089597A (zh) 2020-05-01
EP4246440A2 (en) 2023-09-20

Similar Documents

Publication Publication Date Title
US11465642B2 (en) Real-time map generation system for autonomous vehicles
US11227398B2 (en) RGB point clouds based map generation system for autonomous vehicles
EP3707469B1 (en) A point clouds registration system for autonomous vehicles
KR20200046437A (ko) 영상 및 맵 데이터 기반 측위 방법 및 장치
US11468690B2 (en) Map partition system for autonomous vehicles
US11315317B2 (en) Point clouds ghosting effects detection system for autonomous driving vehicles
KR102221695B1 (ko) 자율주행을 위한 고정밀 지도의 업데이트 장치 및 방법
JP7269082B2 (ja) 拡張現実で仮想オブジェクトを表示するための測位方法及び装置
EP3714290B1 (en) Lidar localization using 3d cnn network for solution inference in autonomous driving vehicles
US11436743B2 (en) Systems and methods for semi-supervised depth estimation according to an arbitrary camera
EP3714285B1 (en) Lidar localization using rnn and lstm for temporal smoothness in autonomous driving vehicles
CN110388931A (zh) 将对象的二维边界框转换成自动驾驶车辆的三维位置的方法
CN112740268B (zh) 目标检测方法和装置
JP7421889B2 (ja) イメージ認識モデルのトレーニング装置及び方法並びにイメージ認識方法
KR102373492B1 (ko) 자체적으로 생성된 정보 및 다른 개체에 의해 생성된 정보를 선택적으로 사용하여 카메라의 오정렬을 보정하는 방법 및 이를 이용한 장치
US11652972B2 (en) Systems and methods for self-supervised depth estimation according to an arbitrary camera
KR20230070868A (ko) 시맨틱 분할 이미지 및 시맨틱 포인트 클라우드 맵 기반의 전체론적 매칭을 통한 위치 추정 장치 및 방법

Legal Events

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