KR20240093842A - 내비게이션 맵 생성 및 필터링 - Google Patents
내비게이션 맵 생성 및 필터링 Download PDFInfo
- Publication number
- KR20240093842A KR20240093842A KR1020247016871A KR20247016871A KR20240093842A KR 20240093842 A KR20240093842 A KR 20240093842A KR 1020247016871 A KR1020247016871 A KR 1020247016871A KR 20247016871 A KR20247016871 A KR 20247016871A KR 20240093842 A KR20240093842 A KR 20240093842A
- Authority
- KR
- South Korea
- Prior art keywords
- vehicle
- map
- filtered
- sensor
- features
- Prior art date
Links
- 238000001914 filtration Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000015654 memory Effects 0.000 claims description 28
- 241001465754 Metazoa Species 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 238000010801 machine learning Methods 0.000 description 10
- 230000004927 fusion Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 6
- 230000000717 retained effect Effects 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Traffic Control Systems (AREA)
- Navigation (AREA)
Abstract
센서 기반 내비게이션 맵을 생성, 업데이트 및 사용하는 기술에 대해 설명된다. 제1 차량의 제1 센서에 의해 캡처된 센서 데이터를 기반으로 입력 맵이 생성된다. 입력 맵은 제1 차량이 이동한 경로의 3차원 표현에 대응하는 필터링된 맵을 생성하기 위해 하나 이상의 기준에 기초하여 필터링된다. 필터링은 제1 차량의 제2 센서에 의해 캡처된 센서 데이터를 사용하여 특징을 검출하는 것에 기초할 수 있다. 하나 이상의 기준은 객체 클래스, 거리 기준, 및/또는 제1 센서에 의해 캡처된 센서 데이터 및/또는 제2 센서에 의해 캡처된 센서 데이터의 특징 속성과 관련된 다른 기준을 포함할 수 있다. 필터링된 맵은 제2 차량이 동일한 경로를 따라 이동하는 동안 제2 차량의 위치를 결정하는 데 사용하기 위해 제2 차량으로의 전송을 위해 저장될 수 있다.
Description
본 발명은 일반적으로 차량 내비게이션 분야에 관한 것으로, 보다 구체적으로는 차량 위치를 결정하기 위해 내비게이션 동안 참조될 수 있는 디지털 맵을 생성하기 위한 센서 데이터의 사용에 관한 것이다.
내비게이션 맵은 다양한 방법으로 생성될 수 있다. 일부 맵은 위성 지원 내비게이션(예를 들어, GPS(Global Positioning System)와 같은 글로벌 내비게이션 위성 시스템의 지원)과 함께 사용하기 위해 위성 영상을 통해 생성된다. 위성 영상을 사용하여 생성된 맵은 비교적 정밀한 경향이 있으며, 차량의 위성 수신기와 함께 차량의 위치나 지리적 위치를 높은 정확도(예를 들어, 수 미터 이내, 경우에 따라 수십 센티미터 이내의 정확도)로 추정할 수 있다. 그러나, 일부 위치는 위성 시야에서 가려질 수 있으므로 위성은 모든 위치를 촬영할 수 없다. 또한, 위성 지원 내비게이션의 가용성은 차량 구성(예를 들어, 탑재된 GPS 수신기의 존재)과 환경 요인에 따라 달라질 수 있다. 예를 들어, 터널이나 산악 지형을 통과할 때 GPS 신호가 약하거나 존재하지 않을 수 있다.
위성 영상의 대안으로, 카메라, LIDAR(Light Detection and Ranging) 센서 및/또는 레이더 센서와 같은 센서의 데이터를 사용하여 맵을 생성할 수 있다. 이러한 센서는 일반적으로 캡처되는 환경에 훨씬 더 가깝게 있기 때문에 위성 이미지에 비해 더 자세한 정보를 제공할 수 있다. 증가된 세부 수준은 위성 기반 위치에 비해 더 높은 정밀도, 예를 들어, 1cm 또는 2cm 이내의 정확도로 위치를 결정하는 것을 가능하게 할 수 있다. 그러나, 센서 데이터로부터 맵을 형성하려면 세부 수준 증가에 상응하는 훨씬 더 많은 양의 정보를 처리해야 한다. 센서 기반 맵은 또한 위치를 결정하는 데 불필요한 관련 없는 정보를 포함하는 경향이 있다. 관련 없는 정보는 맵 크기를 증가시켜 추가 저장 공간을 필요로 한다. 맵 크기가 증가하면 내비게이션용으로 맵을 차량에 전달할 때 전송 지연이 발생할 수도 있다.
본 명세서에 설명된 실시예는 차량 내비게이션과 관련하여 사용하기 위해 지리적 영역의 간결한 맵을 생성하기 위한 시스템 및 방법을 제공함으로써 이러한 문제와 다른 문제를 해결한다. 본 개시의 양태는 센서 데이터를 캡처한 다음, 자동화된 처리를 사용하여 관련 없는 정보(예를 들어, 하나 이상의 기준을 충족하는 데이터 포인트)를 제거하기 위해 센서 데이터를 필터링함으로써 맵을 생성하는 것에 관한 것이다. 제거되는 정보는 일반적으로 위치 결정에 불필요한 특징에 해당하므로 관심도가 낮거나 없는 것으로 분류될 수 있다. 위치 결정 능력에 부정적인 영향을 주지 않고 제거될 수 있는 특징의 예는 차량(예를 들어, 길가에 주차된 차량 또는 다가오는 차량), 움직이는 객체(예를 들어, 보행자), 다양한 카테고리의 무생물(예를 들어, 나무)을 포함한다. 유지되고 위치를 결정하는 데 유용한 특징은, 예를 들어, 도로, 교통 표지판, 랜드마크 또는 기타 관심 지점을 포함할 수 있다.
자동화된 필터링은 제거할 특징을 식별하기 위해 상이한 유형의 센서로부터의 데이터를 융합하는 것을 포함할 수 있다. 예를 들어, 일부 구현에서, LIDAR 또는 레이더 센서의 데이터가 카메라에 의해 캡처된 이미지를 사용하여 검출된 특징을 기반으로 필터링된다. 필터링은, 예를 들어, 특정 특징의 존재와 연관된 하나 이상의 기준이 만족되는지 여부를 결정하기 위해 조건부 논리를 적용하도록 구성된 소프트웨어 알고리즘을 통해 알고리즘적으로 수행될 수 있다. 일부 구현에서, 기계 학습(예를 들어, 심층 학습 알고리즘 또는 신경망)을 사용하여 제거할 특징을 식별한다. 예를 들어, 심층 학습은 훈련된 기계 학습 모델을 적용하여 특정 객체 클래스 또는 카테고리에 속하는 객체의 물리적 경계를 결정하는 것을 포함할 수 있다.
특정 양태에서, 맵을 생성하는 방법은, 컴퓨터 시스템에 의해 그리고 제1 차량의 제1 센서에 의해 캡처된 센서 데이터에 기초하여, 제1 차량이 이동한 경로의 3차원 표현에 대응하는 입력 맵을 생성하는 단계를 포함한다. 방법은 컴퓨터 시스템에 의해 그리고 하나 이상의 기준에 기초하여, 필터링된 맵을 생성하기 위해 입력 맵을 필터링하는 단계를 더 포함한다. 필터링하는 단계는 하나 이상의 기준을 만족하는 특징을 자동으로 제거하는 단계를 포함한다. 특징은 필터링된 맵을 참조하여 제2 차량의 위치를 결정하는 것과 무관한 객체에 해당한다. 방법은 컴퓨터 시스템에 의해, 필터링된 맵을 제2 차량에 전송하는 단계를 더 포함한다. 필터링된 맵은 제2 차량이 동일한 경로를 따라 이동하는 동안 제2 차량의 위치를 결정하기 위해 제2 차량의 내비게이션 시스템에 의해 처리된다.
특정 양태에서, 시스템은 하나 이상의 프로세서 및 메모리를 포함하며, 여기서 메모리는 하나 이상의 프로세서로 하여금 맵을 생성하기 위한 위에서 설명된 방법을 수행하도록 하기 위해 하나 이상의 프로세서에 의해 실행 가능한 명령어를 저장한다. 메모리는 명령어를 저장하는 비일시적 컴퓨터 판독 가능 저장 매체를 포함할 수 있다.
도 1은 하나 이상의 실시예를 포함하는 시스템의 블록도이다.
도 2는 하나 이상의 실시예에 따른 필터링을 위한 입력으로 사용 가능한 2D 표현의 예를 도시한다.
도 3a는 하나 이상의 실시예에 따른 필터링될 수 있는 3D 표현의 예를 도시한다.
도 3b는 필터링된 데이터를 생성하기 위해 도 3a의 3D 표현을 필터링한 결과를 도시한다.
도 4는 실시예에 따른 필터링된 맵을 생성하기 위해 수행될 수 있는 동작 시퀀스의 예를 도시한다.
도 5a는 환경의 3D 표현에 적용된 경계 상자의 예를 도시한다.
도 5b는 도 5a의 3D 표현을 필터링하는 예를 도시한다.
도 6은 실시예에 따른 필터링된 맵을 생성하고 사용하는 프로세스의 흐름도이다.
도 7은 실시예에 따른 필터링된 맵을 생성하는 프로세스의 흐름도이다.
도 8은 실시예에 따른 입력 맵을 필터링하는 프로세스의 흐름도이다.
도 9는 실시예에 따른 필터링된 맵을 차량에 전송하는 프로세스의 흐름도이다.
도 10a 내지 도 10c는 일부 실시예에 따른 일정 기간에 걸쳐 수신되는 필터링된 맵의 예를 도시한다.
도 11은 일부 실시예에 따른 필터링된 맵의 예를 도시한다.
도 12는 실시예에 따른 필터링된 맵을 업데이트하는 프로세스의 흐름도이다.
다양한 도면의 유사한 참조 기호는 특정 예시적인 구현에 따라 유사한 요소를 나타낸다. 또한, 요소의 여러 인스턴스는 문자 또는 하이픈이 있는 요소의 제1 숫자 및 제2 숫자를 따라 표시될 수 있다. 예를 들어, 요소(110)의 여러 인스턴스는 110-1, 110-2, 110-3 등으로 표시되거나 110A, 110B, 110C 등으로 표시될 수 있다. 제1 숫자만 사용하여 이러한 요소를 나타내는 경우, 요소의 임의의 인스턴스가 이해되어야 한다(예를 들어, 이전 예의 요소(110)는 요소(110-1, 110-2 및 110-3) 또는 요소(110A, 110B 및 110C)를 나타냄).
도 2는 하나 이상의 실시예에 따른 필터링을 위한 입력으로 사용 가능한 2D 표현의 예를 도시한다.
도 3a는 하나 이상의 실시예에 따른 필터링될 수 있는 3D 표현의 예를 도시한다.
도 3b는 필터링된 데이터를 생성하기 위해 도 3a의 3D 표현을 필터링한 결과를 도시한다.
도 4는 실시예에 따른 필터링된 맵을 생성하기 위해 수행될 수 있는 동작 시퀀스의 예를 도시한다.
도 5a는 환경의 3D 표현에 적용된 경계 상자의 예를 도시한다.
도 5b는 도 5a의 3D 표현을 필터링하는 예를 도시한다.
도 6은 실시예에 따른 필터링된 맵을 생성하고 사용하는 프로세스의 흐름도이다.
도 7은 실시예에 따른 필터링된 맵을 생성하는 프로세스의 흐름도이다.
도 8은 실시예에 따른 입력 맵을 필터링하는 프로세스의 흐름도이다.
도 9는 실시예에 따른 필터링된 맵을 차량에 전송하는 프로세스의 흐름도이다.
도 10a 내지 도 10c는 일부 실시예에 따른 일정 기간에 걸쳐 수신되는 필터링된 맵의 예를 도시한다.
도 11은 일부 실시예에 따른 필터링된 맵의 예를 도시한다.
도 12는 실시예에 따른 필터링된 맵을 업데이트하는 프로세스의 흐름도이다.
다양한 도면의 유사한 참조 기호는 특정 예시적인 구현에 따라 유사한 요소를 나타낸다. 또한, 요소의 여러 인스턴스는 문자 또는 하이픈이 있는 요소의 제1 숫자 및 제2 숫자를 따라 표시될 수 있다. 예를 들어, 요소(110)의 여러 인스턴스는 110-1, 110-2, 110-3 등으로 표시되거나 110A, 110B, 110C 등으로 표시될 수 있다. 제1 숫자만 사용하여 이러한 요소를 나타내는 경우, 요소의 임의의 인스턴스가 이해되어야 한다(예를 들어, 이전 예의 요소(110)는 요소(110-1, 110-2 및 110-3) 또는 요소(110A, 110B 및 110C)를 나타냄).
이제 본 명세서의 일부를 구성하는 첨부 도면과 관련하여 몇 가지 예시적인 실시예가 설명될 것이다. 본 개시의 하나 이상의 양태가 구현될 수 있는 특정 실시예가 아래에 설명되지만, 본 개시의 범위 또는 첨부된 청구범위의 사상을 벗어나지 않고 다른 실시예가 사용될 수 있고 다양한 수정이 이루어질 수 있다.
본 개시의 양태는 센서 데이터를 캡처한 다음, 관련 없는 정보, 예를 들어, 포인트 클라우드에서 불필요한 데이터 포인트를 제거하기 위해 센서 데이터를 필터링함으로써 맵을 생성하는 것에 관한 것이다. 관련 없는 정보의 제거는 센서 데이터로부터 도출된 입력 맵을 자동화된 처리에 적용하여 관련 없는 정보가 덜 포함된 필터링된 맵을 생성하는 것을 포함할 수 있다. 입력 맵 및/또는 필터링된 맵은 센서 주변의 물리적 환경의 2차원(2D) 또는 3차원(3D) 표현일 수 있다. 예를 들어, 일부 구현에서, 입력 맵은 LIDAR 포인트 클라우드로부터 생성된 3D 맵이고, 출력 맵은 카메라에 의해 캡처된 2D 이미지를 사용하여 필터링한 이후의 3D 맵에 대응한다. 따라서, 맵은 물리적 환경의 3D 표현, 2D 표현 또는 2D와 3D 표현의 조합을 사용하여 생성될 수 있으며, 여기서 표현은 여러 센서에 의해 캡처된다. 자동화된 필터링은 관련 없는 정보를 수동으로 제거하지 않고도 필터링된 맵을 생성할 수 있게 한다. 따라서, 본 명세서에 설명된 필터링 기술은 수동 감독이 거의 또는 전혀 없이 대량의 센서 데이터를 처리함으로써 적시에 필터링된 맵을 생성하는 데 적용될 수 있다.
맵은 지리적 영역을 나타내는 디지털 정보의 모음일 수 있다. 지리적 영역의 물리적 레이아웃을 표시하는 것 외에도, 맵은 일반적으로 지리적 영역 내의 위치나 특징, 예를 들어, 도로 이름, 도시, 수역, 건물 등을 식별하는 레이블을 포함한다. 위에서 언급한 바와 같이, 맵은 2D일 수도 있고 3D일 수도 있다. 따라서, 지리적 영역 내의 위치는 2차원 또는 3차원 좌표(예를 들어, 위도, 경도, 고도)를 사용하여 표현되는 측지 위치로 지정될 수 있다. 대안적으로, 위치는 도시 위치(예를 들어, 거리 주소)로 지정될 수도 있다.
지리적 영역의 크기에 따라, 맵은 하나 이상의 세그먼트(예를 들어, 정사각형 또는 직사각형 타일)로 분할될 수 있으며, 여기서 각각의 세그먼트는 차량이 세그먼트에 대응하는 영역을 통과할 때 차량의 하나 이상의 센서에 의해 캡처된 센서 데이터를 사용하여 형성된다. 일부 구현에서, 차량은 지리적 영역 매핑의 일부로서 LIDAR 포인트 클라우드, 카메라 이미지 및/또는 기타 유형의 표현을 캡처하기 위해 지리적 영역 주위를 이동하는 자동차 집합의 일부일 수 있다. 따라서, 맵은 적어도 하나의 차량에 의해 제공된 센서 데이터의 산물일 수 있으며, 경우에 따라 여러 차량의 센서 데이터의 통합을 통해 생성된다.
맵이 필터링되어 필터링된 맵을 생성한 후, 차량이 필터링된 맵에 의해 커버되는 지리적 영역을 통과하는 동안 필터링된 맵은 참조로 사용하기 위해 차량에 전달될 수 있다. 일반적으로, 필터링된 맵을 사용하는 차량은 필터링된 맵을 생성한 입력 맵에 대한 센서 데이터를 제공한 차량과 다른 차량이다. 필터링된 맵을 참조할 때, 차량은 필터링된 맵의 정보와 차량 자체 센서(들)를 사용하여 캡처된 정보를 비교하여 차량의 위치를 결정할 수 있다. 필터링된 맵은 차량의 메모리로 전송되어 저장될 수 있다. 일부 경우에, 필터링된 맵은 이동 전에 차량의 메모리에 미리 로드된다. 다른 경우에, 차량이 맵에 의해 커버되는 지리적 영역을 통과할 때 필터링된 맵이 실시간으로 무선으로 전송된다.
필터링된 맵은 잠재적으로 한꺼번에, 예를 들어, 연속적이고 중단되지 않는 무선 데이터 스트림으로 전송될 수 있다. 그러나, 실제로는 대역폭 제약으로 인해 주어진 통신 트랜잭션에서 차량 주변의 로컬 영역과 관련된 필터링된 맵의 일부(예를 들어, 다가오는 영역을 나타내는 하나 또는 두 개의 세그먼트)만 전송될 수 있다. 필터링된 맵에는 입력(필터링되지 않은) 맵보다 적은 정보가 포함되어 있으므로 필터링된 맵은 짧은 지연 시간으로 전송될 수 있어 차량이 차량의 현재 환경과 관련된 맵 정보에 액세스할 수 있도록 도와준다. 필터링된 맵의 편의주의적 통신은 위성 지원을 사용할 수 없는 상황(예를 들어, GPS 신호 부족으로 인해)에서 특히 유용하다. 예를 들어, GPS 신호가 갑자기 손실되면, 센서 기반 맵이 GPS 포지셔닝에서 센서 기반 맵을 사용한 포지셔닝으로 전환하는 과정의 일부로서 차량에 스트리밍될 수 있다. 내비게이션 지침 및/또는 차량 위치를 표시하는 맵이 중단을 최소화하면서 운전자에게 계속 제공될 수 있도록 포지셔닝 방법 간의 전환이 신속하게 이루어질 수 있다. 차량이 자율 주행 차량인 경우, 전환은 자율 주행 차량의 제어 유닛이 자율 주행 차량의 현재 위치에 관한 정보에 실질적으로 중단 없이 액세스할 수 있도록 보장할 수 있다.
도 1은 본 개시의 하나 이상의 실시예를 통합하는 시스템(100)의 블록도이다. 시스템(100)은 한 세트의 차량(102)(예를 들어, 차량(102A, 102B, 102N)) 및 하나 이상의 통신 네트워크(130)를 통해 차량(102)에 통신 가능하게 결합된 컴퓨터 시스템(150)을 포함한다.
네트워크(들)(130)는 인터넷, 하나 이상의 셀룰러 네트워크(예를 들어, 4G, 5G 또는 LTE(Long Term Evolution)), Wi-Fi(IEEE 802.11X) 네트워크, WiMax(Wireless Inter-operability for Microwave Access) 네트워크 등과 같은 다양한 공공 및/또는 사설 네트워크 중 임의의 것을 포함할 수 있다. 차량(102)은, 예를 들어, 셀룰러, Wi-Fi 또는 블루투스 연결을 통해 네트워크(130)에 무선으로 결합될 수 있다. 일부 경우에, 차량(102)은, 예를 들어, 차량에 의해 캡처된 센서 데이터를 컴퓨터 시스템(150)에 전송할 때, 네트워크에 대한 유선(예를 들어, 이더넷) 연결을 가질 수 있다.
도 1에 도시된 바와 같이, 차량(102)은 센서(110), 전자 제어 유닛(Electronic Control Unit; ECU)(112), 글로벌 내비게이션 위성 시스템(Global Navigation Satellite System; GNSS) 수신기(114), 내비게이션 시스템(116), 통신 시스템(118), 메모리(120) 및 입출력(I/O) 디바이스(122)를 포함할 수 있다. 차량(102)은 자동차 또는 다른 유형의 모터 차량, 예를 들어, 승용차, 오토바이, 버스, 트럭 등일 수 있다. 그러나, 본 명세서에 설명된 기술은 임의의 센서 장착 차량에 적용 가능하며 육상 기반 차량에 제한되지 않는다. 따라서, 개시된 실시예는 선박, 항공기 및/또는 우주선에도 사용될 수 있다.
ECU(112)는 하나 이상의 처리 유닛을 포함할 수 있다. 각각의 처리 유닛은 범용 프로세서, 특수 목적 프로세서(예를 들어, 디지털 신호 프로세서(DSP) 또는 그래픽 가속기 프로세서), 주문형 집적 회로(ASIC) 및/또는 일부 다른 하드웨어 회로 또는 회로들의 조합일 수 있다. ECU(112)는 메모리(120)에 저장된 명령어를 실행할 수 있다.
메모리(120)는 휘발성 저장 장치(예를 들어, RAM), 비휘발성 저장 장치(예를 들어, ROM), 또는 휘발성 및 비휘발성 저장 장치의 조합을 사용하여 구현되는 저장소 및/또는 작업 메모리를 포함할 수 있다. 예를 들어, 메모리(120)는 맵을 생성하고 필터링하기 위해 ECU(112)에 의해 실행 가능한 소프트웨어 애플리케이션에 대응하는 프로그램 코드를 저장할 수 있다. 추가적으로 또는 대안적으로, 메모리(120)는 차량(102)의 위치 결정과 관련하여 필터링된 맵을 획득하고 처리하기 위해 ECU(112)에 의해 실행 가능한 소프트웨어 애플리케이션을 저장할 수 있다. 또한, 메모리(120)는 필터링된 맵 생성 및/또는 위치 결정을 위한 필터링된 맵 사용과 관련하여 하나 이상의 센서(110)에 의해 캡처된 센서 데이터를 위한 저장 공간을 포함할 수 있다. 따라서, 메모리(120)는 본 명세서에 설명된 다양한 맵 관련 기능을 제공하기 위해 ECU(112) 및/또는 다른 차량 구성 요소(예를 들어, 센서(110))를 구성하도록 실행 가능한 프로그램 명령어에 대한 저장소를 포함할 수 있다.
센서(110)는 카메라, LIDAR 센서, 레이더 센서, 초음파 센서, 및/또는 센서 주변 환경의 2D 또는 3D 표현이 형성될 수 있는 데이터를 캡처할 수 있는 다른 유형의 센서 중 하나 이상의 인스턴스를 포함할 수 있다. 예를 들어, 전면 카메라는 차량(102A) 전방에 있는 환경의 2D 이미지를 캡처하기 위해 차량(102A)의 앞유리 뒤에 설치될 수 있는 반면, LIDAR 또는 레이더 센서는 차량(102) 전방에 있는 환경을 나타내는 3D 포인트 클라우드를 생성할 수 있다. 각각의 센서에는 대응하는 시야가 있다. 센서의 여러 인스턴스를 사용하여 상이한 방향에서 환경을 캡처할 수 있다(예를 들어, 차량 측면 또는 후면에 장착된 센서). 차량(102)은 입력 맵 및/또는 필터링된 맵을 생성하는 과정의 일부로서 센서 융합을 수행하도록 구성될 수 있다. 예를 들어, 상이한 방향을 가리키는 카메라의 이미지를 함께 연결하여 합성 이미지를 형성할 수 있다. 스테레오 카메라 배열에서, 제1 카메라의 이미지 및 제2 카메라의 이미지는, 예를 들어, 카메라 시차에 기초하여 깊이 정보를 추출하기 위해 두 이미지를 비교함으로써 제1 및 제2 카메라의 위치에 관한 지식에 기초하여 3D 표현을 생성하기 위해 결합될 수 있다. 따라서, 상이한 센서의 데이터를 결합하여 입력 맵을 생성할 수 있다.
센서 융합에는 상이한 유형의 센서로부터의 데이터가 포함될 수 있다. 한 유형의 센서에 의해 제공되는 센서 데이터는 다른 유형의 센서에 의해 제공되는 센서 데이터를 보완하거나 경우에 따라 중첩될 수 있다. 예를 들어, LIDAR 센서는 도로의 윤곽을 나타내는 포인트를 포함하는 포인트 클라우드를 생성할 수 있고, 카메라는 동일한 도로의 이미지를 캡처할 수 있으며, 여기서 이미지는 LIDAR에 의해 검출될 수 없는 차선 표시를 포함한다(예를 들어, 차선 표시는 3D가 아닌 도색되어 있기 때문). 따라서, 상이한 센서 및/또는 상이한 유형의 센서는 차량(102) 주변 환경의 보다 포괄적인 보기에 기여할 수 있다. 제2 센서 유형의 데이터를 필터링하기 위해 제1 센서 유형의 데이터를 사용하는 예가 아래에서 설명된다.
GNSS 수신기(114)는 GNSS의 하나 이상의 위성과 통신하도록 구성된다. 예를 들어, GNSS 수신기(114)는 GPS 무리 내 위성의 신호에 대한 반송파 주파수에 맞춰 조정될 수 있는 GPS 수신기를 포함할 수 있다. GNSS 수신기(114)는 예를 들어 GNSS 수신기(114)의 위치 결정과 관련하여 지상 기반 서버에 지원 정보를 요청하는 전송 능력도 가질 수 있다. GNSS 기반 포지셔닝과 관련하여 사용될 때, GNSS 수신기(114)는 다수의 위성으로부터 기준 신호를 수신할 수 있고, 기준 신호는 예를 들어 삼변측량을 통해 기하학적으로 차량(102)의 위치를 결정하기 위해 (예를 들어, 내비게이션 시스템(116)에 의해) 처리될 수 있다. 일부 경우에, GNSS 기반 포지셔닝은 기지국 또는 다른 GNSS 수신기와 같은 지상 개체와의 통신을 포함할 수 있다. 예를 들어, 차량(102)의 위치는 알려진 위치에 있는 인근 기지국으로부터 방송되는 정보를 사용하여 결정될 수 있으며, 여기서 기지국으로부터의 정보는 기준 신호 및/또는 기지국에 의해 수신된 GPS 신호의 측정치를 포함한다.
내비게이션 시스템(116)은 차량(102)의 위치 결정과 관련하여 메모리(120)에 저장된 맵에 액세스하도록 구성된다. 맵과 관련하여 차량의 위치를 결정하는 프로세스는 "위치 식별(localization)"로 지칭될 수 있고, 센서 기반 맵을 사용하여 수행될 때, 하나 이상의 센서(110)에 의해 캡처된 데이터를 센서 기반 맵에 포함된 데이터와 비교하는 것을 포함할 수 있다. 예를 들어, LIDAR 또는 레이더 센서에 의해 캡처된 포인트 클라우드를 센서 기반 맵에 포함된 포인트 클라우드와 비교함으로써, 내비게이션 시스템(116)은 차량(102)이 현재 도로의 특정 부분에 위치한다고 결정할 수 있다. 비교는 실시간 센서 데이터에 포함된 특징을 센서 기반 맵에 포함된 대응하는 특징과 매칭하는 것을 포함할 수 있다. 예를 들어, 내비게이션 시스템(116)은 실시간 포인트 클라우드 내의 포인트로부터 특징(예를 들어, 도로의 윤곽 또는 건물의 윤곽선)을 식별하고 센서 기반 맵에 매칭 특징이 있는지 여부를 결정할 수 있다.
내비게이션 시스템(116)은 소프트웨어 및/또는 하드웨어로 구현될 수 있다. 예를 들어, 내비게이션 시스템(116)은 메모리(120)에 상주하고 ECU(112)의 프로세서에 의해 실행되는 소프트웨어 애플리케이션일 수 있다. 내비게이션 시스템(116)은 차량(102)의 운전자에게 내비게이션 안내를 제공하는 것과 관련하여 차량(102)의 위치를 결정할 수 있다. 예를 들어, 내비게이션 시스템(116)은 차량(102)의 위치를 사용하여 운전자가 지정한 목적지까지의 경로를 계획하거나, 차량 내부의 디스플레이에 차량의 위치를 표시하거나, 원격 서버로부터 차량의 위치에 관한 교통 알림 또는 기타 보고를 획득할 수 있다. 유사하게, 차량(102)이 자율 주행 차량인 경우, 차량의 위치는 차량을 운전자가 지정한 목적지로 가져가도록 설계된 자율 주행 동작(예를 들어, 운전 조작)을 결정하거나 차량 위치 주변에 존재하는 교통, 날씨, 위험 또는 기타 조건을 고려하여 계획된 자율 주행 동작을 수정해야 하는지 여부를 결정하기 위한 입력으로 제공될 수 있다.
통신 시스템(118)은 차량(102)과 컴퓨터 시스템(150) 사이에서 데이터가 통신되는 무선 통신 인터페이스를 포함할 수 있다. 따라서, 통신 시스템(118)은 Wi-Fi 수신기, 셀룰러 수신기 등과 같은 무선 주파수 구성 요소를 포함할 수 있다. 수신기로 동작하는 무선 주파수 구성 요소는 또한 전송 능력을 포함할 수 있다. 무선 주파수 구성 요소는 하드웨어를 공유할 수 있다. 예를 들어, 통신 시스템(118)은 GPS 위성으로부터 신호를 수신하기 위해 GNSS 수신기(114)에 의해 사용되는 하나 이상의 안테나 및 셀룰러 기지국으로부터 신호를 수신하도록 구성된 하나 이상의 안테나를 포함하는 안테나 어레이를 포함할 수 있다. 일부 구현에서, 상이한 무선 통신 프로토콜과 함께 사용하기 위해 별도의 안테나가 제공될 수 있다. 예를 들어, GNSS 수신기(114)는 통신 시스템(118)의 무선 주파수 수신기의 안테나 어레이와 별개인 자신의 안테나 어레이를 포함할 수 있다.
내비게이션 시스템(116)은 통신 시스템(118)을 사용하여 센서 기반 맵을 요청하도록 구성될 수 있다. 센서 기반 맵에 대한 요청은 컴퓨터 시스템(150)에 전송되어 컴퓨터 시스템(150)으로 하여금 센서 기반 맵 또는 센서 기반 맵의 관련 부분을 전송하게 할 수 있다. 예를 들어, 요청은 차량의 마지막으로 알려진 또는 추정된 위치의 표시를 포함할 수 있고, 컴퓨터 시스템(150)은 표시된 위치 주변의 특정 거리를 커버하는 맵 데이터를 제공할 수 있다. 센서 기반 맵이 실질적으로 실시간으로 차량(102)에 제공되는 동안 차량(102)은 센서 기반 맵에 의해 커버되는 지리적 영역 내에서 이동할 수 있다. 커버되는 지리적 영역 내에서 이동하기 전에, 센서 기반 맵은 또한 차량에 미리 전달되어 메모리(120)에 저장될 수 있다.
통신 시스템(118)을 통해 수신된 센서 기반 맵은 하나 이상의 차량(102)에 의해 캡처된 센서 데이터를 사용하여 생성된 필터링된 맵을 포함할 수 있다. 필터링되지 않은 맵에서 관련 없는 정보를 제거하여 필터링된 맵을 생성할 수 있다. 일부 구현에서, 필터링된 맵을 생성하기 위한 처리는 하나 이상의 차량(102)으로부터 수신된 센서 데이터 및/또는 필터링되지 않은 맵에 기초하여 컴퓨터 시스템(150)에 의해 수행된다. 따라서, 통신 시스템(118)은 또한 센서 데이터 및/또는 필터링되지 않은 맵을 컴퓨터 시스템(150)에 제공하는 데 사용될 수도 있다. 예를 들어, 차량(102A, 102B, 102N)은 지리적 영역 전체를 이동하여 각각의 센서(110)를 사용하여 2D 및/또는 3D 표현을 캡처한 다음, 센서 기반 맵을 형성 및 필터링하기 위해 컴퓨터 시스템(150)에 표현을 업로드하는 차량 집합의 일부일 수 있다. 센서 기반 맵에 센서 데이터를 제공하는 차량 집합 내의 각각의 차량(102)은 지리적 영역의 상이한 부분을 따라 이동하도록 할당될 수 있다. 일부 경우에, 두 대의 차량이 이동하는 부분이 중첩될 수 있다. 하나 이상의 차량(102)에 의해 제공되는 센서 데이터의 중복은 센서 데이터가 컴퓨터 시스템(150)에 의해 결합될 때 제거될 수 있다.
센서 기반 맵은 최신 센서 데이터를 기반으로 업데이트될 수 있다. 예를 들어, 컴퓨터 시스템(150)에 의해 제공된 필터링된 맵을 사용하여 내비게이션할 때, 차량(102)은 필터링된 맵의 데이터를 차량(102)의 하나 이상의 센서(110)를 사용하여 캡처된 센서 데이터와 비교하는 것 외에도, 컴퓨터 시스템(150)이 센서 데이터에 반영된 변화에 기초하여 필터링된 맵을 업데이트할지 여부를 결정할 수 있도록 센서 데이터를 컴퓨터 시스템(150)에 전송할 수도 있다. 필터링된 맵의 업데이트를 초래할 수 있는 변화의 예는 우회로 존재, 도로 차단, 새 건물, 차선 폐쇄 등을 포함한다. 따라서, 필터링된 맵은 하나 이상의 차량이 지리적 영역을 여러 번 주행하여 수집한 센서 데이터의 산물일 수 있다.
I/O 디바이스(122)는 차량(102)의 운전자 또는 다른 탑승자로부터 입력을 수신하도록 구성된 하나 이상의 입력 디바이스, 예를 들어, 키보드 또는 키패드, 터치스크린, 버튼, 손잡이, 마이크 등을 포함할 수 있다. 입력 디바이스는 차량 실내, 예를 들어, 센터 콘솔, 스티어링 휠 또는 오버헤드 콘솔에 위치할 수 있다. I/O 디바이스(122)는 또한 운전자 또는 다른 탑승자에게 오디오, 시각적 및/또는 다른 유형의 출력(예를 들어, 촉각 출력)을 제공하도록 구성된 하나 이상의 출력 디바이스를 포함할 수 있다. 출력 디바이스의 예는 디스플레이 모니터, 확성기, 발광 다이오드(LED) 등을 포함한다.
컴퓨터 시스템(150)은 필터링된 맵을 생성 및/또는 차량(102)에 전송하도록 구성된다. 따라서, 컴퓨터 시스템(150)은 맵 생성 시스템(152) 및 통신 시스템(154)을 포함할 수 있다. 컴퓨터 시스템(150)은, 예를 들어, 범용 컴퓨터, 저장 서버, 또는 컴퓨터 네트워크를 포함할 수 있는 하나 이상의 컴퓨팅 디바이스를 사용하여 구현될 수 있다. 컴퓨터 시스템(150)은 차량(102)의 I/O 디바이스(122)와 유사한 하나 이상의 I/O 디바이스(156), 예를 들어, 키보드, 디스플레이 모니터, 확성기 등을 포함할 수 있다. 위에서 언급한 바와 같이, 필터링된 맵은 수동 감독이 거의 또는 전혀 없이 자동화된 방식으로 생성될 수 있다. 특히, 필터링되지 않은 맵 또는 입력 맵에서 관련 없는 정보를 식별하고 제거하는 프로세스는 필터링되지 않은 맵의 수동 검토 없이 수행될 수 있다. 그러나, 필터링된 맵을 더욱 정제하기 위해(예를 들어, 제거할 하나 이상의 특징을 수동으로 지정함으로써) 또는 특징을 제거하는 컴퓨터 시스템(150)에 의한 결정을 무시하기 위해, 예를 들어, I/O 디바이스(156)를 사용하여 수동 입력이 제공될 수 있다.
맵 생성 시스템(152)은 하나 이상의 차량(102)으로부터의 센서 데이터를 사용하여 필터링되지 않은 맵을 생성하도록 구성될 수 있다. 센서 데이터는 통신 시스템(154)을 통해 제공될 수 있고, 예를 들어, 차량(102)이 지리적 영역 내에서 이동하는 동안 또는 차량(102)이 지리적 영역을 통과하는 주행을 완료한 후에, 하나 이상의 통신 네트워크(130)를 통해 전송될 수 있다. 맵 생성 시스템(152)은 하드웨어 및/또는 소프트웨어로 구현될 수 있고, 제거할 특징을 식별하기 위해 센서 융합을 수행할 수 있다. 맵 생성 시스템(152)에 의해 수행되는 센서 융합은 제거될 특징을 검출하고 분류하기 위해 상이한 유형의 센서 데이터(예를 들어, 카메라 이미지 및 LIDAR 포인트 클라우드)를 결합하는 것을 포함할 수 있다. 일부 구현에서, 필터링되지 않은 맵이 LIDAR 또는 레이더 센서의 3D 데이터를 사용하여 생성된 다음, 카메라 이미지 또는 다른 유형의 센서로부터의 데이터를 기반으로 필터링된다. 필터링되지 않은 맵을 필터링하는 과정의 일부로서 수행되는 센서 융합은 관련 없는 정보와 연관된 특징을 제거하는 것뿐만 아니라 유지되는 특징에 대한 더 많은 세부 사항을 포함하도록 필터링되지 않은 맵의 센서 데이터를 보강하는 것도 포함할 수 있다. 예를 들어, 카메라 이미지는 LIDAR 포인트 클라우드에 없는 색상 정보를 제공할 수 있다. 대안적으로, 여러 유형의 센서로부터의 센서 데이터의 산물로서 필터링되지 않은 맵을 생성하기 위해, 필터링 이전에 센서 융합이 수행될 수 있다.
일부 구현에서, 맵 생성 시스템(152)은 제거할 특징을 식별하기 위해 기계 학습을 적용하도록 구성된다. 예를 들어, 맵 생성 시스템(152)은 기계 학습 알고리즘을 실행하거나 훈련된 신경망을 사용하여 미리 정의된 카테고리 세트(사람, 나무, 도로, 차선, 차량 등)에 따라 센서 데이터에 표현된 객체를 분류하고 각 객체의 경계를 식별할 수 있다. 기계 학습 알고리즘 또는 신경망은 객체의 위치와 경계가 알려진 센서 데이터(예를 들어, 카메라 이미지 및/또는 LIDAR 포인트 클라우드)에 대한 지도 학습을 사용하여 사전 훈련될 수 있다. 대안적으로, 비지도 학습 기술을 사용할 수도 있다. 기계 학습 알고리즘 또는 신경망에 대한 입력은, 예를 들어, 동일한 위치를 나타내는 3D 표현 및 대응하는 2D 표현일 수 있다. 기계 학습 또는 신경망의 출력은 상이한 클래스의 객체와 그러한 객체의 경계를 나타내는 레이블이 지정되거나 분할된 3D 표현일 수 있다.
알고리즘적으로 수행되든 기계 학습을 통해 수행되든 필터링 프로세스는 먼저 3D 표현을 상이한 영역으로 분할하고 각각의 영역에 클래스 레이블을 할당하는 동작 시퀀스를 포함할 수 있다. 3D 표현을 분할한 후, 각각의 객체의 경계는 예를 들어 포인트 클라우드의 포인트 클러스터링을 기반으로 결정될 수 있다. 분할 및 객체 경계는 분할 및 분류될 수도 있는 2D 표현의 정보를 고려하여 결정될 수 있다. 이와 관련하여, 3D 표현은 2D 표현에서 사용할 수 없는 깊이 정보를 포함할 수 있는 반면, 2D 표현의 색상 정보는 서로 가까이 있는 객체(예를 들어, 다른 차량 뒤에 주차된 차량)를 더 쉽게 구별할 수 있도록 할 수 있다. 따라서, 2D 및 3D 표현(또는 일반적으로 상이한 센서 유형의 데이터)은 환경에 대한 보다 포괄적인 보기를 종합적으로 제공할 수 있다. 객체 경계는 클래스에 특정할 수 있다. 예를 들어, 상이한 모양을 가진 3D 경계 상자 템플릿이 2D 표현 및/또는 3D 표현의 분할된 영역을 맞추는 데 사용될 수 있다. 이러한 방식으로, 맵 생성 시스템(152)은 3D 표현의 객체에 대한 경계 상자 및/또는 2D 표현의 동일한 객체에 대한 대응하는 경계 상자를 결정할 수 있다.
검출된 객체에 대한 경계를 결정한 후, 맵 생성 시스템(152)은 필터링된 맵의 일부로서 포함하기 위한 출력 3D 표현을 생성하기 위해 3D 표현에서 제거할 하나 이상의 특징을 식별할 수 있다. 제거할 객체를 식별하기 위해, 맵 생성 시스템(152)은 하나 이상의 기준이 만족되는지 여부를 결정할 수 있다. 기준은, 예를 들어, if-then-else 문, case 문, 기타 프로그래밍 논리 또는 하드웨어 논리(예를 들어, 조합 논리 회로)를 사용하여 명시적으로 정의될 수 있다. 대안적으로, 기준은 기계 학습 모델의 훈련을 통해 기계 학습 모델의 파라미터(예를 들어, 신경망의 가중치)를 구성하도록 정의될 수 있다. 한 가지 기준은 특징이 하나 이상의 미리 정의된 카테고리 또는 객체 클래스에 속한다는 것일 수 있다. 예를 들어, 참조 특징으로 사용하기에 적합하지 않은 차량, 보행자, 나무 또는 기타 유형의 객체로 결정된 특징(예를 들어, 객체가 일시적이거나 모양이 변경될 수 있기 때문에)은 제거 후보로 선택될 수 있다. 참조 특징의 역할을 할 수 있으므로 유지될 수 있는 특징은 도로를 따라 있는 표지판이나 보드(예를 들어, 인근 출구의 위치를 나타내는 표지판), 도로 가장자리를 나타내는 융기된 연석, 건물 또는 기타 관심 지점, 장벽 또는 옹벽 등을 포함할 수 있다. 차선, 움직이는 객체, 보행자, 기타 차량(예를 들어, 승용차, 자전거, 트럭), 식물, 동물 등은 필터링될 수 있는 객체 클래스의 비포괄적 목록이다.
맵 생성 시스템(152)이 적용할 수 있는 또 다른 기준은 거리 임계값이다. 3D 표현을 위한 센서 데이터를 캡처한 차량(102)의 특정 거리 내에 있는 특징은 유지될 수 있다. 예를 들어, 20미터 떨어진 곳에 있는 나무는 제거될 수 있다. 반면, 5미터 떨어진 다른 차량은 유지될 수 있다. 따라서, 차량의 위치를 결정하는 데 불필요하다고 판단되는 모든 특징이 제거될 수 있는 것은 아니다. 필터링을 임계 거리를 초과하는 특징으로 제한하면 필터링된 맵을 생성하는 데 걸리는 시간을 줄일 수 있는데, 왜냐하면, 각각의 필터링된 맵은 잠재적으로 수많은 3D 표현을 포함할 수 있고, 각각의 3D 표현은 필터링된 맵에 의해 커버되는 지리적 영역 내의 상이한 위치에 있는 차량(102) 주변 환경의 "스냅샷"에 대응하기 때문이다.
위치를 결정하는 데 불필요한 특징을 필터링하기 위해 다른 기준을 적용할 수 있다. 예를 들어, 맵 생성 시스템(152)은 절대 속도, 감지를 수행하는 차량에 대한 상대 속도, 물리적 상태(예를 들어, 이동 또는 정지), 연령, 길이, 폭, 높이, 모양 등과 같은 검출된 객체의 속성과 관련된 하나 이상의 기준을 적용할 수 있다. 따라서, 필터링될 객체는 임계 속도 이상으로 이동하는 객체, 임계 연령 미만(시간 경과에 따라 동일한 위치에 대해 수집된 여러 세트의 센서 데이터 비교를 기반으로 검출 가능)의 객체, 임계 길이/폭/높이보다 작은 객체 또는 특정 모양 요구 사항을 충족하는 객체(예를 들어, 임계 개수 이상의 가장자리를 갖는 객체 또는 임계 곡률을 초과하는 가장자리를 갖는 객체)를 포함할 수 있다. 또 다른 예는 객체 분류에 대한 신뢰도이다. 일부 구현에서, 맵 생성 시스템(152)은 특징에 할당된 클래스 레이블이 특징에 대한 올바른 레이블일 가능성을 나타내는 신뢰도 값을 결정하도록 구성된다. 신뢰도 임계값 미만의 신뢰도 값을 갖는 객체는 거짓 양성 식별로 인한 제거를 피하기 위해 유지될 수 있다. 따라서, 맵 생성 시스템(152)은 특징이 이러한 기준을 만족할 때 특징을 필터링하기 위해 임의의 개수의 기준 또는 기준의 조합을 적용할 수 있다. 예를 들어, 맵 생성 시스템(152)은 특징이 다수의 기준 세트 내의 임의의 세트를 만족할 때 특징이 필터링되도록 다수의 기준 세트(예를 들어, 위에서 언급한 기준의 상이한 조합)로 구성될 수 있다.
컴퓨터 시스템(150)은 메모리(158)를 더 포함할 수 있다. 메모리(120)와 마찬가지로, 메모리(158)는 저장소 및/또는 작업 메모리를 포함할 수 있다. 메모리(158)는 맵 관련 기능을 제공하도록 구성된 소프트웨어 애플리케이션을 저장할 수 있다. 예를 들어, 맵 생성 시스템(152)은 맵을 생성하고 필터링하기 위해 메모리(158) 내의 프로그램 명령어를 실행하도록 구성된 하나 이상의 프로세서를 포함할 수 있다. 추가적으로, 메모리(158)는 맵 생성 시스템(152)에 대한 입력 및/또는 출력 데이터를 저장할 수 있다. 이러한 데이터는 필터 기준(160), 필터링된 맵(162), 또는 필터링되지 않은 맵(도시되지 않음)을 포함할 수 있다. 필터링된 맵(162)은 차량(102)으로의 후속 전송(예를 들어, 특정 차량으로부터의 요청 시 또는 여러 차량에 동시 방송 시)을 위해 저장될 수 있다.
도 2는 하나 이상의 실시예에 따른 필터링을 위한 입력으로 사용 가능한 2D 표현의 예를 도시한다. 도 2는 위치를 결정하는 능력에 부정적인 영향을 주지 않고 필터링될 수 있는 특징(도 3a 및 도 3b와 관련하여 설명됨)의 예를 설명하기 위해 제공된다. 도 2의 2D 표현은, 예를 들어, 차량(102)의 전면 카메라를 사용하여 캡처될 수 있는 카메라 이미지(200)이다. 이미지(200)는 컬러 이미지 또는 단색(예를 들어, 흑백 또는 회색조) 이미지일 수 있다. 도 2에 도시된 바와 같이, 이미지(200)는 두 방향의 교통과 양방향의 차량이 있는 다중 차선 도로를 따라 있는 장면을 나타낸다. 이미지(200) 내의 차량은 이미지(200)를 캡처한 차량의 전방에 있는 차량(예를 들어, 전방 차량(210)) 및 반대 방향으로 이동하는 차량(예를 들어, 다가오는 차량(220))을 포함한다. 이미지(200)는 도로 가장자리(250)(이 예에서는 융기된 연석으로 나타남), 차선 표시(260) 및 도로 측면을 따른 구조물(예를 들어, 건물(230) 및 도로 표지판(240))을 추가로 도시한다.
도 3a는 하나 이상의 실시예에 따른 필터링될 수 있는 3D 표현의 예를 도시한다. 도 3a의 3D 표현은, 예를 들어, 차량(102)(예를 들어, 이미지(200)를 캡처한 동일한 차량)의 LIDAR 센서를 사용하여 캡처될 수 있는 포인트 클라우드(300)이다. 이미지(200)를 포인트 클라우드(300)와 비교하면, 이들 두 표현은 동일한 장면을 나타내지만 동일하지 않은 관점에서 보여진다는 것을 알 수 있다. 예를 들어, 도 3a에 도시된 바와 같이, 포인트 클라우드(300)는 전방 차량(210)과 연관된 제1 포인트 세트, 다가오는 차량(220)과 연관된 제2 포인트 세트, 건물(230)과 연관된 제3 포인트 세트, 도로 표지판(240)과 연관된 제4 포인트 세트 및 도로 가장자리(250)와 연관된 제5 포인트 세트를 포함한다. 포인트 클라우드(300) 내의 포인트는 레이저 광의 측정이나 환경 내의 객체에서 반사된 레이더 신호를 기반으로 형성될 수 있다. 관점의 차이는 이미지(200) 및 포인트 클라우드(300)를 캡처한 센서가 상이한 시야를 갖고, 상이한 방향을 가리키고, 상이한 위치에 장착되고/되거나 센서 구성의 차이로 인해 발생할 수 있다. 포인트 클라우드(300)는 또한 지면 반사의 결과로 생성된 포인트에 대응하는 지면 반사(302)를 포함한다.
도 3b는 필터링된 포인트 클라우드(310)를 형성하기 위해 도 3a의 3D 표현을 필터링한 결과를 도시한다. 도 3a 및 도 3b를 비교하면, 필터링된 포인트 클라우드(310)는 상당히 적은 양의 포인트를 포함하고 있음을 알 수 있다. 예를 들어, 필터링된 포인트 클라우드(310)에는 전방 차량(210) 및 다가오는 차량(220)과 연관된 포인트가 존재하지 않는다. 그러나, 건물(230), 도로 표지판(240) 및 도로 가장자리(250)와 연관된 포인트는 남아 있다. 위에서 논의된 바와 같이, 필터링 프로세스는 제1 센서를 사용하여 캡처된 센서 데이터 내에서, 하나 이상의 기준을 만족하는 특징을 식별하기 위해 하나 이상의 기준을 적용하는 것을 포함할 수 있고, 제2 센서로부터의 센서 데이터의 도움으로 수행될 수 있다. 예를 들어, 필터링된 포인트 클라우드(310)는 이미지(200)에 포함된 정보에 기초하여 포인트 클라우드(300)를 필터링한 결과로서 생성될 수 있다. 포인트 클라우드(300)의 필터링은 포인트 클라우드(300)를 관련 포인트 그룹 또는 클러스터(예를 들어, 위에서 설명된 제1 내지 제5 포인트 세트)에 대응하는 상이한 영역으로 분할하고 각각의 포인트 그룹에 클래스 레이블을 할당한 후에 수행될 수 있다. 필터링된 포인트 클라우드(310)는 다른 필터링된 포인트 클라우드와 결합되어 필터링된 맵을 형성할 수 있으며, 예를 들어, 필터링된 포인트 클라우드(310)의 포인트와 도로의 상이한 부분을 나타내는 하나 이상의 추가적인 필터링된 포인트 클라우드의 포인트를 사용하여 도 3b에 도시된 동일한 도로의 확장된 구역의 3D 표현을 구성할 수 있다.
도 4는 실시예에 따른 필터링된 맵을 생성하기 위해 수행될 수 있는 동작 시퀀스(400)의 예를 도시한다. 도 4에 도시된 동작은 컴퓨터 시스템의 하나 이상의 프로세서, 예를 들어, 도 1의 맵 생성 시스템(152)을 구현하는 프로세서를 사용하여 수행될 수 있다. 동작 시퀀스(400)는 객체 검출 단계(410)에서 시작된다. 객체 검출 단계(410)는 다수의 센서로부터의 센서 데이터(402)를 사용하여 수행되는 센서 융합을 포함할 수 있다. 상이한 센서 유형의 센서 데이터(402), 예를 들어, LIDAR 포인트 클라우드의 데이터 및 카메라 이미지의 데이터는 함께 처리되어 센서 데이터 내의 특징을 하나 이상의 미리 정의된 객체 클래스에 속하는 객체인 것으로 식별할 수 있다. 예를 들어, 포인트 클라우드 내의 서로 임계 거리에 위치한 포인트 클러스터는 동일한 객체에 속하는 것으로 식별될 수 있다. 유사하게, 카메라 이미지 내의 동일하거나 유사한 색상/휘도를 갖는 픽셀은 동일한 객체에 속하는 것으로 식별될 수 있다. 객체 검출 단계(410)의 처리 결과로서 검출된 객체(412)는 경계 상자 생성 단계(420)에 입력된다.
경계 상자 생성 단계(420)에서, 한 세트의 경계 상자(422)를 생성하기 위해 각 객체(412) 주변에 경계 상자가 형성될 수 있다. 경계 상자(422)는 객체 검출 단계(410)에 입력으로 제공되는 센서 데이터(402)의 유형에 따라 2차원(2D 상자) 및/또는 3차원(3D 상자)으로 형성될 수 있다. 일부 구현에서, 경계 상자 생성은 2D 센서 데이터에만 적용된 다음 3D 센서 데이터의 대응하는 영역에 매핑되며, 예를 들어, 필터링 단계(430)에서의 후속 처리의 일부로서, 2D 센서 데이터를 사용하여 결정된 경계를 포인트 클라우드 내의 대응하는 포인트에 매핑한다. 경계 상자는 원하는 정밀도 수준에 따라 직사각형 또는 기타 기하학적 모양이 될 수 있다. 복잡한 모양의 경우, 검출된 객체에 가장 잘 맞는 경계 상자를 형성하기 위해, 미리 정의된 모양 템플릿(예를 들어, 세단 모양, 밴 모양, 트럭 모양 등)이 크기 조정이나 회전과 같은 하나 이상의 기하학적 변환을 사용하여 적용될 수 있다.
경계 상자(422)는 필터링되지 않은 맵 데이터(424)와 함께 필터링 단계(430)에 입력된다. 필터링되지 않은 맵 데이터(424)는 필터링될 맵에 대응하고, 센서 데이터(402)에 표현된 동일한 환경의 3D 표현을 포함할 수 있다. 일부 구현에서, 필터링되지 않은 맵 데이터(424)는 센서 데이터(402)의 서브세트, 예를 들어, 동일한 LIDAR 포인트 클라우드를 포함한다. 그러나, 객체 검출 단계(410)에 입력되는 데이터와 필터링 단계(430)에 입력되는 데이터는 중첩될 수도 있고 그렇지 않을 수도 있다. 예를 들어, 필터링될 포인트 클라우드를 사용하지 않고 객체 검출 단계(410)가 수행될 수 있다. 필터링 단계(430)는 대응하는 경계 상자(422)에 의해 정의된 객체(412) 중 어느 것이 필터링되지 않은 맵 데이터(424)에서 제거되어야 하는지를 결정하는 것을 포함한다. 위에서 논의된 바와 같이, 필터링은 하나 이상의 기준을 만족하는 객체를 식별하는 것을 포함할 수 있으며, 여기서 하나 이상의 기준은 위치 결정에 불필요한 객체를 구별하기 위한 기초를 제공한다. 이러한 객체를 제거하면 필터링된 맵에 통합될 수 있는 필터링된 맵 데이터(432)가 생성된다. 예를 들어, 필터링된 맵 데이터(432)는 도 3b의 필터링된 포인트 클라우드(310)에 대응할 수 있다.
필터링 단계(430)는 다수의 필터링 단계를 포함할 수 있다. 예를 들어, 초기 필터링 단계는 지면 반사(예를 들어, 도 3a의 지면 반사(302)) 및 움직이는 객체(예를 들어, 전방 차량(210) 및 다가오는 차량(220))를 제거할 수 있다. 예를 들어, 포인트 모션 분류를 통해 모션을 검출하여 캡처 차량과 상이한 방향으로 이동하거나 상이한 양(예를 들어, 거리)만큼 이동하는 포인트 그룹을 식별할 수 있다. 지면 반사 및 움직이는 객체를 제거한 후, 나머지 객체(경계 상자(422)의 일부 또는 전부와 연관됨)는 하나 이상의 객체 클래스(차량, 보행자, 동물 등)에 속하고 하나 이상의 기준을 사용하여 객체 기반 필터링을 통해 제거될 수 있는 정적이고 움직이지 않는 객체인 것으로 식별될 수 있다. 예를 들어, 초기 필터링은 움직이는 차량을 필터링할 수 있고, 객체 기반 필터링은 정지해 있거나 주차된 차량을 필터링할 수 있다. 위에서 설명된 바와 같이, 필터 기준의 한 예는 임계 거리이다. 임계 거리는 하나 이상의 기준을 만족하는 특징이 그럼에도 불구하고 유지되는 관심 영역을 정의할 수 있다. 예를 들어, 필터링은 임의의 방향에서 적어도 15미터 떨어진 곳에 위치한 특징으로 제한될 수 있다. 다단계 필터링을 위한 프로세스의 예가 아래에 설명된 도 8에 도시된다.
필터링된 맵 데이터(432)는 차량 주변 환경의 순간 스냅샷에 대응하는 3D 표현(예를 들어, 3D 포인트 그리드)을 포함한다. 완전한 필터링된 맵을 생성하기 위해, 필터링된 맵 데이터(432)의 다수의 세트가 결합될 수 있어, 예를 들어, 필터링된 맵 데이터(432)의 각각의 세트는 지리적 영역을 나타내는 전체 3D 볼륨 내에서 별도의 3D 슬라이스를 형성할 수 있다.
도 5a는 환경의 3D 표현에 적용된 경계 상자의 예를 도시한다. 기본 데이터는 3차원이지만, 도 5a는 환경의 오버헤드 뷰에 해당하므로 2D 좌표계를 사용하여 표시되며, 여기서 가로(x) 축은 미터 단위의 횡방향 거리를 나타내고, 세로(y) 축은 미터 단위의 종방향 거리를 나타낸다. 도 5a의 거리는 3D 표현을 캡처한 차량(520)에 대한 것이다. 따라서, 차량(520)은 2차원 좌표계의 원점(0, 0)에 위치하게 된다. 도 5a의 예에서, 3D 표현은 경계 상자(510A, 510B, 510C, 510D) 주변에 포인트가 흩어져 있는 포인트 클라우드이다. 경계 상자(510A-D)는 차량(520) 주변의 다른 차량을 나타낸다. 포인트 클라우드는 도로 가장자리(550)와 같은 환경 내의 다른 물리적 특징과 연관된 포인트를 더 포함한다. 도 5a에 도시된 바와 같이, 경계 상자(510)에 의해 표현된 각각의 객체에는 고유 식별자(ID)가 할당될 수 있다.
도 5b는 도 5a의 3D 표현을 필터링하는 예를 도시한다. 도 5b는 필터링을 수행한 후에 남아 있는 포인트를 포함한다. 도 5b에 도시된 바와 같이, 경계 상자(510A, 510B, 510C)와 연관된 포인트는 없다. 이는 제거할 경계 상자(510A, 510B, 510C)에 대응하는 객체를 식별한 결과이다. 그러나, 관련 없는 포인트(530A, 530B, 540) 외에도 도로 가장자리(550)와 연관된 포인트가 존재한다. 관련 없는 포인트(530A 및 530B)는 노이즈 또는 아티팩트에 해당할 수 있으며 제거될 객체 클래스에 속하는 것으로 레이블이 지정되지 않았지만 선택적으로 추가 필터링을 통해 제거될 수 있으며 차량의 위치를 결정하는 데 큰 영향을 미치지 않는다. 관련 없는 포인트(540)도 위치 결정에 큰 영향을 미치지 않고, 경계 상자(510D)에 대응하는 차량과 연관된 포인트를 나타내며, 제거될 객체 클래스(예를 들어, 다른 차량)에 속함에도 불구하고 제거 기준으로 15미터의 임계 거리를 적용한 결과로서 남아 있다. 위에서 논의된 바와 같이, 처리 시간을 줄이기 위해 임계 거리 내에 있는 특징은 유지될 수 있다. 이 예에서, 포인트(540)는 차량(520)의 15미터 내에 있는 반면, 경계 상자(510A, 510B, 510C) 주변의 포인트는 모두 15미터 너머에 위치한다.
도 6은 실시예에 따른 필터링된 맵을 생성하고 사용하는 프로세스(600)의 흐름도이다. 프로세스(600)는 제1 차량(A), 제2 차량(B) 및 컴퓨터 시스템(예를 들어, 컴퓨터 시스템(150))에 의해 수행될 수 있다. 602에서, 차량 A는 경로를 따라 이동하는 동안 센서 데이터를 캡처한다. 센서 데이터는 차량 A에 탑재된 제1 센서를 사용하여 캡처되며, 예를 들어, LIDAR 또는 레이더 센서를 사용하여 캡처된 포인트 클라우드와 같은 3D 표현을 포함할 수 있다. 센서 데이터는 차량 A에 탑재된 제2 센서, 예를 들어, 카메라, 레이더 센서 또는 다른 LIDAR 센서를 사용하여 캡처된 데이터를 더 포함할 수 있다. 제2 센서는 3D 표현을 필터링하는 데 사용할 수 있는 데이터를 캡처하는 참조 센서로 동작한다. 제2 센서에 의해 캡처된 데이터는 제1 센서에 의해 캡처된 데이터와 동시에 캡처될 수 있고, 동일한 장면(예를 들어, 경로를 따른 도로의 동일한 부분)을 나타낼 수 있다. 경로는 매핑되는 지리적 영역을 통해 연장되고, 지리적 영역의 하나 이상의 운전 가능한 부분, 예를 들어, 하나 이상의 거리, 고속도로, 교량 등을 포함한다. 경로는 미리 계획될 수도 있으며, 경우에 따라 차량 A의 운전자가 이동 시 선택한 경로일 수도 있다. 도 2 및 도 3a에 도시된 바와 같이, 센서 데이터는 임의의 주어진 시간에 캡처 차량 주변 환경의 순간적인 표현을 포함할 수 있다. 602에서 캡처된 센서 데이터는 상이한 시간에 캡처되고 경로의 상이한 부분을 나타내는 2D 및/또는 3D 표현의 여러 세트를 포함할 수 있다.
604에서, 차량 A는 캡처된 센서 데이터를 컴퓨터 시스템에 전송한다. 센서 데이터는, 예를 들어, 경로를 따라 이동하는 동안 또는 경로를 완료한 직후에, 무선 통신을 사용하여 실질적으로 실시간으로 전송될 수 있다. 대안적으로, 센서 데이터는 차량 A의 메모리에 저장될 수 있고, 차량 A가 유선으로 컴퓨터 시스템에 통신 가능하게 결합될 수 있을 때 유선 연결을 사용하여 컴퓨터 시스템에 업로드될 수 있다.
606에서, 컴퓨터 시스템은 센서 데이터를 사용하여 필터링되지 않은 맵을 생성한다. 필터링되지 않은 맵은 차량 A가 이동한 전체 경로의 3D 표현을 포함할 수 있고, 예를 들어, 경로를 따라 취해진 포인트 클라우드 또는 다른 3D 표현의 세트를 결합하여 생성될 수 있다.
608에서, 컴퓨터 시스템은 관련 없는 정보를 제거하기 위해 하나 이상의 기준에 기초하여 맵을 필터링한다. 필터링은 하나 이상의 기준을 만족하는 특징을 제거하고, 예를 들어, 도 4에 도시된 프로세스에 따라 수행될 수 있다. 따라서, 608의 기능은 제1 센서를 사용하여 캡처된 제1 표현(예를 들어, 카메라 이미지)을 분할하여 제1 표현의 하나 이상의 영역이 잠재적으로 제거될 수 있는 객체 클래스에 대응하는지 결정한 다음, 하나 이상의 영역 각각에 대한 경계 상자를 결정하는 것을 포함할 수 있다. 608의 기능은 필터링된 맵에 포함하기 위한 필터링된 맵 데이터를 생성하기 위해 제2 센서를 사용하여 캡처된 제2 표현(예를 들어, LIDAR 포인트 클라우드)으로부터 제거될 특징과 어떤 경계 상자가 연관되어 있는지 결정하기 위해 하나 이상의 기준을 적용하는 것을 더 포함할 수 있다. 필터링 프로세스는 차량 A가 이동하는 전체 경로에 대한 필터링된 맵 데이터를 생성하기 위해 표현들의 대응하는 세트(예를 들어, 경로의 동일한 부분을 나타내는 카메라 이미지 및 포인트 클라우드)에 대해 반복될 수 있다.
610에서, 컴퓨터 시스템은 컴퓨터 시스템에서 액세스 가능한 메모리, 예를 들어, 로컬 메모리 또는 외부 서버에 필터링된 맵을 저장한다. 컴퓨터 시스템은 필터링된 맵을 차량 B에서 사용할 수 있도록 한다. 예를 들어, 필터링된 맵은 저장소로부터 판독되어 차량 B 및 컴퓨터 시스템과 통신하는 다른 차량에 방송되거나 차량 B로부터의 요청(612에서)에 대한 응답으로 전송될 수 있다. 일부 경우에, 필터링된 맵은 동일한 경로 또는 인근의 추가 경로를 이동하는 다른 차량에 의해 제공된 추가 센서 데이터를 포함할 수 있다. 예를 들어, 차량 A는 지리적 영역의 상이한 부분을 매핑하는 작업을 수행하는 차량 집합의 일부일 수 있다. 추가 센서 데이터는 차량 A에 의해 캡처된 센서 데이터와 동일한 방식으로 필터링될 수 있다.
612에서, 차량 B는 컴퓨터 시스템에 맵 데이터를 요청한다. 612에서의 요청은 맵 데이터가 요청되는 위치를 나타낼 수 있으며, 예를 들어, 지리적 영역은 차량 A가 이동하는 경로를 포함할 수 있다. 요청에 표시된 위치는 다양한 수준의 특수성으로 지정될 수 있다. 예를 들어, 요청은 차량 B의 마지막으로 알려진 또는 추정된 좌표를 포함하고/하거나 지리적 영역 또는 지리적 영역 내의 하위 영역을 이름으로 식별할 수 있다. 612에서의 요청은 무선 연결(예를 들어, 셀룰러, Wi-Fi 또는 WiMax 연결) 및 하나 이상의 통신 네트워크를 통해 전송될 수 있다. 612에서의 요청은 필터링된 맵 또는 그 관련 부분이 차량 B가 필터링된 맵에 표시된 위치에 도착하기 직전에, 예를 들어, 차량이 그 위치에 도착하기 몇 초 또는 몇 분 전에, 차량 B에 의해 수신되도록 시간이 정해질 수 있다.
614에서, 컴퓨터 시스템은 612에서의 요청에 응답하여, 예를 들어, 요청(612)이 전송된 것과 동일한 무선 연결을 통해, 필터링된 맵을 차량 B에 전송한다. 전송될 데이터의 양에 따라, 컴퓨터 시스템은 필터링된 맵의 전부 또는 일부를 전송할 수 있다. 아래에 설명된 도 10a 내지 도 10c는 차량이 차량 주변 로컬 영역과 관련된 맵 데이터의 증분 업데이트를 수신하도록 시간 경과에 따라 차량에 의해 다운로드되는 필터링된 맵 데이터의 예를 도시한다.
616에서, 차량 B는 차량 A가 이동한 것과 동일한 경로를 따라 이동하는 동안 센서 데이터를 캡처한다. 차량 B는 반드시 602에서 차량 A가 이동한 경로와 동일한 경로를 이동하는 것은 아니다. 그러나, 616에서 캡처된 센서 데이터는 경로를 따라 동일한 위치의 하나 이상의 표현을 포함한다는 점에서 602에서 캡처된 센서 데이터와 중첩된다. 특히, 616에서 캡처된 센서 데이터는 차량 B의 현재 주변 환경에 대한 표현을 포함할 수 있으며, 현재 주변 환경은 614에서 차량 B에 의해 수신된 맵 데이터에도 표현된다. 따라서, 616에서 캡처된 센서 데이터를 필터링된 맵의 데이터와 비교함으로써, 차량 B가 어디에 위치하는지 결정할 수 있다.
618에서, 차량 B는 필터링된 맵의 데이터를 616에서 캡처된 센서 데이터와 비교하여 차량 B의 위치를 결정한다. 618에서의 비교는 필터링된 맵에 포함된 하나 이상의 매칭 특징을 식별하여 매칭 특징(들)의 존재에 기초하여 차량 B가 현재 차량 A가 이전에 이동한 경로를 따라 특정 위치에 있다는 것을 결정하는 것을 포함할 수 있다. 예를 들어, 도 3b를 참조하면, 차량 B는 도로 표지판(240)과 도로 가장자리(250)를 나타내는 포인트 클라우드를 가능하면 약간 다른 관점에서 캡처할 수 있다. 관점의 차이는 센서 구성(예를 들어, 차량 A의 LIDAR 센서와 다른 높이에 장착된 차량 B의 LIDAR 센서), 차량 위치(예를 들어, 차량 A가 이동했던 차선과 다른 차선으로 이동하는 차량 B) 및/또는 기타 요인에 기인할 수 있다. 도로 표지판(240), 도로 가장자리(250) 및/또는 차량 B가 캡처한 포인트 클라우드 내의 다른 특징의 상대적 위치를 비교함으로써, 차량 B는 이러한 특징이 필터링된 포인트 클라우드(310)에 포함된 특징에 매칭하므로 차량 B의 현재 위치가 필터링된 포인트 클라우드(310)에 나타난 위치라고 결정할 수 있다.
도 7은 실시예에 따른 필터링된 맵을 생성하는 프로세스(700)의 흐름도이다. 프로세스(700)는 컴퓨터 시스템(150)과 같은, 하나 이상의 차량으로부터 센서 데이터를 수신하도록 구성된 컴퓨터 시스템의 하나 이상의 프로세서에 의해 수행될 수 있다. 702에서, 컴퓨터 시스템은, 제1 차량(예를 들어, 도 6의 차량 A)의 제1 센서에 의해 캡처된 센서 데이터에 기초하여, 제1 차량이 이동한 경로의 3D 표현에 대응하는 입력 맵을 생성한다. 702의 기능은 필터링되지 않은 또는 "원시" 맵을 입력 맵으로 생성하기 위해 도 6의 606과 관련하여 설명된 처리에 따라 구현될 수 있다.
704에서, 컴퓨터 시스템은 하나 이상의 기준에 기초하여, 필터링된 맵을 생성하기 위해 입력 맵을 필터링한다. 704의 기능은 도 6의 608과 관련하여 설명된 처리에 따라 구현될 수 있고, 예를 들어, 도 4에 도시된 필터링 프로세스를 사용하여 구현될 수 있다. 따라서, 704에서의 필터링은 하나 이상의 기준을 만족하는 특징을 자동으로 제거하는 것을 포함할 수 있다. 위에서 설명된 바와 같이, 위치 결정에 불필요한 특징과 연관된 속성에 대응하도록 기준을 선택할 수 있다. 하나 이상의 기준을 만족하는 특징은 필터링된 맵을 참조하여 제2 차량(예를 들어, 도 6의 차량 B)의 위치를 결정하는 것과 무관한 객체에 해당할 수 있다.
706에서, 컴퓨터 시스템은 필터링된 맵을 제2 차량에 전송한다. 컴퓨터 시스템은, 예를 들어, 도 1의 필터링된 맵(162)의 일부로서, 전송 전에 필터링된 맵을 저장할 수 있다. 제2 차량이 필터링된 맵을 수신한 후, 필터링된 맵은 제2 차량이 동일한 경로를 따라 이동하는 동안 제2 차량의 위치를 결정하기 위해 제2 차량의 내비게이션 시스템에 의해 처리될 수 있다. 도 6의 618과 관련하여 위에서 설명된 바와 같이, 제2 차량에 의한 처리는 하나 이상의 매칭 특징을 식별하기 위해 제2 차량의 센서에 의해 캡처된 센서 데이터를 필터링된 맵의 데이터와 비교하는 것을 포함할 수 있다.
필터링된 맵은 706단계에서 전송된 후 업데이트될 수 있다. 필터링된 맵의 업데이트는 동일한 경로를 통한 후속 주행 중에 캡처된 센서 데이터를 기반으로 할 수 있다. 후속 주행은 차량 A 또는 컴퓨터 시스템과 통신하는 다른 차량에 의해 수행될 수 있다. 예를 들어, 필터링된 맵의 업데이트는 제2 차량에 의해 캡처된 센서 데이터를 기반으로 수행될 수 있다. 컴퓨터 시스템은 후속 주행 중에 캡처된 센서 데이터를 비교하여 필터링된 맵에 중요한 변화, 예를 들어, 현재 장벽으로 막혀 있는 도로, 트래픽 콘으로 표시된 차선 전환, 우회로 등이 있는지 여부를 결정할 수 있다. 일부 구현에서, 필터링된 맵의 업데이트는 변화의 자동 선택을 선택하거나 확인하기 위한 수동 입력을 포함할 수 있다. 필터링된 맵을 업데이트하는 데 사용되는 센서 데이터의 필터링은 필터링된 맵이 처음 생성될 때와 동일한 자동화된 방식으로 수행될 수 있다.
도 8은 실시예에 따른 입력 맵을 필터링하는 프로세스(800)의 흐름도이다. 프로세스(800)는 도 7의 블록(704)의 기능을 구현하기 위해 컴퓨터 시스템의 하나 이상의 프로세서에 의해 수행될 수 있다. 802에서, 컴퓨터 시스템은 제1 차량의 센서 데이터를 사용하여 생성된 입력 맵 내의 특징을 식별한다. 802에서 식별된 특징은 지면 반사 및/또는 움직이는 객체에 대응한다. 도 4와 관련하여 위에서 설명된 바와 같이, 움직이는 객체는 캡처 차량(여기서는 제1 차량)과 상이한 방향 또는 상이한 양만큼 움직이는 포인트 그룹을 식별하기 위해 포인트 모션 분류를 사용하여 검출될 수 있다. 필터링된 맵 내의 검출된 도로 경계 또는 운전 가능한 표면을 기반으로 지면을 정의하여 지면 반사를 식별할 수 있다. 지면에 위치하고 객체로 분류되지 않은 포인트 또는 특징은 지면 반사로 식별될 수 있다. 지면 반사를 식별하기 위한 다른 기술이 사용될 수도 있다.
804에서, 컴퓨터 시스템은 지면 반사 및/또는 움직이는 객체에 대응하는 것으로 802에서 식별된 특징을 제거하기 위해 제1 필터링 동작을 수행한다. 제1 필터링 동작은 입력 맵보다 적은 정보(예를 들어, 더 적은 포인트)를 포함하지만 추가 필터링될 수 있는 부분적으로 필터링된 맵을 생성한다. 제1 필터링 동작은 객체 분류에 의존하지 않고도 불필요한 것으로 식별될 수 있는 특징을 제거하기 위해 수행된다. 객체 분류는 지면 반사 또는 움직이는 객체를 식별하는 것에 비해 계산 비용이 많이 들 수 있으므로, 제1 필터링 동작은 객체 기반 필터링이 적용되는 데이터의 양을 줄여 처리 시간을 단축할 수 있다.
806에서, 컴퓨터 시스템은 하나 이상의 클래스에 속하는 객체에 대응하는 입력 맵 내의 특징을 식별한다. 예를 들어, 806에서 식별된 특징은 차량인 것으로 레이블이 지정된 경계 상자와 연관된 포인트를 포함할 수 있다. 대안적으로 또는 추가적으로, 컴퓨터 시스템은 제1 차량으로부터 임계 거리 너머에 있는 특징을 식별한다. 하나 이상의 클래스에 속하는 객체에 대응하는 특징을 식별하는 것은 하나 이상의 객체 클래스를 필터 기준으로 사용하여, 객체 기반 필터링의 일부로서 수행될 수 있다. 임계 거리 너머에 있는 특징을 식별하는 것은 임계 거리를 필터 기준으로 사용하여, 거리 기반 필터링의 일부로서 수행될 수 있다. 예를 들어, 15미터의 임계 거리는 횡방향 또는 종방향으로 15미터 이상 떨어진 특징이 제거를 위해 식별되도록 직사각형 관심 영역을 정의하는 데 사용될 수 있다.
808에서, 컴퓨터 시스템은 806에서 식별된 특징을 제거하기 위해 제2 필터링 동작을 수행한다. 제2 필터링 동작은 필터링된 맵을 생성한 다음 제2 차량에 전송할 수 있다.
도 9는 실시예에 따른 필터링된 맵을 차량에 전송하는 프로세스(900)의 흐름도이다. 프로세스(900)는 컴퓨터 시스템(150)과 같은, 차량과 통신하는 컴퓨터 시스템의 하나 이상의 프로세서에 의해 수행될 수 있다. 프로세스(900)는 필터링된 맵을 생성하는 컴퓨터 시스템과 동일하거나 상이한 컴퓨터 시스템에 의해 수행될 수 있다. 902에서, 컴퓨터 시스템은 차량으로부터 맵 데이터에 대한 요청을 수신한다. 요청은 하나 이상의 통신 네트워크, 예를 들어, 4G 또는 5G 셀룰러 네트워크를 통해 무선으로 전송될 수 있다. 요청은 차량이 GNSS 기반 내비게이션에서 센서 기반 내비게이션으로 전환하는 것과 관련하여 전송될 수 있다. 예를 들어, 요청은 차량이 GPS 위성으로부터 신호를 수신 및/또는 디코딩할 수 없는 경우 전송될 수 있다. 맵 데이터에 대한 요청은 반드시 센서 기반 내비게이션으로의 전환과 관련하여 발생할 필요는 없다. 예를 들어, 902에서의 요청은 GPS 기반 내비게이션 중에 발생할 수도 있고, 내비게이션 지원 없이 주행하는 중에도 발생할 수 있으므로, 향후 차량이 필터링된 맵을 사용해야 하는 경우에 필터링된 맵을 사용할 수 있다.
904에서, 컴퓨터 시스템은 요청에 포함된 위치 정보에 기초하여 필터링된 맵의 영역을 식별한다. 위치 정보는 차량의 대략적인 위치에 대응할 수 있다. 예를 들어, 902에서의 요청은 차량의 마지막으로 알려진 또는 추정된 좌표(예를 들어, GNSS 기반 포지셔닝 방법을 사용하여 결정된 가장 최근 위치)를 포함할 수 있다. 대안적으로 또는 추가적으로, 요청은 이름(예를 들어, 거리 또는 도시 이름)으로 영역을 지정할 수 있다. 영역은 차량 전방 영역, 예를 들어, 차량의 현재 궤적을 기반으로 차량이 도달할 것으로 예상되는 영역을 포함할 수 있다. 영역은 차량이 이미 지나간 영역을 더 포함할 수 있다. 일부 구현에서, 필터링된 맵은 각각의 영역이 3D 그리드 내의 각각의 타일(직사각형 블록)에 대응하도록 2차원(예를 들어, 위도 및 경도)을 따라 상이한 영역으로 분할되는 3D 맵(예를 들어, 3D 포인트 그리드)이다. 따라서, 904에서 식별된 영역은 필터링된 맵에 표시된 지리적 영역의 일부를 커버하는 하나 이상의 타일을 포함할 수 있다.
906에서, 컴퓨터 시스템은 904에서 식별된 영역에 대한 필터링된 맵 데이터를 차량에 전송한다. 필터링된 맵 데이터는 위에서 언급한 3D 그리드 내의 하나 이상의 타일에 대한 데이터를 포함할 수 있다. 예를 들어, 필터링된 맵은 PCD(Point Cloud Data; 포인트 클라우드 데이터) 형식일 수 있으므로, 906에서의 전송은 하나 이상의 타일에 대한 데이터를 포함하는 하나 이상의 PCD 파일(예를 들어, 각 타일에 대한 별도의 PCD 파일)을 전송하는 것을 포함한다. 프로세스(900)는 필터링된 맵의 다른 영역이 식별되어 차량에 전송되도록 맵 데이터에 대한 후속 요청을 가지고 블록(902)으로 돌아갈 수 있다. 이러한 방식으로, 차량은 필터링된 맵 데이터를 주기적으로(예를 들어, 몇 초 또는 몇 분마다) 수신할 수 있다. 필터링은 전체 맵 크기를 줄일 수 있으므로 필터링된 맵은 더 짧은 지연 시간으로 차량에 전송될 수 있다. 맵 크기의 감소는, 예를 들어, 매칭할 포인트나 특징이 적기 때문에 차량의 위치를 결정하는 데 걸리는 시간도 줄일 수 있다.
도 10a 내지 도 10c는 일부 실시예에 따른 일정 기간에 걸쳐 수신되는 필터링된 맵(1000)의 예를 도시한다. 필터링된 맵(1000)은 정사각형 또는 직사각형 타일로 분할된 3D 그리드이다. 각 타일은 필터링된 맵의 상이한 세그먼트를 나타내고, 커버되는 지리적 영역 내의 특징에 대응하는 하나 이상의 포인트를 포함할 수 있다. 예를 들어, 도로(1010)의 윤곽은 도로의 가장자리를 따라 위치한 포인트로 표시된다. 도 10a 내지 도 10c에 도시된 바와 같은 필터링된 맵(1000)은 시간 경과에 따른 차량의 위치 변화에 기초하여 맵 데이터가 차량에 어떻게 사용 가능하게 될 수 있는지를 설명하기 위한 것이다. 필터링된 맵(1000)은 차량 운전자에게 표시될 수 있지만, 표시는 선택사항이다.
도 10a에서, 필터링된 맵(1000)은 동심원 링(1002)과 함께 도시되어 있다. 링(1002)은 차량의 현재 위치를 중심으로 한다. 가장 바깥쪽 링은 차량에 탑재된 센서(예를 들어, LIDAR 센서)의 최대 검출 범위를 나타낸다. 도 10a에 도시된 바와 같이, 필터링된 맵(1000)은 차량의 현재 위치에 있는 도로(1010)의 일부뿐만 아니라 센서의 최대 검출 범위를 넘어 차량이 향하고 있는 영역(1020)에 위치한 도로의 다가오는 부분도 포함하는 지리적 영역을 커버한다. 따라서, 도 10a에 표시된 시점에서, 차량은 영역(1020)까지 포함하는 지리적 영역을 커버하는 사용 가능한 맵 데이터를 가질 수 있다. 그러나, 영역(1020) 너머에 있는 영역(예를 들어, 도로(1010)의 더 먼 구역에 대응하는 타일)에 대한 맵 데이터는 사용 가능하지 않을 수 있다. 필터링된 맵(1000)의 일부 부분의 불가용성은 대역폭 제약 및/또는 필터링된 맵(1000)의 데이터 크기의 결과일 수 있다. 대역폭이 제한되어 있거나 필터링된 맵의 크기가 필터링된 맵을 한꺼번에 전송하는 것이 불가능한 경우에, 필터링된 맵은 대신 조각으로 차량에 전송될 수 있다.
도 10b에서, 차량에 의해 수신된 필터링된 맵(1000)에 새로운 타일(추가 맵 세그먼트(1030))이 추가되었다. 도 10b에 도시된 바와 같이, 차량은 이제 도 10a보다 영역(1020)에 더 가깝다. 추가 맵 세그먼트(1030)는, 예를 들어, 차량이 차량의 현재 위치로부터 특정 거리까지 떨어진 타일에 대한 맵 데이터를 갖도록 차량의 현재 위치를 기반으로 전송을 위해 선택되었을 수 있다. 도 10b는 또한 새로운 타일이 현재 이동 경로 주변의 영역, 예를 들어, 도로(1010)를 커버하는 타일로 제한될 수 있음을 보여준다.
도 10c는 차량이 추가 맵 세그먼트(1030)에 의해 표현되는 영역에 위치하는 시점의 필터링된 맵(1000)의 또 다른 보기를 도시한다. 도 10c에 도시된 바와 같이, 필터링된 맵(1000)은 도로(1010)가 2개의 분기로 분할되는 것을 보여주는 포인트를 포함하고, 차량은 우측의 분기에 위치한다. 2개의 분기는 또한 도 10b에 도시되어 있다.
도 11은 필터링된 맵(1100)의 예를 도시한다. 필터링된 맵(1100)은 도 10a 내지 도 10c의 필터링된 맵(1000)에 비해 더 가까운 관점에서 도시되며, 예를 들어, 필터링된 맵(1000)의 타일 중 하나의 확대 보기에 대응할 수 있다. 도 11은 차량의 위치를 결정하기 위해 차량의 센서에 의해 캡처된 대응하는 특징과 매칭하기 위해 사용될 수 있는 특징의 예를 설명하기 위해 제공된다. 필터링된 맵(1100)은 제1 방향(1110)의 차선과 반대 방향(1120)의 차선을 포함하는 다차선 도로를 도시한다. 개별 차선은 표시되지 않는다. 대신, 도로는 양방향(1110 및 1120)을 따라 도로의 가장자리를 표시하는 포인트 모음으로 나타난다. 제1 방향(1110)을 따라 도로 측면에 인접한 나무(1112) 및 반대 방향(1120)을 따라 도로 측면에 인접한 나무(1114)가 표시된다. 나무(1112, 1114)는 위에서 논의된 바와 같이 임계 거리를 적용한 후 남은 포인트에 대응할 수 있다. 나무(1112, 1114)는 위치 결정에 불필요하며, 실제로 시간 경과에 따른 외관 변화(예를 들어, 계절별 나뭇잎)로 인해 매칭이 어려울 수 있다. 그러나, 차량의 위치는, 예를 들어, 도로 가장자리와 매칭하여 결정될 수 있다. 차량 위치를 결정하기 위해 매칭될 수 있는 다른 특징은, 예를 들어, 머리 위 표지판(1140) 및 장벽/벽(1130)을 포함할 수 있다.
도 12는 실시예에 따른 필터링된 맵을 업데이트하는 프로세스(1200)의 흐름도이다. 프로세스(1200)는 컴퓨터 시스템(150)과 같은, 필터링된 맵에 대한 액세스를 갖는 컴퓨터 시스템의 하나 이상의 프로세서에 의해 수행될 수 있다. 프로세스(1200)는 필터링된 맵을 생성하는 동일한 컴퓨터 시스템에 의해 수행되는 것으로 설명된다. 그러나, 업데이트는 별도의 컴퓨터 시스템에 의해 수행될 수 있다. 1202에서, 컴퓨터 시스템은 제1 차량이 경로를 따라 이동하는 동안 제1 차량의 하나 이상의 센서에 의해 캡처된 센서 데이터를 사용하여 입력 맵을 생성한다.
1204에서, 컴퓨터 시스템은 하나 이상의 기준에 기초하여, 제1 필터링된 맵을 생성하기 위해 입력 맵을 필터링한다. 1202 및 1204의 기능은 도 7의 블록(702 및 704)과 관련하여 설명된 처리를 사용하여 구현될 수 있다. 그러나, 도 7의 예와 달리, 1204에서의 제1 필터링된 맵은 맵의 초기 인스턴스가 아닌 기존 맵을 업데이트하는 데 사용된다. 기존 맵은 동일한 경로를 따라 이동하는 동안 제1 차량 또는 다른 차량에 의해 캡처된 센서 데이터를 사용하여, 제1 필터링된 맵과 유사한 방식으로 생성된 제2 필터링된 맵이다. 따라서, 제1 필터링된 맵 및 제2 필터링된 맵은 커버되는 지리적 영역에 대해 적어도 부분적으로 중첩된다. 그러나, 제1 필터링된 맵은 제2 필터링된 맵에 의해 커버되는 영역보다 더 크거나 더 작은 영역을 커버할 수 있다. 예를 들어, 제2 필터링된 맵이 도 10a의 필터링된 맵(1000)인 경우, 제1 필터링된 맵은 단지 몇 개의 타일(예를 들어, 영역(1020)) 또는 심지어 단일 타일의 일부만을 커버할 수 있다.
1206에서, 컴퓨터 시스템은 제1 필터링된 맵과 제2 필터링된 맵 간의 차이를 식별한다. 차이를 식별하는 것은 제1 필터링된 맵의 포인트 또는 특징을 제2 필터링된 맵의 대응하는 포인트 또는 특징과 비교하는 것을 포함할 수 있다. 이는 차량 위치 결정의 일부로서 수행되는 매칭과 유사한 방식으로 수행될 수 있다. 비교를 통해 컴퓨터 시스템은 제1 필터링된 맵 및 제2 필터링된 맵 모두에 표시되는 영역을 식별할 수 있다. 또한, 비교를 통해 컴퓨터 시스템은 이러한 공통/중첩 영역이 제2 필터링된 맵의 시간에서 제1 필터링된 맵의 시간으로 변경된 정도를 결정할 수 있다.
1208에서, 컴퓨터 시스템은 1206에서 식별된 차이에 기초하여 제2 필터링된 맵을 업데이트한다. 모든 차이가 제2 필터링된 맵의 업데이트를 보장할 만큼 충분히 중요한 것은 아니다. 대신, 컴퓨터 시스템은 경로를 따른 차량 접근의 변화만을 반영하기 위해 제2 필터링된 맵을 업데이트하도록 구성될 수 있다. 차량 접근의 변화의 예는 도로 차단(예를 들어, 접근을 제한하는 장벽 또는 트래픽 콘으로 표시된 차선 전환), 우회로(특정 시간대에 고속도로 입구 또는 출구 폐쇄), 도로 모양 변화(예를 들어, 도로 확장 또는 축소, 새로운 도로 구간 추가)를 포함할 수 있다. 일부 경우에, 컴퓨터 시스템은, 예를 들어, 제1 필터링된 맵에 포함된 포인트 클라우드 데이터에 따라 포인트를 추가하거나 제거함으로써 제2 필터링된 맵을 자동으로 업데이트할 수 있다. 그러나, 일부 유형의 업데이트는 수행하기 전에 수동 검토를 통해 이점을 얻을 수 있다. 예를 들어, 인간 검토자는 건설 작업으로 인해 두 개의 차선이 합쳐졌는지, 교통 표지판에 표시된 특정 시간 사이에 고속도로 입구가 폐쇄되었는지 등을 확인할 수 있다. 컴퓨터 시스템은, 예를 들어, 제1 필터링된 맵과 제2 필터링된 맵의 대응하는 부분을 나란히 표시함으로써 수동 검토를 위해 제1 필터링된 맵과 제2 필터링된 맵 간의 차이점에 플래그를 지정할 수 있다.
특정 요구 사항에 따라 실질적인 변형이 이루어질 수 있다는 것은 당업자에게 명백할 것이다. 예를 들어, 맞춤형 하드웨어가 사용될 수도 있고/있거나 특정 요소가 하드웨어, 소프트웨어(애플릿 등과 같은 휴대용 소프트웨어 포함) 또는 양자 모두로 구현될 수 있다. 또한, 네트워크 입출력 디바이스와 같은 다른 컴퓨팅 디바이스에 대한 연결이 사용될 수 있다.
첨부 도면을 참조하면, 메모리를 포함할 수 있는 구성 요소는 비일시적 기계 판독 가능 매체를 포함할 수 있다. 본 명세서에 사용된 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는 기계가 특정 방식으로 작동하게 하는 데이터를 제공하는 데 참여하는 모든 저장 매체를 의미한다. 위에 제공된 실시예에서, 실행을 위해 처리 유닛 및/또는 다른 디바이스(들)에 명령어/코드를 제공하는 데 다양한 기계 판독 가능 매체가 포함될 수 있다. 추가적으로 또는 대안적으로, 기계 판독 가능 매체는 이러한 명령어/코드를 저장 및/또는 운반하는 데 사용될 수 있다. 많은 구현에서, 컴퓨터 판독 가능 매체는 물리적 및/또는 유형적 저장 매체이다. 이러한 매체는 비휘발성 매체, 휘발성 매체 및 전송 매체를 포함하지만 이에 제한되지 않는 다양한 형태를 취할 수 있다. 컴퓨터 판독 가능 매체의 일반적인 형태는 예를 들어 자기 및/또는 광학 매체, 펀치 카드, 종이 테이프, 구멍 패턴이 있는 기타 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, 기타 메모리 칩 또는 카트리지, 반송파 또는 컴퓨터가 명령어 및/또는 코드를 판독할 수 있는 기타 매체를 포함한다.
본 명세서에 논의된 방법, 시스템 및 디바이스는 예이다. 다양한 실시예는 다양한 절차나 구성 요소를 적절하게 생략, 대체 또는 추가할 수 있다. 예를 들어, 특정 실시예와 관련하여 설명된 특징은 다양한 다른 실시예에서 결합될 수 있다. 실시예의 상이한 양태 및 요소는 유사한 방식으로 결합될 수 있다. 본 명세서에 제공된 도면의 다양한 구성 요소는 하드웨어 및/또는 소프트웨어로 구현될 수 있다. 또한, 기술은 발전하므로, 많은 요소는 개시의 범위를 이러한 특정 예로 제한하지 않는 예이다.
여러 실시예를 설명했지만, 본 개시의 정신에서 벗어나지 않으면서 다양한 수정, 대안적인 구성 및 등가물이 사용될 수 있다. 예를 들어, 위의 요소는 단지 더 큰 시스템의 구성 요소일 수 있으며, 여기서 다른 규칙이 실시예의 적용보다 우선하거나 다른 방식으로 수정될 수 있다. 또한, 위의 요소를 고려하기 전, 고려하는 동안, 고려한 후에 여러 단계를 수행할 수 있다. 따라서, 위의 설명은 설명된 정확한 실시예로 개시의 범위를 제한하지 않는다.
Claims (20)
- 맵 생성 방법에 있어서,
컴퓨터 시스템에 의해 그리고 제1 차량의 제1 센서에 의해 캡처된 센서 데이터에 기초하여, 상기 제1 차량이 이동한 경로의 3차원 표현에 대응하는 입력 맵을 생성하는 단계;
상기 컴퓨터 시스템에 의해 그리고 하나 이상의 기준에 기초하여, 필터링된 맵을 생성하기 위해 상기 입력 맵을 필터링하는 단계 - 상기 필터링하는 단계는 상기 하나 이상의 기준을 만족하는 특징을 자동으로 제거하는 단계를 포함하고, 상기 특징은 상기 필터링된 맵을 참조하여 제2 차량의 위치를 결정하는 것과 무관한 객체에 대응함 - ; 및
상기 컴퓨터 시스템에 의해, 상기 필터링된 맵을 상기 제2 차량에 전송하는 단계 - 상기 필터링된 맵은 상기 제2 차량이 동일한 경로를 따라 이동하는 동안 상기 제2 차량의 위치를 결정하기 위해 상기 제2 차량의 내비게이션 시스템에 의해 처리됨 -
를 포함하는, 맵 생성 방법. - 제1항에 있어서,
상기 하나 이상의 기준은 제거될 객체의 적어도 하나의 클래스를 포함하고, 상기 적어도 하나의 클래스는 차량, 보행자, 동물, 및 식물 중, 적어도 하나를 포함하는 것인, 맵 생성 방법. - 제1항에 있어서,
상기 하나 이상의 기준은 제거될 객체의 적어도 하나의 속성을 포함하고, 상기 적어도 하나의 속성은 연령, 길이, 폭, 높이, 속도, 및 모양 중, 적어도 하나를 포함하는 것인, 맵 생성 방법. - 제1항에 있어서,
상기 하나 이상의 기준은 상기 제1 차량으로부터의 거리를 포함하고, 상기 거리는 임계 거리로서 상기 임계 거리 너머의 특징은 제거되는 것인, 맵 생성 방법. - 제1항에 있어서,
상기 필터링된 맵은 상기 경로를 따른 다차선 도로의 가장자리를 나타내고, 상기 필터링된 맵은 상기 다차선 도로 내의 차선을 제외하는 것인, 맵 생성 방법. - 제1항에 있어서,
상기 제1 센서는 LIDAR 센서이고, 상기 입력 맵은 상기 LIDAR 센서에 의해 캡처된 포인트 클라우드를 포함하고, 상기 필터링하는 단계는 상기 객체와 연관된 포인트를 제거하는 단계를 포함하는 것인, 맵 생성 방법. - 제6항에 있어서,
상기 필터링하는 단계는,
상기 제1 차량의 제2 센서에 의해 캡처된 추가 센서 데이터에 기초하여 상기 하나 이상의 기준을 만족하는 특징을 식별하는 단계
를 더 포함하며,
상기 추가 센서 데이터는 상기 LIDAR 센서에 의해 캡처된 상기 포인트 클라우드와 동시에 캡처되고, 상기 제2 센서는 카메라, 레이더 센서 또는 기타 LIDAR 센서인 것인, 맵 생성 방법. - 제7항에 있어서,
상기 하나 이상의 기준을 만족하는 특징을 식별하는 단계는,
상기 추가 센서 데이터를 사용하여 상기 객체의 경계를 결정하는 단계; 및
상기 포인트 클라우드 내의 대응하는 포인트에 상기 경계를 매핑하는 단계
를 포함하는 것인, 맵 생성 방법. - 제1항에 있어서,
상기 필터링하는 단계는,
상기 입력 맵에서 지면 반사 및 움직이는 객체에 대응하는 특징을 제거하는 제1 필터링 동작을 수행하는 단계; 및
상기 제1 필터링 동작 후에 제2 필터링 동작을 수행하는 단계 - 상기 제2 필터링 동작은 하나 이상의 클래스에 속하는 객체에 대응하는 특징을 제거함 -
를 포함하는 것인, 맵 생성 방법. - 제1항에 있어서,
상기 필터링된 맵은 상기 제2 차량이 동일한 경로를 따라 이동하는 동안 무선 연결을 통해 상기 제2 차량에 전송되고, 상기 제2 차량의 위치를 결정하기 위해, 상기 필터링된 맵에 포함된 특징은 상기 제2 차량의 센서에 의해 캡처된 센서 데이터 내의 대응하는 특징에 매칭되는 것인, 맵 생성 방법. - 시스템에 있어서,
하나 이상의 프로세서; 및
메모리
를 포함하고, 상기 메모리는 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
제1 차량의 제1 센서에 의해 캡처된 센서 데이터에 기초하여, 상기 제1 차량이 이동한 경로의 3차원 표현에 대응하는 입력 맵을 생성하고;
하나 이상의 기준에 기초하여, 필터링된 맵을 생성하기 위해 상기 입력 맵을 필터링하고 - 상기 입력 맵을 필터링하기 위해, 상기 하나 이상의 프로세서는 상기 하나 이상의 기준을 만족하는 특징을 자동으로 제거하도록 구성되고, 상기 특징은 상기 필터링된 맵을 참조하여 제2 차량의 위치를 결정하는 것과 무관한 객체에 대응함 - ; 및
상기 필터링된 맵을 상기 제2 차량에 전송하게 하는 - 상기 필터링된 맵은 상기 제2 차량이 동일한 경로를 따라 이동하는 동안 상기 제2 차량의 위치를 결정하기 위해 상기 제2 차량의 내비게이션 시스템에 의해 사용 가능함 -
명령어를 저장하는 것인, 시스템. - 제11항에 있어서,
상기 하나 이상의 기준은 제거될 객체의 적어도 하나의 클래스를 포함하고, 상기 적어도 하나의 클래스는 차량, 보행자, 동물, 및 식물 중, 적어도 하나를 포함하는 것인, 시스템. - 제11항에 있어서,
상기 하나 이상의 기준은 제거될 객체의 적어도 하나의 속성을 포함하고, 상기 적어도 하나의 속성은 연령, 길이, 폭, 높이, 속도, 및 모양 중, 적어도 하나를 포함하는 것인, 시스템. - 제11항에 있어서,
상기 하나 이상의 기준은 상기 제1 차량으로부터의 거리를 포함하고, 상기 거리는 임계 거리로서 상기 임계 거리 너머의 특징은 제거되는 것인, 시스템. - 제11항에 있어서,
상기 필터링된 맵은 상기 경로를 따른 다차선 도로의 가장자리를 나타내고, 상기 필터링된 맵은 상기 다차선 도로 내의 차선을 제외하는 것인, 시스템. - 제11항에 있어서,
상기 제1 센서는 LIDAR 센서이고;
상기 입력 맵은 상기 LIDAR 센서에 의해 캡처된 포인트 클라우드를 포함하고;
상기 하나 이상의 프로세서는 상기 제1 차량의 제2 센서에 의해 캡처된 추가 센서 데이터에 기초하여 상기 하나 이상의 기준을 만족하는 특징을 식별하도록 구성되고;
상기 추가 센서 데이터는 상기 LIDAR 센서에 의해 캡처된 상기 포인트 클라우드와 동시에 캡처되고;
상기 제2 센서는 카메라, 레이더 센서 또는 다른 LIDAR 센서이며;
상기 하나 이상의 프로세서는 또한, 상기 객체와 연관된 포인트를 제거하도록 구성되는 것인, 시스템. - 제16항에 있어서,
상기 하나 이상의 기준을 만족하는 특징을 식별하기 위해, 상기 하나 이상의 프로세서는,
상기 추가 센서 데이터를 사용하여 상기 객체의 경계를 결정하고;
상기 포인트 클라우드 내의 대응하는 포인트에 상기 경계를 매핑하도록
구성되는 것인, 시스템. - 제11항에 있어서,
상기 입력 맵을 필터링하기 위해, 상기 하나 이상의 프로세서는,
상기 입력 맵에서 지면 반사 및 움직이는 객체에 대응하는 특징을 제거하는 제1 필터링 동작을 수행하고;
상기 제1 필터링 동작 후에 제2 필터링 동작을 수행하도록 - 상기 제2 필터링 동작은 하나 이상의 클래스에 속하는 객체에 대응하는 특징을 제거함 -
구성되는 것인, 시스템. - 제11항에 있어서,
상기 필터링된 맵은 상기 제2 차량이 동일한 경로를 따라 이동하는 동안 무선 연결을 통해 상기 제2 차량에 전송되고, 상기 제2 차량의 내비게이션 시스템은 상기 필터링된 맵에 포함된 특징을 상기 제2 차량의 센서에 의해 캡처된 센서 데이터 내의 대응하는 특징에 매칭함으로써 상기 제2 차량의 위치를 결정하도록 구성되는 것인, 시스템. - 비일시적 컴퓨터 판독 가능 저장 매체에 있어서,
컴퓨터 시스템의 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
제1 차량의 제1 센서에 의해 캡처된 센서 데이터에 기초하여, 상기 제1 차량이 이동한 경로의 3차원 표현에 대응하는 입력 맵을 생성하고;
하나 이상의 기준에 기초하여, 필터링된 맵을 생성하기 위해 상기 입력 맵을 필터링하고 - 상기 필터링은 상기 하나 이상의 기준을 만족하는 특징을 자동으로 제거하는 것을 포함하고, 상기 특징은 상기 필터링된 맵을 참조하여 제2 차량의 위치를 결정하는 것과 무관한 객체에 대응함 - ; 및
상기 필터링된 맵을 상기 제2 차량에 전송하게 하는 - 상기 필터링된 맵은 상기 제2 차량이 동일한 경로를 따라 이동하는 동안 상기 제2 차량의 위치를 결정하기 위해 상기 제2 차량의 내비게이션 시스템에 의해 사용 가능함 -
명령어를 저장하는 것인, 비일시적 컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/523,850 | 2021-11-10 | ||
US17/523,850 US11908075B2 (en) | 2021-11-10 | 2021-11-10 | Generating and filtering navigational maps |
PCT/EP2022/081395 WO2023083928A1 (en) | 2021-11-10 | 2022-11-10 | Generating and filtering navigational maps |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240093842A true KR20240093842A (ko) | 2024-06-24 |
Family
ID=84367007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247016871A KR20240093842A (ko) | 2021-11-10 | 2022-11-10 | 내비게이션 맵 생성 및 필터링 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11908075B2 (ko) |
EP (1) | EP4430361A1 (ko) |
KR (1) | KR20240093842A (ko) |
CN (1) | CN118235014A (ko) |
WO (1) | WO2023083928A1 (ko) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019113510A1 (en) * | 2017-12-07 | 2019-06-13 | Bluhaptics, Inc. | Techniques for training machine learning |
US10928207B2 (en) * | 2018-03-02 | 2021-02-23 | DeepMap Inc. | Camera based localization for autonomous vehicles |
US12080078B2 (en) * | 2019-11-15 | 2024-09-03 | Nvidia Corporation | Multi-view deep neural network for LiDAR perception |
US20210383533A1 (en) * | 2020-06-03 | 2021-12-09 | Nvidia Corporation | Machine-learning-based object detection system |
US20220027672A1 (en) * | 2020-07-27 | 2022-01-27 | Nvidia Corporation | Label Generation Using Neural Networks |
US11688074B2 (en) * | 2020-09-30 | 2023-06-27 | Nvidia Corporation | Data augmentation including background modification for robust prediction using neural networks |
US20220306152A1 (en) * | 2021-03-05 | 2022-09-29 | The Research Foundation For The State University Of New York | Task-Motion Planning for Safe and Efficient Urban Driving |
US20230087261A1 (en) * | 2021-09-20 | 2023-03-23 | Qualcomm Incorporated | Three-dimensional target estimation using keypoints |
-
2021
- 2021-11-10 US US17/523,850 patent/US11908075B2/en active Active
-
2022
- 2022-11-10 WO PCT/EP2022/081395 patent/WO2023083928A1/en active Application Filing
- 2022-11-10 KR KR1020247016871A patent/KR20240093842A/ko unknown
- 2022-11-10 EP EP22814405.1A patent/EP4430361A1/en active Pending
- 2022-11-10 CN CN202280074811.9A patent/CN118235014A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN118235014A (zh) | 2024-06-21 |
US11908075B2 (en) | 2024-02-20 |
US20230146926A1 (en) | 2023-05-11 |
EP4430361A1 (en) | 2024-09-18 |
WO2023083928A1 (en) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11982540B2 (en) | Infrastructure mapping and layered output | |
US11378958B2 (en) | Navigating in snow | |
EP3674662B1 (en) | Automatic detection and positioning of pole-like objects in 3d | |
CN109643367B (zh) | 用于自主车辆导航的众包和分发稀疏地图以及车道测量的方法、系统和可读介质 | |
JP2022535351A (ja) | 車両ナビゲーションのためのシステム及び方法 | |
US20210381849A1 (en) | Map management using an electronic horizon | |
GB2613692A (en) | Systems and methods for vehicle navigation | |
CN117355871A (zh) | 多帧图像分割 | |
CN117651668A (zh) | 用于监测车道标记质量的系统和方法 | |
US11908075B2 (en) | Generating and filtering navigational maps |