KR20210118119A - 차량 센서들 및 카메라 어레이들로부터의 구조화된 지도 데이터의 생성 - Google Patents

차량 센서들 및 카메라 어레이들로부터의 구조화된 지도 데이터의 생성 Download PDF

Info

Publication number
KR20210118119A
KR20210118119A KR1020217026231A KR20217026231A KR20210118119A KR 20210118119 A KR20210118119 A KR 20210118119A KR 1020217026231 A KR1020217026231 A KR 1020217026231A KR 20217026231 A KR20217026231 A KR 20217026231A KR 20210118119 A KR20210118119 A KR 20210118119A
Authority
KR
South Korea
Prior art keywords
image
feature
time
location
data
Prior art date
Application number
KR1020217026231A
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 벨로다인 라이더 유에스에이, 인크.
Publication of KR20210118119A publication Critical patent/KR20210118119A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/3867Geometry of map features, e.g. shape points, polygons or for simplified maps
    • 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
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Instructional Devices (AREA)

Abstract

차량 센서들 및 차량에 부착되는 카메라 어레이들로부터의 모션 및 비디오 데이터는 차량에 의해 주행되는 경로를 따라 비디오 및 센서 데이터를 수집한다. 시스템은 이러한 데이터를 처리하여, 주변 환경에서 움직이는 차량의 위치를 정밀하게 찾는 데 사용될 수 있는 것과 같은, 높은 정확도의 구조화된 지도 데이터를 생산한다. 위치들은 센서 데이터로부터 계산된다. 위치들은 비디오 데이터에 기반하여 업데이트된다. 차량 경로의 루프들이 검출될 때, 루프 폐쇄 오류가 계산되고 위치들을 업데이트하는 데 사용될 뿐만 아니라 향후 위치들을 계산할 때의 센서들의 편향을 줄이는 데 사용된다. 비디오 내의 피처들의 위치들은 구조화된 지도 데이터를 생성하거나 업데이트하는 데 사용된다.

Description

차량 센서들 및 카메라 어레이들로부터의 구조화된 지도 데이터의 생성
관련 출원들에 대한 상호 참조
본 출원은 2019년 1월 22일에 출원된 U.S.S.N. 제16/254,508호이며, 그 전체가 참조로 본 명세서에 통합된다.
기술분야
본 개시는 일반적으로 센서 및 기타 입력들로부터 다양한 머신 및 인간 매핑 작업들에 사용할 수 있는 형태로 구조화된 지도 데이터를 생성하는 것에 관한 것이다. 본 개시는 더 구체적으로 차량 센서들 및 카메라 어레이들로부터 모션 및 비디오 데이터를 생성하고 이러한 데이터를 처리하여 주변 환경에서 움직이는 차량의 위치를 정밀하게 찾는 데 사용될 수 있는 것과 같은, 높은 정확도의 구조화된 지도 데이터를 생산하기 위한 장치 및 기술들에 관한 것이다.
자율 및 반자율 차량들에 대한 기술이 발전함에 따라, 예를 들어, 차량이 그것의 차선을 유지하거나 연석 또는 도로 장애물에 부딪히는 것을 피하도록 허용하기 위해 충분한 정확도 및 정밀도로 주변 환경에서 차량의 위치를 찾는 것을 가능하게 하는 지도 데이터 구조들로 인코딩되는 머신-판독가능한 지도들이 필요하다. 이러한 정밀도는 몇 센티미터 이내일 수 있다. 상업용 전세계 위치 파악 시스템(Global Positioning System, GPS)들은 이러한 정확도를 제공하지 않고 필요할 때 종종 사용할 수 없으며, 인간 사용을 위한 지도들은 차량이 탐색(navigate)해야 하는 유형의 지형 데이터(예를 들어, 연석들의 위치)를 제공하지 않는다. 차량 탐색을 위한 지도 데이터 구조들은, 인간 탐색을 위한 지도들과 달리, 정지된 물체들에 대한 풍부한 데이터를 제공하여 차량이 물체들에 부딪히는 것을 피하도록 허용하고 차량이 정지된 물체들로부터 그것의 위치를 얻도록 허용한다.
이러한 지도 데이터를 생성하는 하나의 접근법은 차량에 상용 LIDAR 어레이를 구비하는 것이지만, 이러한 시스템들은 비쌀 수 있다. 도로 근처 및 도로 위의 피처들은, 예를 들어 도로 공사로 인해, 변할 수 있다. LIDAR 시스템들은 비싸기 때문에, 아마 가장 많이 이동되는 도로들을 제외하고는 지도 데이터가 자주 업데이트되도록 하는 것은 종종 경제적이지 않아서, 지도 데이터를 전형적으로 최신이 아니게 둔다.
차량 지도 데이터의 덜 비싼 소스가 필요하다. 더 많은 지도 데이터가 생산됨에 따라, 이는 지도 데이터를 처리하는 자동화된 방법에 대한 필요를 만든다.
높은 정확도의 구조화된 지도 데이터를 생산하기 위해 이러한 데이터를 처리하는 센서 데이터를 수집하기 위한 장치 및 방법들이 제공된다. 처리는 차량 내에서 또는 차량 상에서 작동하는 센서 디바이스 상에서, 센서 디바이스에 연결되는 컴퓨팅 디바이스 상에서, 원격 서버에서, 또는 그것들의 소정의 조합에서 발생할 수 있다. 높은 정확도의 구조화된 지도 데이터는 최소한의 인간 상호작용으로 및 저렴한 센서들로부터의 센서 데이터로부터 생성될 수 있다. 높은 정확도의 구조화된 지도 데이터는 자율주행 시스템들, 및 도시 거리들의 야외 지역 또는 기타 환경들과 같은 환경과 관련된 데이터가 필요한 기타 시스템들에 사용가능한 형태로 생성될 수 있다.
구조화된 지도 데이터를 생성하는 방법은 차량 상에 장착되는 적어도 하나의 센서로부터 타임-스탬핑된 센서 데이터를 수신하는 단계, 적어도 2개의 비디오 스트림들을 포함하는 타임-스탬핑된 비디오 데이터를 수신하는 단계 - 각각의 비디오 스트림은 차량 상에 장착되는 적어도 2개의 카메라들 중의 카메라에 의해 생산됨 -, 및 타임-스탬핑된 센서 데이터로부터 복수의 공간 판독 값들을 계산하는 단계 - 각각의 공간 판독 값은 위치 및 연관된 타임 스탬프를 포함하고, 그에 의해, 위치는 연관된 타임스탬프에 의해 표시되는 시간 동안 적어도 하나의 센서가 있다고 간주된 위치를 표시함 - 를 포함할 수 있다. 복수의 공간 판독 값들은 위치 p0 및 시간 t0를 포함하는 제1 공간 판독 값, 및 위치 p1 및 시간 t1을 포함하는 제2 공간 판독 값을 포함할 수 있다. 타임-스탬핑된 비디오 데이터로부터, 시스템은 프로세서를 사용하여 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들을 계산할 수 있고, 각각의 이미지 기록은 이미지 및 연관된 타임 스탬프를 포함하고, 그에 의해, 이미지는 연관된 타임 스탬프에서 기록되었다고 간주된다. 시스템은 프로세서를 사용하여 2개의 t0 이미지 기록들을 추가로 식별할 수 있고, 각각의 t0 이미지 기록은, 적어도 2개의 t0 이미지 기록들의 각각의 이미지 기록이 t0와 대략 동일한 연관된 타임 스탬프를 갖도록, 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들 중 하나로부터 선택된다. 시스템은 프로세서를 사용하여, 적어도 2개의 t1 이미지 기록들을 추가로 식별할 수 있고, 각각의 t1 이미지 기록은, 적어도 2개의 t1 이미지 기록들 중의 각각의 이미지 기록은 t1과 대략 동일한 연관된 타임 스탬프를 갖도록, 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들 중 하나로부터 선택된다. 그런 다음, 시스템은 프로세서를 사용하여 적어도 2개의 t0 이미지 기록들 각각 및 적어도 2개의 t1 이미지 기록들에 존재하는 고정 피처(feature)를 식별할 수 있고, 적어도 2개의 t0 이미지 기록들 사이의 시차 차이(parallax difference)에 기반하여 시간 t0에서 고정 피처의 t0 상대적 피처 위치를 계산할 수 있다. 시스템은 적어도 2개의 t1 이미지 기록들 사이의 시차 차이에 기반하여 시간 t1에서의 고정 피처의 t1 상대적 피처 위치를 추가로 계산할 수 있고, t0 상대적 피처 위치와 t1 상대적 피처 위치 사이의 차이에 기반하여, p1에 대한 조정을 결정할 수 있다.
또한, 방법은 이미지 기록들 내의 복수의 고정 피처들을 식별하기 위해 프로세서를 사용하는 단계를 포함할 수 있다. 복수의 고정 피처들 각각에 대해, 시스템은 적어도 2개의 이미지 기록들에 기반하여 고정 피처의 적어도 하나의 상대적 피처 위치를 계산하여 복수의 상대적 피처들 위치들을 생산할 수 있다. 시스템은 복수의 상대적 피처 위치들에 기반하여 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 위치에 대한 조정을 결정함으로써 복수의 조정들을 생산할 수 있고, 복수의 조정들을 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 위치에 적용하여 복수의 조정된 공간 판독 값들을 생산할 수 있다. 시스템은 복수의 조정된 공간 판독 값들의 나중 위치(later position)가 복수의 조정된 공간 판독 값들의 이전 위치(prior position)의 최대 루프 폐쇄 거리(maximum loop closure distance) 내에 있다는 것을 검출할 수 있으며, 나중 위치 및 이전 위치는 최소 루프 시간 및 최소 루프 거리 중 하나에 의해 분리되고, 나중 위치는 나중 타임 스탬프와 연관되고 이전 위치는 이전 타임 스탬프와 연관된다. 그런 다음, 시스템은 이전 타임 스탬프와 대략 동일한 연관된 타임 스탬프를 갖는, 복수의 이미지 기록들 중의 제1 이미지 기록, 및 나중 타임 스탬프와 대략 동일한 연관된 타임 스탬프를 갖는 제2 이미지 기록으로부터의 루프 폐쇄 오류를 계산할 수 있다.
또한, 방법은 루프 폐쇄 에러를 사용하여 복수의 조정된 공간 판독 값들에 대한 추가 조정을 계산하는 단계를 포함할 수 있다. 타임-스탬핑된 센서 데이터는 차량 내에 장착되는 가속도계로부터의 데이터를 포함할 수 있고, 타임 스탬프는 전세계 위치 파악 시스템으로부터의 타이밍 신호를 사용하여 센서 데이터에 적용된다. 방법의 일부 실시예들에서, 차량 상에 장착되는 카메라 어레이 내에 적어도 2개의 카메라들이 장착될 수 있다.
또 다른 실시예에서, 구조화된 지도 데이터를 생성하는 방법은 차량 상에 장착되는 적어도 하나의 센서로부터 타임-스탬핑된 센서 데이터를 수신하는 단계, 적어도 2개의 비디오 스트림들을 포함하는 타임-스탬핑된 비디오 데이터를 수신하는 단계 - 각각의 비디오 스트림은 차량 상에 장착되는 2개의 카메라들 중의 카메라에 의해 생산됨 -, 및 타임-스탬핑된 센서 데이터로부터 복수의 공간 판독 값들을 계산하는 단계를 포함할 수 있다. 각각의 공간 판독 값은 위치 및 연관된 타임 스탬프를 포함할 수 있고, 그에 의해, 위치는 연관된 타임 스탬프에 의해 표시되는 시간 동안 적어도 하나의 센서가 있다고 간주된 위치를 나타낸다. 타임-스탬핑된 비디오 데이터로부터, 시스템은 프로세서로 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들을 계산할 수 있고, 각각의 이미지 기록은 이미지 및 연관된 타임 스탬프를 포함하고, 그에 의해, 이미지는 연관된 타임 스탬프에 기록되었다고 간주된다. 시스템은 프로세서를 사용하여 피처와 연관된 복수의 피처 이미지 기록들을 식별할 수 있고, 피처 이미지 기록들은 복수의 이미지 기록들의 서브세트이고, 그에 의해, 각각의 이미지 기록 내의 각각의 이미지는 피처를 포함한다. 복수의 상대적 피처 위치들은 피처 이미지 기록들 내의 각각의 이미지로부터 상대적 피처 위치를 계산함으로써 계산될 수 있다. 시스템은 복수의 상대적 피처 위치들에 기반하여 피처에 대한 복수의 위치들을 포함하는 포인트 클라우드를 생산할 수 있다.
또한, 방법은 포인트 클라우드로부터 피처의 확률적 위치를 계산할 수 있고, 피처를 포함하는 더 많은 타임-스탬핑된 비디오 데이터가 수집됨에 따라 확률적 위치의 정확도가 개선된다. 피처의 확률적 위치는 이력 지도 데이터(historical map data)와 비교되어 피처가 정지되어 있는지를 결정할 수 있고, 그런 다음, 이력 지도 데이터를 업데이트하는 데 사용될 수 있다.
또한, 방법은 프로세서를 사용하여 적어도 2개의 t0 이미지 기록들을 식별할 수 있으며, 각각의 t0 이미지 기록은, 적어도 2개의 t0 이미지 기록들 중의 각각의 이미지 기록은 t0와 대략 동일한 연관된 타임 스탬프를 갖도록, 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들 중 하나로부터 선택된다. 그런 다음, 프로세서는 적어도 2개의 t1 이미지 기록들을 식별하는 데 사용될 수 있으며, 각각의 t1 이미지 기록은, 적어도 2개의 t1 이미지 기록들 중의 각각의 이미지 기록은 t1과 대략 동일한 연관된 타임 스탬프를 갖도록, 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들 중 하나로부터 선택된다. 적어도 2개의 t0 이미지 기록들 각각 및 적어도 2개의 t1 이미지 기록들에 존재하는 고정 피처가 식별될 수 있다. 시간 t0에서의 고정 피처의 t0 상대적 피처 위치는 적어도 2개의 t0 이미지 기록들 사이의 시차 차이에 기반하여 계산될 수 있다. 또한, 시간 t1에서의 고정 피처의 t1 상대적 피처 위치는 적어도 2개의 t1 이미지 기록들 사이의 시차 차이에 기반하여 계산될 수 있고, t0 상대적 피처 위치와 t1 상대적 피처 위치 사이의 차이에 기반하여, p1에 대한 조정이 결정될 수 있다.
또한, 방법은 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 위치에 대한 조정을 결정함으로써 복수의 조정들을 생산하는 단계를 포함할 수 있으며, 복수의 고정 피처들의 복수의 상대적 피처 위치들에 기반한 복수의 조정들은 프로세서를 사용하여 이미지 기록들 내에서 식별된다. 복수의 조정들은 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 위치에 적용되어 복수의 조정된 공간 판독 값들을 생산할 수 있다. 복수의 조정된 공간 판독 값들의 나중 위치는 복수의 조정된 공간 판독 값들의 이전 위치의 최대 루프 폐쇄 거리 내로 검출될 수 있으며, 나중 위치 및 이전 위치는 최소 루프 시간 및 최소 루프 거리 중 하나에 의해 분리된다. 루프 폐쇄 오류는 나중 위치, 나중 위치와 연관된 타임 스탬프, 이전 위치, 및 이전 위치의 타임 스탬프에 기반하여 타임 스탬핑된 비디오 데이터로부터 계산될 수 있다.
루프 폐쇄 오류는 포인트 클라우드 내의 적어도 하나의 위치에 대한 조정을 계산하는 데 사용될 수 있다. 타임-스탬핑된 센서 데이터는 차량 내에 장착되는 관성 측정 유닛(Inertial Measurement Unit)으로부터의 데이터 및 차량 내에 장착되는 전세계 위치 파악 시스템으로부터의 타임 스탬프를 포함할 수 있다.
구조화된 지도 데이터를 생성하기 위한 시스템은 시간 소스를 갖는 차량, 센서 데이터를 수집하는 센서들, 및 각각이 비디오 스트림을 생산하는 적어도 2개의 카메라들의 어레이를 포함할 수 있으며, 여기서 시간 소스로부터의 타임 스탬프들은 센서 데이터에 적용되어 타임-스탬핑된 센서 데이터를 생산하고, 각각의 비디오 스트림에 적용되어 타임-스탬핑된 비디오 데이터를 생산한다. 센서 데이터 처리 시스템은 타임-스탬핑된 센서 데이터 및 타임-스탬핑된 비디오 데이터를 수신하고, 이어지는 일련의 단계들을 수행할 수 있다. 타임-스탬핑된 센서 데이터로부터, 시스템은 복수의 공간 판독 값들을 계산할 수 있으며, 각각의 공간 판독 값은 위치 및 연관된 타임 스탬프를 포함하고, 그에 의해, 위치는 연관된 타임스탬프에 의해 표시되는 시간 동안 적어도 하나의 센서가 있다고 간주된 위치를 표시하고, 복수의 공간 판독 값들은 위치 p0 및 시간 t0를 포함하는 제1 공간 판독 값과 위치 p1 및 시간 t1을 포함하는 제2 공간 판독 값을 포함한다. 타임-스탬핑된 비디오 데이터로부터, 시스템은 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들을 계산할 수 있으며, 각각의 이미지 기록은 이미지 및 연관된 타임 스탬프를 포함하고, 그에 의해, 이미지는 연관된 타임 스탬프에 기록되었다고 간주된다. 시스템은 프로세서를 사용하여 적어도 2개의 t0 이미지 기록들을 식별할 수 있으며, 각각의 t0 이미지 기록은, 적어도 2개의 t0 이미지 기록들 중의 각각의 이미지 기록은 t0와 대략 동일한 연관된 타임스탬프를 갖도록, 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들 중 하나로부터 선택된다. 그런 다음, 시스템은 프로세서를 사용하여 적어도 2개의 t1 이미지 기록들을 식별할 수 있으며, 각각의 t1 이미지 기록은, 적어도 2개의 t1 이미지 기록들 중의 각각의 이미지 기록은 t1과 대략 동일한 연관된 타임 스탬프를 갖도록, 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들 중 하나로부터 선택된다. 시스템은 프로세서를 사용하여 적어도 2개의 t0 이미지 기록들 각각 및 적어도 2개의 t1 이미지 기록들에 존재하는 고정 피처를 식별할 수 있다. 그런 다음, 시스템은 적어도 2개의 t0 이미지 기록들 사이의 시차 차이에 기반하여 시간 t0에서의 고정 피처의 t0 상대적 피처 위치를 계산한 다음, 적어도 2개의 t1 이미지 기록들 사이의 시차 차이에 기반하여 시간 t1에서의 고정 피처의 t1 상대적 피처 위치를 계산할 수 있다. t0 상대적 피처 위치와 t1 상대적 피처 위치 사이의 차이에 기반하여, 시스템은 p1에 대한 조정을 결정할 수 있다.
시스템의 센서 데이터 처리는 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 위치에 대한 조정을 결정함으로써 복수의 조정들을 추가로 생산할 수 있으며, 복수의 고정 피처들의 복수의 상대적 피처 위치들에 기반한 복수의 조정들은 프로세서를 사용하여 이미지 기록들 내에서 식별된다. 센서 데이터 처리는 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 위치에 대한 복수의 조정들을 추가로 적용하여 복수의 조정된 공간 판독 값들을 생산할 수 있다. 센서 데이터 처리는 복수의 조정된 공간 판독 값들의 나중 위치가 복수의 조정된 공간 판독 값들의 이전 위치의 최대 루프 폐쇄 거리 내에 있다는 것을 추가로 검출할 수 있으며, 나중 위치 및 이전 위치는 최소 루프 시간 및 최소 루프 거리 중 하나에 의해 분리된다. 센서 데이터 처리는 나중 위치, 나중 위치와 연관된 타임 스탬프, 이전 위치, 및 이전 위치의 타임 스탬프에 기반하여 타임 스탬핑된 비디오 데이터로부터의 루프 폐쇄 오류를 계산할 수 있다.
시스템은 루프 폐쇄 오류를 사용하여 복수의 조정된 공간 판독 값들에 대한 추가 조정을 계산한다.
시스템의 센서 데이터 처리는 프로세서를 추가로 사용하여 피처와 연관된 복수의 피처 이미지 기록들을 식별할 수 있으며, 피처 이미지 기록들은 복수의 이미지 기록들의 서브세트이고, 그에 의해, 피처 이미지 기록들 내의 각각의 타임 스탬프에 대해, 타임 스탬프와 연관된 적어도 하나의 이미지는 피처를 포함한다. 센서 데이터 처리는 피처 이미지 기록들 내의 각각의 이미지로부터 상대적 피처 위치를 계산함으로써 복수의 상대적 피처 위치들을 추가로 계산할 수 있고, 복수의 상대적 피처 위치들에 기반하여 피처에 대한 복수의 위치들을 포함하는 포인트 클라우드를 생산할 수 있다.
시스템은 포인트 클라우드로부터 피처의 확률적 위치를 계산할 수 있고, 피처를 포함하는 더 많은 타임-스탬핑된 비디오 데이터가 수집됨에 따라 확률적 위치의 정확도가 개선된다. 피처의 확률적 위치는 이력 지도 데이터와 비교되어 피처가 정지되어 있는지를 결정할 수 있다.
센서 데이터를 수집하는 센서들은 가속도계 및 자이로스코프(gyroscope)를 포함할 수 있고, 시간 소스는 전세계 위치 파악 시스템이다.
첨부 도면들과 함께 다음의 상세한 설명은 본 발명의 본질 및 이점들의 더 나은 이해를 제공할 것이다.
본 개시에 따른 다양한 실시예들이 도면들을 참조하여 설명될 것이며, 여기서:
도 1은 일 실시예에 따른 방법을 도시한다.
도 2는 카메라들의 어레이를 위한 마운트를 도시한다.
도 3은 예시적인 컴퓨팅 시스템을 도시한다.
다음의 상세한 설명에서, 다양한 실시예들이 설명될 것이다. 설명의 목적들을 위해, 실시예들의 완전한 이해를 제공하기 위해 특정 구성들 및 상세들이 제시된다. 그러나, 특정 상세들 없이 실시예들이 실행될 수 있다는 것 또한 본 기술분야의 통상의 기술자에게 명백할 것이다. 또한, 설명되는 실시예를 모호하게 하지 않기 위해 널리 알려진 특징들이 생략되거나 간략화될 수 있다.
본 명세서에 설명되고 제안되는 일부 방법들 및 장치는 (1) 미가공 차량 센서 데이터 생성, (2) 구조화된 지도 데이터를 생산하기 위한 차량 센서 데이터 처리, 및 (3) 이력 지도 데이터와 새로운 구조화된 지도 데이터의 비교를 제공한다. 이러한 프로세스들은 구조화된 지도 데이터를 생산하는 데 사용될 수 있다. 구조화된 지도 데이터가 생산된 후, 그것은 지도 데이터의 특정 사용 사례 또는 고객에 맞추기 위해 번역되거나 달리 처리될 수 있다. 일 실시예에서, 이러한 프로세스들은 미가공 차량 센서 데이터가 수집되고 차량 내에 저장되는 것으로 순차적으로 수행되지만, 방법들은 그렇게 제한되지 않는다. 차량 내에 자동화된 처리인 것과 같이, 동시 수집 및 전송(예를 들어, 셀룰러 데이터 전송)이 가능하다.
본 개시는 자동차들과 같은 차량들에 대해 이루어지지만, 본 기술분야의 통상의 기술자는 방법들이 그렇게 제한되지 않고 예를 들어 공중 운송수단들 또는 잠수 운송수단들에 대한 구조화된 지도 데이터를 구성하는 데 사용될 수 있다는 것을 인식할 것이다. 또한, 본 개시는, 예로서, 소나(sonar)(소리 탐색 및 거리 측정(sound navigation and ranging))의 사용에 적합할 수 있는 비디오 카메라들을 사용하는 수집을 지칭한다. 일 실시예는 LIDAR의 비용을 피하기 위해 및 기타 이유들로 비디오 카메라들을 사용하지만, 일부의 방법들 및 기술들은 LIDAR, 레이더, 또는 기타 센서들을 사용하여 수집되는 데이터와 동일하게 센서 데이터를 처리하는 것에 적용한다.
본 명세서에 사용되는 바와 같이, "센서 데이터"는 센서들에 의해 검출되는 신호들에 대응하는 전자적으로 및/또는 컴퓨터-판독가능한 형태로 나타내어질 수 있는 데이터를 지칭한다. 예들은 비디오 카메라들, 스틸 카메라들, 광 센서들, 거리 센서들, 자이로스코프들, 가속도계들, 나침반 검출기들, 레벨 검출기들, 전압 센서들, 전류 센서들 등을 포함한다. 전형적으로, 이러한 센서들로부터의 신호들은 디지털화되어 컴퓨터 메모리에 저장되거나, 차량 내에 또는 차량 상에 장착되는 디바이스와 근처에 있는 스마트폰 또는 기타 컴퓨팅 디바이스 사이에 존재할 수 있는 것처럼, 또는 예를 들어 셀룰러 전화 채널에 의해 제공되는 바와 같은 디바이스 및/또는 컴퓨팅 디바이스와 원격 서버 또는 디바이스 사이에 존재할 수 있는 것처럼, 디지털 데이터 전송 채널들을 통해 전송될 수 있다.
카메라들은 일반적으로 카메라의 앞에서(지향성 카메라의 경우) 또는 카메라의 뷰에서(전방향 카메라들의 경우) 장면의 이미지를 캡처하기 위해, 카메라 센서 상에서 충돌하는 광의 전자 표현을 캡처할 수 있다. 이미지가 단일 시점에서 촬영된다면, 그것은 스틸 이미지일 수 있고, 이미지들이 시간이 지남에 따라 시퀀스로 캡처된다면, 이는 저장된 비디오로 저장되거나 비디오 스트림 등으로 전송되거나 스트리밍될 수 있는 비디오 시퀀스(간결함을 위해, 종종 단지 "비디오"라고만 지칭됨)로 나타내어질 수 있다.
따라서 카메라들은 카메라가 지향되거나 위치하는 장면의 이미지(스틸 이미지들, 비디오 등)를 캡처한다. 캡처된 장면은 카메라가 동작하는 환경의 일부일 수 있다. 일 예에서, 카메라는 차량 상에 장착되고 차량이 도시 또는 기타 지리적 위치 주위를 여행하는 동안 전방을 향하고, 카메라는 차량의 앞(및 360도 카메라의 경우 아마도 측면들 및 심지어 후방)에서의 장면의 이미지를 캡처한다. 전형적으로, 간단한 카메라는 장면의 2차원(2D) 뷰를 캡처하기 위한 단일 카메라 센서를 갖고 복수의 이러한 카메라들은 사용되고 이격되어 깊이 인식 컴포넌트를 추가할 수 있다.
일부 센서들은 차량 움직임을 감지한다. 이러한 센서들은 자이로스코프들, 가속도계들, 나침반들 등을 포함할 수 있다. 이러한 차량 모션 센서들의 출력들은 차량 모션 데이터를 생산하고, 차내의 진단 시스템으로부터 종종 사용가능한 차량 제어 및 관리 컴퓨터 시스템으로부터 얻어지는 데이터(예를 들어, 속도계 또는 엔진 파라미터들)와 함께, 처리에 사용되고 및/또는 기록될 수 있다.
차량 위치 센서들은 GPS 디바이스들, 차동 GPS 디바이스들, 셀룰러 위치 데이터 센서들, 갈릴레오(Galileo) 디바이스들, 글로나스(GLONASS) 디바이스들, 기타 위성 기반 위치 시스템들, 및 전용 무선 기반 시스템들과 같은 센서들을 포함할 수 있다. 이러한 센서들은 차량 위치 데이터를 생성하지만, 일반적으로 차량들이 탐색하기 위한 구조화된 지도 데이터를 생성하기에는 정확도가 충분히 높지 않다. 차량 센서 데이터는 차량 모션 데이터, 차량 위치 데이터, 차량 이미지 데이터, 및 아마도 기타 데이터를 총괄적으로 지칭한다.
차량이 주행하는 도시 또는 기타 지리적 위치는 장면이 캡처되는 환경일 수 있다. 장면은 다른 차들, 차선 표시들, 기타 거리 표시들, 표지판들, 연석들, 보행자들, 동물들, 하늘, 비 및 그 환경에 존재하는 기타 요소들과 같은 핵심적인 피처들을 포함할 수 있다. 그러한 요소들 중 일부는 도로에 관하여 움직이고 있는 한편, 다른 요소들은 정지해 있을 수 있다. 일부는 비디오 캡처 기간 동안 정지된 것으로 보일 수 있지만, 실제로는 움직일 수 있고 다른 시간들에는 움직인다.
경로 피처들, 또는 단순 피처는, 예를 들어 배경에 대한 에지들 또는 돌출로 인해 검출에 적합한 것으로 센서들에 의해 검출된다. 고정 피처들은 크기, 형상, 또는 위치에 기반하여 고정되어 있을 확률이 높은 피처들이다. 예를 들어, 차선에서의 차 형상의 피처는 움직이고 있을 때 고정 피처가 될 확률이 낮다. 교통의 차선에서 잘 벗어난 나무 또는 도로 표지판 형상의 피처는 고정 피처일 확률이 더 높다. 랜드마크 피처들은 매핑된 피처들이며 정지해 있을 확률이 높다. 예들은 거리 표지판들(예를 들어, 정지 표지판들), 가로등 기둥들, 나무 줄기들, 및 건물들이다. 랜드마크 피처에 대한 잘못된 선택의 예는 움직일 수 있는 주차된 차다.
구조화된 지도 데이터는, 종종 자율 또는 반자율 차량에 의해 그것의 위치를 탐색하고 결정하는 데 사용하기 위해, 바람직하게는 일반적으로 도로 위 또는 도로 근처에 있는 정지 물체들에 대한 높은 정확도의 위치 데이터를 갖는다.
일 실시예에서, 미가공 센서 데이터를 생성하는 프로세스는 알려진 장면을 사용하여 캘리브레이션되었던 적어도 2개의 카메라들을 포함하는 카메라 어레이로 수행된다. 예를 들어, 카메라들은 차량에 부착될 하우징에 장착되었을 수 있으며, 카메라들은 일단 장착되면 서로에 대해 상대적으로 고정된 위치 및 방향을 갖는다. 카메라들의 어레이는 카메라들을 견고하게 지지하는 어레이 마운트 내에 장착될 수 있다. 어레이 마운트는 차량의 앞에서(예를 들어, 범퍼 상에서), 차량에서의 다양한 위치들 내에, 예를 들어 백미러 위에 장착될 수 있다. 또한, 어레이는 후면을 향하거나 측면을 향할 수 있다. 어레이는 승객실 외부인, 차량의 상단에 장착될 수 있다.
항목들 사이의 미리 결정된 거리들을 갖고서 특정 위치들에 배치되는 기점들, 표시들, 참조들 및/또는 그와 유사한 것을 갖는 장면과 같은, 카메라들의 뷰 내에서 알려진 장면과 함께 하우징이 배치되면, 캘리브레이션이 발생할 수 있다. 카메라들로부터의 이미지를 처리함으로써, 캘리브레이션 프로세서는 상이한 카메라들로부터의 뷰들이 어떻게 다른지 결정할 수 있으며, 이 정보는 나중에 카메라 출력들을 해석하는 데 사용될 캘리브레이션 데이터로서 컴퓨터 메모리 내에 저장될 수 있다.
차량 탑재 카메라들은 내부 캘리브레이션, 외부 캘리브레이션, 및/또는 자동 캘리브레이션을 사용하여 캘리브레이션될 수 있다. 내부 캘리브레이션은 하나의 카메라 또는 카메라의 모델을 캘리브레이션한다. 내부 캘리브레이션은 알려진 장면의 이미지 또는 비디오를 촬영하고 결과 이미지 또는 비디오로부터 카메라의 파라미터들을 계산함으로써 성취될 수 있다. 외부 캘리브레이션은 카메라들의 어레이의 캘리브레이션을 지칭한다. 카메라들은 서로에 대해 카메라들의 고정 위치들을 제공하는 견고한 마운트 내에 장착될 수 있다. 알려진 장면의 이미지 또는 비디오는 위에서 설명된 바와 같이 서로에 대해 카메라들을 캘리브레이션하기 위해 촬영될 수 있다. 자동 캘리브레이션은 차량 내에 장착되는 카메라들의 어레이로부터의 이미지 데이터가 수신되고 처리될 때 발생하는 지속적인 캘리브레이션을 지칭한다. 각각의 카메라로부터의 이미지들 또는 비디오는, 어레이에서의 움직임 및 차량 내 어레이의 장착을 설명하기 위해 카메라들을 캘리브레이션하기 위해, 서로 비교될 수 있고, 카메라들의 동일한 어레이 또는 카메라들의 다른 어레이들 중 어느 하나로부터의 이전 이미지들과 비교될 수 있다.
각각의 카메라로부터의 비디오 데이터는, 예를 들어 GPS 펄스에 의해 동기화될 수 있다. 또한, 각각의 카메라로부터의 비디오는 GPS 데이터 또는 또 다른 시간 소스로부터의 타임스탬프들로 라벨링될 수 있다. 데이터의 처리를 가능하게 하고 경로 내의 피처들이 적절하게 커버되도록 보장하기 위해, 차량은 동일한 경로를 복수 회 커버하는 루트를 주행하여, 동일한 장면의 복수의 이미지들이 촬영되도록 허용할 수 있다. 이는 다른 차량들에 의한 가림(occlusion) 또는 렌즈 플레어와 같은 광학 문제들을 해결한다. 또한, 그것은 아래에서 더 상세히 설명되는 루프 폐쇄 오류를 평가하도록 허용한다. 차량 위치 데이터 및 차량 모션 데이터는 차량에 저장되거나 전송되어 처리된다.
차량이 루트를 주행하거나 달리 조작하기 전에, 루트가 생성된다. 루트는, 예를 들어 루트가 루트 내에서 동일한 경로를 복수 회 커버하도록 함으로써, 동일한 장면의 복수의 뷰들을 갖는 것을 용이하게 하기 위해 생성될 수 있다. 이러한 경로들은 서로 교차하여, 루프를 폐쇄할 수 있다. 루트를 따라 센서 데이터를 캡처하도록 지정되는 운전자에게 루트가 제공될 수 있다.
차량 루트는 차량을 주행시키거나 달리 운행하기 위해 차량 운전자에게 주어진 루트이다. 루트는 하나 이상의 더 작은 세그먼트들 또는 경로들을 포함할 수 있다. 예로서, 운전자는 4개의 경로들을 포함하는 루트를 할당받을 수 있으며, 각각은 도시 블록 주위의 동일한 랩(lap)을 포함한다. 그런 다음, 컴퓨터 시스템은 4개의 경로들을 비교하여, 예를 들어 배달 트럭들에 의한 폐색으로 인해 블록 주위의 랩들 중 하나 동안 놓쳤던 임의의 부분들을 채울 수 있다.
루트의 주행 동안, 원시 센서 데이터는, 예를 들어 하드 드라이브(예를 들어, 솔리드 스테이트 또는 플래시 드라이브) 상에 저장될 수 있다. 데이터는 루트의 주행 중에 셀룰러 전송에 의해 업로드되거나 Wi-Fi 또는 물리적 LAN 접속이 사용가능한 때에 경로를 주행한 후 전송될 수 있다. 또한, 데이터는 처리를 위한 센서 데이터 처리 시스템을 갖는 시설로 전달될 수 있는 하드 드라이브, 플래시, 또는 기타 휴대용 저장 매체로 전송될 수 있다.
일단 데이터가 수신되었으면, 센서 데이터 처리 시스템은 구조화된 지도 데이터를 생산하기 위해 데이터 상에서 동시 위치 파악 및 매핑(simultaneous localization and mapping, SLAM)과 유사한 프로세스를 수행한다. 센서 데이터 처리 시스템은 차량 상에서 실시간으로 데이터를 처리하거나 차량이 경로 주행을 완료한 후 저장된 데이터를 처리할 수 있다.
루트의 시작에 가까이, (위도, 경도, 고도) 또는 (x, y, z)와 같은 3차원 좌표계에서 차량의 초기 위치가 식별된다. 또한, 초기 방향(롤, 피치, 요(yaw))가 식별될 수 있다. 초기 위치는, 예를 들어 GPS 데이터로부터, 현재의 비디오 데이터로부터의 비디오를 셀룰러 위치 데이터로부터의 또는 또 다른 위치 소스로부터의 이력 지도 데이터와 비교함으로써 결정될 수 있다. 초기 방향은, 가속도계 및 자이로 데이터로부터, 현재의 비디오로부터의 비디오를 이력 데이터와 비교함으로써, 또는 또 다른 소스로부터 결정될 수 있다. 출발점으로부터, 차량 모션 센서 데이터는 차량이 거기로 이동하는 추정 위치를 추측 항법(dead reckon)으로 구하는 데 사용될 수 있다. 그런 다음, 카메라 데이터는 피처들을 식별하는 데 사용되고, 피처들에 대한 카메라들의 위치의 변경으로부터, 모션 센서들로부터 추측 항법으로 구해진 위치가 업데이트된다. 프로세스는 반복되어 차량 경로를 따라 일련의 수정된 위치들을 생성한다. 추측 항법의 프로세스는 때때로 주행 거리 측정(odometry)이라고 지칭된다.
유리하게는, 차량 루트들은 동일한 위치를 통과하도록 설계될 수 있어서, 경로는 그 자체로 대략 중첩되어 루프 폐쇄를 형성할 것이다. 그 시점에서, 루프 폐쇄 오류가 계산될 수 있다.
차량 모션 센서들은 차량 모션 데이터를 생성할 수 있지만, 이러한 센서들은 위치를 직접 제공하지 않는다. 그러나, 데이터는 위치를 결정하기 위해 처리될 수 있다. 예를 들어, 속도 판독값들은 적분되어 위치를 제공하고, 가속도계로부터의 관성 데이터가 두 번 적분되어 위치를 제공할 수 있다. 이러한 처리는 측정의 오류들을 악화시킬 수 있다.
두 지점들이 서로로부터 최대 루프 폐쇄 거리보다 적은 거리에 있는 것으로 관찰될 때 경로 자신과의 교차점이 관찰될 수 있다. 순차적인 관찰들과 같은 시간적으로 가까운 지점들을 루프를 형성하는 것으로서 검출하는 것을 피하기 위해, 루프 폐쇄를 검출하기 전에 커버된 최소 시간(최소 루프 시간) 또는 거리(최소 루프 거리)가 필요할 수 있다. 루프 폐쇄 오류로부터, 미가공 모션 센서들의 오류들은 계산되고 경로 전체에 수정이 적용될 수 있다. 루트가 동일한 경로를 통한 복수의 이동(trip)들을 포함한다면, 경로들을 통한 복수의 이동들로부터의 데이터는 통합되어 서로에 대해 경로들을 수정할 수 있다. 동일한 경로에 대한 반복되는 방문들 사이에 변경되지 않은 랜드마크 피처들이 식별될 수 있다. 도로 피처들(예를 들어, 연석들, 도로 표지판들, 기타 정지 물체들)은 식별되고 주석이 달려 구조화된 지도 데이터를 생산할 수 있다.
루트로부터의 구조화된 지도 데이터가 생산되면, 그것은 정지해 있지 않은 피처들(예를 들어, 주행 루트 동안 정지해 있었지만 이동할 수 있는 주차된 차들)을 제거하고 이력 지도를 업데이트하기 위해 이력 데이터와 비교될 수 있다. 예를 들어, 도로 표지판들이 추가되거나 제거될 수 있으며, 공사가 도로를 영구적으로 수정할 수 있다.
그런 다음, 업데이트된 이력 지도 데이터는 전용 지도 시스템들에 맞춰 적응되는 데이터 포맷들로 변환될 수 있는 기본형으로 저장될 수 있다.
실시예들
일 실시예에서, 내재적으로(intrinsically) 캘리브레이션된 카메라들은 어레이 내에서 외부적으로(extrinsically) 캘리브레이션되는 카메라들의 어레이 내에 장착된다. 어레이 장착 카메라들은 차량이 루트를 따라 진행할 때 비디오를 캡처한다.
카메라들은 GPS 신호를 사용하여 동기화될 수 있다. GPS 신호 자체는 일반적으로 차량 탐색을 위해 충분히 높은 정확도를 제공할 만큼 충분히 정확하지 않지만, GPS 시간 신호는 대략적으로 동시에 촬영된 이미지들이 그대로 처리될 수 있도록, 예를 들어 비디오 데이터를 타임 스탬프로 표시하여 상이한 비디오 피드들이 처리되도록 허용하기 위해, 상이한 이미지들 또는 비디오 데이터가 동기화되도록 허용할 만큼 충분히 정확하다.
차량 모션 센서들은 모션 데이터를 동시에 기록한다. 차량 모션 센서들은 그 카메라 어레이를 포함하는 마운트 내에 장착되거나 별도의 디바이스 내에 있을 수 있다. 또한, 센서 데이터는 셀룰러 전화와 같은 또 다른 디바이스로부터 도출될 수도 있다. 일 실시예에서, 가속도계, 자이로스코프, 및 GPS를 포함하는 관성 측정 유닛(IMU)이 카메라 어레이 마운트 내에 장착되고, 이 유닛의 GPS 신호는 카메라들을 동기화할 뿐만 아니라 모든 차량 센서 데이터에 타임 스탬핑하는 데 사용된다. 모든 센서 및 비디오 데이터의 GPS 타임 스탬프는 센서 데이터 처리 시스템이 처리 중에 비디오 데이터와 센서 데이터를 상관시켜, 융합 데이터를 형성하기 위해 비디오 데이터를 센서 데이터와 융합하는 것을 돕는다.
일 실시예에서, 개별 GPS 신호들 또는 공유 GPS 신호에 의해 트리거되는 복수의 마운트들이 있을 수 있다.
차량이 진행하는 루트는, 일 실시예에서, 하나 이상의 경로를 복수 회 반복하여, 반복적으로 주행될 수 있는 적어도 하나의 폐쇄 루프를 형성하도록 선택될 수 있다.
데이터는 수집 동안(예를 들어, 셀룰러 데이터에 의해) 데이터 저장소에 업로드될 수 있거나, 차량 상에 저장되고 나중에 LAN 접속 또는 Wi-Fi 접속이 사용가능할 때 업로드될 수 있다. 대안적으로, 데이터는 차량이 수집 시설에 주차할 때 또는 하드 드라이브 또는 플래시 드라이브를 수집 시설로 운송함으로써 물리적으로 전달될 수 있다.
데이터가 수신되면, 센서 데이터가 처리되어 차량의 위치를 "추측 항법"으로 구한다. (시간 t0에서의) 초기 위치 P0는 GPS 신호를 사용하여 비디오를 이력 지도 데이터와 비교함으로써, 또는 다른 수단에 의해 도출될 수 있다. 이 초기 위치로부터, 차량 이동 데이터를 사용하여 차량의 (시간 t1에서의) 새로운 위치 P1이 도출될 수 있다. 예를 들어, 거리는 가속도를 두 번 적분함으로써 계산될 수 있다. 차량의 초기 속도는, 차량이 정지되었을 때의 초기 위치를 선택하거나, GPS 데이터를 사용하여 차량의 초기 속도를 계산하거나, 비디오 데이터를 사용하여 차량의 초기 속도를 계산하거나, 차량의 차내 진단을 사용하여 차량의 속도를 결정함으로써 계산될 수 있다. 방향의 변화들은 자이로스코프 데이터와 가속도계 데이터를 결합함으로써 결정될 수 있다. 자기 나침반으로부터의 데이터 또한 사용될 수 있다. 이 데이터를 결합하는 것은 일부 오류 요인과 함께 차량의 새 위치 P1를 생산한다. 그런 다음, 이 새로운 위치 P1이 비디오 데이터를 사용하여 체크되고 수정될 수 있다. P0에서 정지해 있는 것으로 보이는 피처들이 비디오 데이터에서 식별된다. 시간 t1에서, 이러한 피처들의 정렬은 차량의 새로운 위치가 무엇인지를 결정하는 데 사용될 수 있다. 적어도 2개의 카메라들이 있기 때문에, 동일한 피처의 카메라 뷰들 사이의 시차 차이는 그것의 거리를 결정하는 데 사용될 수 있고, 동일한 피처의 2개의 상이한 뷰들은 차량의 위치의 변화가 결정되고 차량 모션 데이터에 기반하여 계산되는 위치와 비교되도록 허용한다. 이러한 방식으로, 센서 데이터 처리 시스템은 비디오 데이터 내의 피처들의 상대적인 움직임에 기반하여 융합 데이터로부터 계산되는 위치를 업데이트하고, 여기서 융합 데이터는 센서 데이터로부터 도출되어 차량 및 피처들에 대한 정확한 위치 데이터를 만든다. 센서 데이터 처리 시스템이 위치 데이터를 수정할 때, 센서 데이터의 편향들을 검출하고 업데이트된 위치 데이터를 사용하여 그것들을 수정한다. 비디오 데이터가 처리될 때, 가능한 피처들은 에지 검출 또는 기타 컴퓨터 비전 기술들에 의해 검출될 수 있다.
일 실시예에서, 관성 데이터를 포함하는 차량 모션 데이터는 P1에 대한 미가공 위치와 같은 미가공 위치 데이터를 생산하는 데 사용된다. 미가공 위치 P1이 계산된 후, 그것은 비디오 데이터를 사용하여 수정(업데이트)된다. 관성 데이터는 자이로스코프 및 가속도계에 의해 생산되는 데이터에 주로 의존할 수 있다. 이 데이터는 IMU로부터 온 것일 수 있다.
위치 데이터는 x, y, z 좌표 또는 기타 좌표계의 공간의 위치뿐만 아니라, 롤, 피치, 및 요 또는 x, y, z 또는 기타 좌표계의 속도와 같은 궤적 데이터를 포함할 수 있다는 것에 주목한다.
센서 데이터로부터 위치를 계산하고 비디오 데이터로부터 이를 수정하는 프로세스는, 경로를 따라, 예를 들어 비디오 카메라들(예를 들어, 24FPS)의 초당 프레임(FPS)의 프레임 속도로, 가능하게는 비디오 데이터의 각각의 초 동안 복수 회 반복된다.
유리하게는, 루트들은 폐쇄 경로들을 포함하도록 결정된다. 센서 데이터 처리 시스템이 차량이 차량의 경로를 교차하여 통과(동일한 위치에 두 번 도달)했다고 결정할 때, 센서 데이터 처리 시스템은 예를 들어 GPS 좌표들을 이전 GPS 좌표와 매칭함으로써, 비디오 장면들을 매칭함으로써, 알려진 피처들에 방향을 매칭함으로써, 또는 기술을 또 다른 지도 매칭 기술에 의해 루프 폐쇄 오류를 결정할 수 있다. 루프 폐쇄가 검출되었을 때, 계산된 위치의 누적 오류가 알려지고, 루프 폐쇄 시 경로 끝에서 계산되는 위치가 경로의 시작의 그것과 실질적으로 동일하도록 이전 위치들을 업데이트함으로써 수정될 수 있다. 이는 궤적 드리프트를 줄이도록 허용한다. 궤적 드리프트 수정이 계산될 수 있고 센서들의 임의의 편향이 향후 센서 데이터에 적용된다. 일 실시예에서, 루프 폐쇄 오류는 비디오 데이터로부터 계산되는 위치의 차이들에 기반하여 계산된다. 이는 피처들 및 시차를 사용하여, 루프를 통한 제1 패스로부터의 이미지들을 루프를 통한 제2 패스로부터의 이미지들과 비교함으로써 성취될 수 있다.
유리하게는, 경로의 동일한 부분에 대한 복수의 루프 폐쇄들 및 복수의 재방문들을 갖도록 루트들이 운전자들에게 제공될 수 있다. 상이한 루프들을 형성하는 상이한 경로들은 각각의 경로의 겹치는 세그먼트를 공유할 수 있다.
일 실시예에서, 카메라 어레이 내의 2개의 카메라들 사이의 거리는 대략 50cm이고, 이는 대략 20m보다 더 가까운 물체들의 위치를 찾는 데 있어서 소정의 정확도를 제공한다. 차량의 움직임은 물체들의 위치를 찾는 것을 향상시켜, 먼 거리에서 피처가 검출될 때, 그것의 거리 및 정밀한 위치에 대한 큰 불확실성이 있지만, 순차적인 비디오 프레임들에서 피처가 반복적으로 검출됨에 따라, 특히 차량이 물체에 가까워질수록 거리 및 위치가 점점 더 확실해진다. 즉, 피처에 대응하는 물체의 가능한 위치들의 포인트 클라우드는 피처가 상이한 위치들로부터 반복적으로 검출됨에 따라, 특히 차량이 물체에 더 가까이 가고 물체를 통과함에 따라 줄어든다. 더 빠르게 움직이는 차량은 피처에 대해 촬영된 이미지들의 더 적은 프레임들을 가질 수 있지만, 객체의 위치 정확도의 주요 결정 요소가 위치의 변화이기 때문에 결과 포인트 클라우드는 객체의 위치 추정만큼 정확할 수 있다. 극단적인 경우, 정지 차량은 이미지들 내의 피처들에 대한 많이 개선된 위치 정보를 제공하지 않는다. 이러한 이유로, 일 실시예에서, 비디오 스트림은 차량이 정지해 있다는 것이 검출될 때 중지될 수 있고 차량이 움직이고 있을 때 다시 시작될 수 있다.
지도 병합
루트로부터 지도가 만들어지면, 지도 병합 시스템은 지도를 이력 지도들과 병합할 수 있다. 지도는 서버에 의해 유지되는 지도 데이터베이스에 저장되거나 차량에 탑재될 수 있다. 이력 지도들은 서버 상에 저장될 수 있다.
일 실시예에서, 지도 병합 시스템은, 새로운 지도에서 정지해 있는 것으로 보이지만 이력 데이터에 기반하여 실제로는 일시적인 것과 같은 잘못된 피처들을 제거하기 위해 새로 만들어지는 지도를 편집한다. 또 다른 실시예에서, 지도 병합 시스템은 업데이트된 이력 지도를 만들기 위해 새로 만들어진 지도를 이력 지도와 병합한다. 어느 경우라도, 분석의 제1 단계는 새로운 지도(주행 루트로부터의 가장 최근 출력)와 이력 지도 사이의 변화 검출이다. 지도 병합 시스템은 변화된 피처들에 대해 변화들이 정지상태일 확률 대 일시적인 확률을 할당할 수 있다. 어느 한 지도의 구멍들도 채워질 수 있다. 예를 들어, 주차된 트럭이 새 지도의 부분들을 가렸을 수 있다. 주차된 트럭은 제거되어야 하는 일시적인 피처일 확률이 높은 것으로 검출된다. 피처를 제거한 후, 다른 지도들로부터의 이력 데이터가 새 지도로부터의 주차된 트럭을 제거함으로써 만들어지는 구멍을 채운다. 새로 만들어지는 지도를 이력 지도와 병합하기 위해, 지도 병합 시스템은 정렬 오류들이 피처들의 변화들로 여겨지지 않도록 지도들을 정밀하게 정렬할 수 있다. 예를 들어, 지도들을 적절하게 정렬하는 데 실패하면 도로 표지판들이 움직이거나 자라는 것처럼 보이게 된다.
도 1은 일 실시예에 따른 방법을 예시한다. 단계(100)에서, 방법이 시작된다. 단계(101)에서, 차량이 루트를 주행함에 따라 차량 센서 데이터가 수집된다. 데이터는 차량 상의 하드 드라이브 또는 기타 저장 디바이스 상에 저장된다. 단계(102)에서, 데이터는 데이터 처리 시스템에 업로드된다. 단계(103)에서, 센서 데이터 처리 시스템은 차량 센서 데이터로부터의 구조화된 지도 데이터를 생성한다. 단계(104)에서, 데이터는 기본형으로 저장된다. 단계(105)에서, 방법은 종료된다.
도 2는 일 실시예에 따른 카메라 어레이 마운트(200)를 예시한다. 카메라 어레이 마운트는 카메라 어레이 마운트에 내부적으로 장착되는 4개의 카메라들(202, 204, 206, 및 208)을 포함한다. 카메라 장착 어레이는 앞 유리 근처의 승객실 내에서 자동차와 같은 차량 내에 장착되고, 백미러(210)를 둘러싼다.
예시 시스템
일 실시예에 따르면, 본 명세서에 설명되는 기술들은 펌웨어, 메모리, 기타 저장소, 또는 조합의 프로그램 명령들에 따라 기술들을 수행하도록 프로그래밍된 하나의 또는 일반화된 컴퓨팅 시스템들에 의해 구현된다. 데스크탑 컴퓨터 시스템들, 휴대용 컴퓨터 시스템들, 핸드헬드(handheld) 디바이스들, 네트워킹 디바이스들 또는 기술들을 구현하기 위한 하드와이어드 및/또는 프로그램 로직을 통합하는 임의의 다른 디바이스와 같은, 특수 목적 컴퓨팅 디바이스들이 사용될 수 있다.
예를 들어, 도 3은 본 발명의 실시예가 구현될 수 있는 컴퓨터 시스템(300)을 예시하는 블록도이다. 컴퓨터 시스템(300)은 버스(302) 또는 정보를 통신하기 위한 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(302)와 결합되는 프로세서(304)를 포함한다. 프로세서(304)는 예를 들어 범용 마이크로프로세서일 수 있다.
또한, 컴퓨터 시스템(300)은 프로세서(304)에 의해 실행될 정보 및 명령어들을 저장하기 위해 버스(302)에 결합되는 랜덤 액세스 메모리(RAM) 또는 기타 동적 저장 디바이스와 같은 주 메모리(306)를 포함한다. 또한, 주 메모리(306)는 프로세서(304)에 의해 실행될 명령어들의 실행 동안 임시 변수들 또는 기타 중간 정보를 저장하는 데 사용될 수 있다. 이러한 명령어들은, 프로세서(304)에 의해 액세스가능한 비일시적 저장 매체 내에 저장될 때, 컴퓨터 시스템(300)을 명령어들에 명시되는 동작들을 수행하도록 커스터마이징되는(customized) 특수 목적 머신으로 만든다.
컴퓨터 시스템(300)은 프로세서(304)에 대한 정적 정보 및 명령어들을 저장하기 위해 버스(302)에 결합되는 판독 전용 메모리(ROM)(308) 또는 기타 정적 저장 디바이스를 추가로 포함한다. 자기 디스크 또는 광학 디스크와 같은 저장 디바이스(310)는 정보 및 명령어들을 저장하기 위해 버스(302)에 제공되고 결합된다.
컴퓨터 시스템(300)은 컴퓨터 사용자에게 정보를 디스플레이하기 위해 컴퓨터 모니터와 같은 디스플레이(312)에 버스(302)를 통해 결합될 수 있다. 영숫자(alphanumeric) 및 기타 키들을 포함하는 입력 디바이스(314)는 정보 및 명령 선택들을 프로세서(304)에 전달하기 위해 버스(302)에 결합된다. 또 다른 유형의 사용자 입력 디바이스는, 방향 정보 및 명령 선택들을 프로세서(304)에 전달하고 디스플레이(312) 상의 커서 움직임을 제어하기 위한, 마우스, 트랙볼, 또는 커서 방향 키들과 같은 커서 제어(316)이다. 이 입력 디바이스는 전형적으로 제1 축(예를 들어, x)과 제2 축(예를 들어, y)인 2개의 축들에 2개의 자유도들을 가지고, 이는 디바이스가 평면의 위치들을 명시하도록 허용한다.
컴퓨터 시스템(300)은 컴퓨터 시스템과 결합하여 컴퓨터 시스템(300)이 특수 목적 머신이 되도록 야기하는, 커스터마이징된 하드와이어드 로직, 하나 이상의 ASIC 또는 FPGA, 펌웨어 및/또는 프로그램 로직을 사용하여 본 명세서에 설명되는 기술들을 구현할 수 있다. 일 실시예에 따르면, 본 명세서의 기술들은, 프로세서(304)가 주 메모리(306)에 포함되는 하나 이상의 명령어의 하나 이상의 시퀀스를 실행하는 것에 응답하여 컴퓨터 시스템(300)에 의해 수행된다. 이러한 명령어들은 저장 디바이스(310)와 같은 또 다른 저장 매체로부터 주 메모리(306) 내로 판독될 수 있다. 주 메모리(306)에 포함되는 명령어들의 시퀀스들의 실행은, 프로세서(304)가 본 명세서에 설명되는 프로세스 단계들을 수행하도록 야기한다. 대안적인 실시예들에서, 하드와이어드 회로는 소프트웨어 명령어들 대신에 또는 이들과 조합하여 사용될 수 있다.
본 명세서에 사용되는 것과 같은 "저장 매체"라는 용어는, 머신이 특정 방식으로 동작하도록 야기하는 데이터 및/또는 명령어들을 저장하는 임의의 비일시적 매체를 지칭한다. 이러한 저장 매체는 비휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비휘발성 매체는, 예를 들어 저장 디바이스(310)와 같은 광학 또는 자기 디스크들을 포함한다. 휘발성 매체는 주 메모리(306)와 같은 동적 메모리를 포함한다. 저장 매체의 일반적인 형태들은, 예를 들어 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 구멍들의 패턴들이 있는 임의의 물리적 매체, RAM, PROM, EPROM, FLASH-EPROM, NVRAM, 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체는 전송 매체와 구별되지만, 전송 매체와 함께 사용될 수 있다. 전송 매체는 저장 매체 사이에서 정보를 전송하는 것에 참여한다. 예를 들어, 전송 매체는 버스(302)를 포함하는 와이어들을 포함하여, 동축 케이블들, 구리 와이어 및 광섬유를 포함한다. 또한, 전송 매체는 전파 및 적외선 데이터 통신들 중에 생성되는 것들과 같은 음향 또는 광파들의 형태를 취할 수 있다.
다양한 형태들의 매체는 실행을 위해 프로세서(304)에 하나 이상의 명령어의 하나 이상의 시퀀스를 운반하는 데 관련될 수 있다. 예를 들어, 명령어들은 처음에 원격 컴퓨터의 자기 디스크 또는 솔리드 스테이트 드라이브 상에서 운반될 수 있다. 원격 컴퓨터는 명령어들을 그것의 동적 메모리에 로딩하고 네트워크 접속을 통해 명령어들을 보낼 수 있다. 컴퓨터 시스템(300)에 로컬인 모뎀 또는 네트워크 인터페이스는 데이터를 수신할 수 있다. 버스(302)는 프로세서(304)가 명령어를 검색하고 실행하는 주 메모리(306)로 데이터를 운반한다. 주 메모리(306)에 의해 수신되는 명령어들은 프로세서(304)에 의한 실행 전 또는 후에 저장 디바이스(310) 상에 임의적으로(optionally) 저장될 수 있다.
또한, 컴퓨터 시스템(300)은 버스(302)에 결합되는 통신 인터페이스(318)를 포함한다. 통신 인터페이스(318)는 로컬 네트워크(322)에 접속되는 네트워크 링크(320)에 양방향 데이터 통신 결합을 제공한다. 예를 들어, 통신 인터페이스(318)는 대응하는 유형의 전화선에 데이터 통신 접속을 제공하기 위한 통합 서비스 디지털 네트워크(ISDN) 카드, 케이블 모뎀, 위성 모뎀, 또는 모뎀일 수 있다. 무선 링크들 또한 구현될 수 있다. 임의의 이러한 구현에서, 통신 인터페이스(318)는 다양한 유형들의 정보를 나타내는 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광학 신호들을 송신하고 수신한다.
네트워크 링크(320)는 전형적으로 하나 이상의 네트워크를 통해 다른 데이터 디바이스들에 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(320)는 로컬 네트워크(322)를 통해 호스트 컴퓨터(324), 또는 인터넷 서비스 제공자(ISP)(326)에 의해 운영되는 데이터 장비에 대한 접속을 제공할 수 있다. 결국 ISP(326)는 이제 일반적으로 "인터넷"(328)으로 지칭되는 월드 와이드 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(322) 및 인터넷(328)은 모두 디지털 데이터 스트림들을 운반하는 전기, 전자기, 또는 광학 신호들을 사용한다. 컴퓨터 시스템(300)으로 및 컴퓨터 시스템(300)으로부터 디지털 데이터를 운반하는, 다양한 네트워크들을 통한 신호들과 네트워크 링크(320) 상의 및 통신 인터페이스(318)를 통한 신호들은 전송 매체의 예시 형태들이다.
컴퓨터 시스템(300)은 네트워크(들), 네트워크 링크(320) 및 통신 인터페이스(318)를 통해 메시지들을 보내고 프로그램 코드를 포함하는 데이터를 수신할 수 있다. 인터넷 예에서, 서버(330)는 인터넷(328), ISP(326), 로컬 네트워크(322) 및 통신 인터페이스(318)를 통해 애플리케이션 프로그램에 대한 요청된 코드를 전송할 수 있다. 수신되는 코드는 수신될 때 프로세서(304)에 의해 실행될 수 있고, 및/또는 나중의 실행을 위해 저장 디바이스(310) 또는 다른 비휘발성 저장소에 저장될 수 있다.
본 명세서에 설명되는 프로세스들의 동작들은 본 명세서에 달리 표시되지 않거나 달리 문맥상 명백히 모순되지 않는 한 임의의 적합한 순서로 수행될 수 있다. 본 명세서에 설명되는 프로세스들(또는 그 변동들 및/또는 조합들)은 실행가능한 명령어들로 구성되는 하나 이상의 컴퓨터 시스템의 제어 하에 수행될 수 있고, 하드웨어 또는 그 조합들에 의해 하나 이상의 프로세서 상에 총괄적으로 실행하는 코드(예를 들어, 실행가능한 명령어들, 하나 이상의 컴퓨터 프로그램 또는 하나 이상의 애플리케이션)로 구현될 수 있다. 코드는, 예를 들어 하나 이상의 프로세서에 의해 실행가능한 복수의 명령어들을 포함하는 컴퓨터 프로그램의 형태로 컴퓨터 판독가능 저장 매체 상에 저장될 수 있다. 컴퓨터 판독가능 저장 매체는 비일시적일 수 있다.
"A, B, 및 C 중 적어도 하나" 또는 "A, B 및 C 중 적어도 하나"라는 형식의 구문들과 같은 접속 언어는, 달리 구체적으로 진술되거나 달리 문맥상 명백히 모순되지 않는 한, 항목, 용어 등이 A 또는 B 또는 C, 또는 A 및 B 및 C의 세트의 임의의 비어있지 않은 서브세트일 수 있다는 것을 제시하기 위해 일반적으로 사용되는 바와 같은 문맥으로 달리 이해된다. 예를 들어, 3개의 구성원들을 갖는 세트의 실례에서, "A, B, 및 C 중 적어도 하나" 및 "A, B 및 C 중 적어도 하나"라는 접속 구문들은 다음 세트들 중 임의의 하나를 지칭한다: {A}, {B}, {C}, {A, B}, {A, C}, {B, C}, {A, B, C}. 따라서, 이러한 접속 언어는 일반적으로 특정 실시예들이 적어도 하나의 A, 적어도 하나의 B 및 적어도 하나의 C 각각이 존재하도록 필요로 한다는 것을 암시하도록 의도되지 않는다.
본 명세서에 제공되는 임의의 모든 예들 또는 예시적인 언어(예를 들어, "와 같은")의 사용은 단지 본 발명의 실시예들을 더 잘 밝히기 위한 것이며 달리 청구되지 않는 한 본 발명의 범위를 제한하지 않는다. 본 명세서의 어떤 언어도 임의의 청구되지 않은 요소를 본 발명의 실시에 필수적인 것으로 표시하는 것으로 해석되어서는 안 된다.
전술한 명세서에서, 본 발명의 실시예들은 구현마다 달라질 수 있는 다수의 특정 상세들을 참조하여 설명되었다. 따라서, 명세서 및 도면들은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다. 본 발명의 범위의 유일하고 독점적인 지표, 및 출원인들에 의해 본 발명의 범위인 것으로 의도되는 것은, 임의의 후속 수정을 포함하여 이러한 청구항들이 발행하는 특정 형식인 이 출원으로부터 발행하는 청구항들의 세트의 문자 그대로 동등한 범위이다.
본 개시를 읽은 후 추가 실시예들이 본 기술분야의 통상의 기술자에게 구상될 수 있다. 다른 실시예들에서, 위에서 개시된 발명의 조합들 또는 하위 조합들은 유리하게 만들어질 수 있다. 컴포넌트들의 예시 배열들은 예시의 목적들로 보여진 것이며, 조합들, 추가들, 재배열들 등이 본 발명의 대안적인 실시예들에서 고려된다는 것이 이해되어야 한다. 따라서, 본 발명이 예시적인 실시예들에 관하여 설명되었지만, 본 기술분야의 통상의 기술자는 수많은 수정들이 가능하다는 것을 인식할 것이다.
예를 들어, 본 명세서에 설명되는 프로세스들은 하드웨어 컴포넌트들, 소프트웨어 컴포넌트들, 및/또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 따라서, 명세서 및 도면들은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다. 그러나, 청구항들에 기재된 본 발명의 더 넓은 정신 및 범위를 벗어나지 않고 다양한 수정들 및 변화들이 이루어질 수 있고 본 발명은 이어지는 청구항들의 범위 내에서 모든 수정들 및 등가물들을 커버하도록 의도된다는 것이 명백할 것이다.
본 명세서에 인용된 간행물들, 특허 출원들 및 특허들을 포함하는 모든 참조들은, 마치 각각의 참조가 개별적으로 및 구체적으로 참조에 의해 통합되는 것으로 표시되고 그 전체가 본 명세서에 기재된 것처럼 동일한 정도로 참조에 의해 통합된다.

Claims (20)

  1. 구조화된 지도 데이터(structured map data)를 생성하는 방법으로서,
    차량 상에 장착되는 적어도 하나의 센서로부터 타임-스탬핑된(time-stamped) 센서 데이터를 수신하는 단계;
    적어도 2개의 비디오 스트림들을 포함하는 타임-스탬핑된 비디오 데이터를 수신하는 단계 - 각각의 비디오 스트림은 상기 차량 상에 장착되는 적어도 2개의 카메라들 중의 카메라에 의해 생성됨 -;
    상기 타임-스탬핑된 센서 데이터로부터, 복수의 공간 판독 값들을 계산하는 단계 - 각각의 공간 판독 값은 위치 및 연관된 타임 스탬프를 포함하고, 그에 의해, 상기 위치는 상기 연관된 타임스탬프에 의해 표시되는 시간 동안 적어도 상기 하나의 센서가 있는 것으로 간주된 위치를 표시하고, 상기 복수의 공간 판독 값들은 위치 p0 및 시간 t0를 포함하는 제1 공간 판독 값과 위치 p1 및 시간 t1을 포함하는 제2 공간 판독 값을 포함함 -;
    상기 타임-스탬핑된 비디오 데이터로부터, 상기 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들을 계산하는 단계 - 각각의 이미지 기록은 이미지 및 연관된 타임 스탬프를 포함하고, 그에 의해, 상기 이미지는 상기 연관된 타임 스탬프에 기록되었던 것으로 간주됨 -;
    프로세서를 사용하여, 적어도 2개의 t0 이미지 기록들을 식별하는 단계 - 각각의 t0 이미지 기록은, 상기 적어도 2개의 t0 이미지 기록들 중의 각각의 이미지 기록이 t0와 대략 동일한 연관된 타임 스탬프를 갖도록, 상기 적어도 2개의 비디오 스트림들 각각에 대한 상기 복수의 이미지 기록들 중 하나로부터 선택됨 -;
    프로세서를 사용하여, 적어도 2개의 t1 이미지 기록들을 식별하는 단계 - 각각의 t1 이미지 기록은, 상기 적어도 2개의 t1 이미지 기록들 중의 각각의 이미지 기록이 t1과 대략 동일한 연관된 타임 스탬프를 갖도록, 상기 적어도 2개의 비디오 스트림들 각각에 대한 상기 복수의 이미지 기록들 중 하나로부터 선택됨 -;
    프로세서를 사용하여, 상기 적어도 2개의 t0 이미지 기록들 각각 및 상기 적어도 2개의 t1 이미지 기록들에 존재하는 고정 피처를 식별하는 단계;
    상기 적어도 2개의 t0 이미지 기록들 사이의 시차 차이(parallax difference)에 기반하여 시간 t0에서의 상기 고정 피처의 t0 상대적 피처 위치를 계산하는 단계;
    상기 적어도 2개의 t1 이미지 기록들 사이의 시차 차이에 기반하여 시간 t1에서의 상기 고정 피처의 t1 상대적 피처 위치를 계산하는 단계;
    상기 t0 상대적 피처 위치와 상기 t1 상대적 피처 위치 사이의 차이에 기반하여, p1에 대한 조정을 결정하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    프로세서를 사용하여, 상기 이미지 기록들의 복수의 고정 피처들을 식별하는 단계;
    상기 복수의 고정 피처들 각각에 대해, 적어도 2개의 이미지 기록들에 기반하여 상기 고정 피처의 적어도 하나의 상대적 피처 위치를 계산하여 복수의 상대적 피처들 위치들을 생산하는 단계;
    상기 복수의 상대적 피처 위치들에 기반하여 상기 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 상기 위치에 대한 조정을 결정함으로써 복수의 조정들을 생산하는 단계;
    상기 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 상기 위치에 상기 복수의 조정들을 적용하여 복수의 조정된 공간 판독 값들을 생산하는 단계;
    상기 복수의 조정된 공간 판독 값들의 나중 위치가 상기 복수의 조정된 공간 판독 값들의 이전 위치의 최대 루프 폐쇄 거리 내에 있다는 것을 검출하는 단계 - 상기 나중 위치 및 이전 위치는 최소 루프 시간 및 최소 루프 거리 중 하나에 의해 분리되고, 상기 나중 위치는 나중 타임 스탬프와 연관되고 상기 이전 위치는 이전 타임 스탬프와 연관됨 -; 및
    상기 이전 타임 스탬프와 대략 동일한 연관된 타임 스탬프를 갖는, 상기 복수의 이미지 기록들 중의 제1 이미지 기록, 및 상기 나중 타임 스탬프와 대략 동일한 연관된 타임 스탬프를 갖는 제2 이미지 기록으로부터 루프 폐쇄 오류를 계산하는 단계
    를 더 포함하는, 방법.
  3. 제3항에 있어서, 상기 루프 폐쇄 오류는 상기 복수의 조정된 공간 판독 값들에 대한 추가 조정을 계산하는 데 사용되는, 방법.
  4. 제1항에 있어서, 상기 타임-스탬핑된 센서 데이터는 상기 차량 내에 장착되는 가속도계로부터의 데이터를 포함하고, 타임 스탬프는 전세계 위치 파악 시스템(Global Positioning System)으로부터의 타이밍 신호를 사용하여 상기 센서 데이터에 적용되는, 방법.
  5. 제4항에 있어서, 상기 적어도 2개의 카메라들은 상기 차량 상에 장착되는 카메라 어레이 내에 장착되는, 방법.
  6. 구조화된 지도 데이터를 생성하는 방법으로서,
    차량 상에 장착되는 적어도 하나의 센서로부터의 타임-스탬핑된 센서 데이터를 수신하는 단계;
    적어도 2개의 비디오 스트림들을 포함하는 타임-스탬핑된 비디오 데이터를 수신하는 단계 - 각각의 비디오 스트림은 상기 차량 상에 장착되는 적어도 2개의 카메라들 중의 카메라에 의해 생산됨 -;
    상기 타임-스탬핑된 센서 데이터로부터, 복수의 공간 판독 값들을 계산하는 단계 - 각각의 공간 판독 값은 위치 및 연관된 타임 스탬프를 포함하고, 그에 의해, 상기 위치는 상기 연관된 타임스탬프에 의해 표시되는 시간 동안 상기 적어도 하나의 센서가 있다고 간주되는 위치를 표시함 -;
    상기 타임-스탬핑된 비디오 데이터로부터, 상기 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들을 계산하는 단계 - 각각의 이미지 기록은 이미지 및 연관된 타임 스탬프를 포함하고, 그에 의해, 상기 이미지는 상기 연관된 타임 스탬프에 기록되었던 것으로 간주됨 -;
    프로세서를 사용하여, 피처와 연관된 복수의 피처 이미지 기록들을 식별하는 단계 - 상기 피처 이미지 기록들은 각각의 이미지 기록 내의 각각의 이미지가 상기 피처를 포함하게 되는 상기 복수의 이미지 기록들의 서브세트임 -;
    상기 피처 이미지 기록들 내의 각각의 이미지로부터 상대적 피처 위치를 계산함으로써 복수의 상대적 피처 위치들을 계산하는 단계; 및
    복수의 상대적 피처 위치들에 기반하여 상기 피처에 대한 복수의 위치들을 포함하는 포인트 클라우드를 생산하는 단계
    를 포함하는, 방법.
  7. 제6항에 있어서, 상기 피처의 확률적 위치는 상기 포인트 클라우드로부터 계산되고, 상기 피처를 포함하는 더 많은 타임-스탬핑된 비디오 데이터가 수집됨에 따라 상기 확률적 위치의 정확도가 개선되는, 방법.
  8. 제7항에 있어서, 피처의 상기 확률적 위치는 상기 피처가 정지해 있는지를 결정하기 위해 이력 지도 데이터와 비교되는, 방법.
  9. 제7항에 있어서, 상기 피처의 상기 확률적 위치는 이력 지도 데이터를 업데이트하는 데 사용되는, 방법.
  10. 제6항에 있어서,
    프로세서를 사용하여, 적어도 2개의 t0 이미지 기록들을 식별하는 단계 - 각각의 t0 이미지 기록은, 상기 적어도 2개의 t0 이미지 기록들 중의 각각의 이미지 기록이 t0와 대략 동일한 연관된 타임 스탬프를 갖도록, 상기 적어도 2개의 비디오 스트림들 각각에 대한 상기 복수의 이미지 기록들 중 하나로부터 선택됨 -;
    프로세서를 사용하여, 적어도 2개의 t1 이미지 기록들을 식별하는 단계 - 각각의 t1 이미지 기록은, 상기 적어도 2개의 t1 이미지 기록들 중의 각각의 이미지 기록이 t1과 대략 동일한 연관된 타임 스탬프를 갖도록, 상기 적어도 2개의 비디오 스트림들 각각에 대한 상기 복수의 이미지 기록들 중 하나로부터 선택됨 -;
    프로세서를 사용하여, 상기 적어도 2개의 t0 이미지 기록들 각각 및 상기 적어도 2개의 t1 이미지 기록들에 존재하는 고정 피처를 식별하는 단계;
    상기 적어도 2개의 t0 이미지 기록들 사이의 시차 차이에 기반하여 시간 t0에서 상기 고정 피처의 t0 상대적 피처 위치를 계산하는 단계;
    상기 적어도 2개의 t1 이미지 기록들 사이의 시차 차이에 기반하여 시간 t1에서 상기 고정 피처의 t1 상대적 피처 위치를 계산하는 단계;
    상기 t0 상대적 피처 위치와 상기 t1 상대적 피처 위치 사이의 차이에 기반하여, p1에 대한 조정을 결정하는 단계
    를 더 포함하는, 방법.
  11. 제10항에 있어서,
    상기 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 상기 위치에 대한 조정을 결정함으로써 복수의 조정들을 생산하는 단계 - 상기 복수의 조정들은 프로세서를 사용하여 상기 이미지 기록들에서 식별되는 복수의 고정 피처들의 복수의 상대적 피처 위치들에 기반함 -;
    상기 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 상기 위치에 상기 복수의 조정들을 적용하여 복수의 조정된 공간 판독 값들을 생산하는 단계;
    상기 복수의 조정된 공간 판독 값들의 나중 위치가 상기 복수의 조정된 공간 판독 값들의 이전 위치의 최대 루프 폐쇄 거리 내에 있다는 것을 검출하는 단계 - 상기 나중 위치 및 이전 위치는 최소 루프 시간 및 최소 루프 거리 중 하나에 의해 분리됨 -; 및
    상기 나중 위치, 상기 나중 위치와 연관된 상기 타임 스탬프, 상기 이전 위치, 및 상기 이전 위치의 상기 타임 스탬프에 기반하여 상기 타임 스탬핑된 비디오 데이터로부터의 루프 폐쇄 오류를 계산하는 단계
    를 더 포함하는, 방법.
  12. 제11항에 있어서, 상기 루프 폐쇄 오류는 상기 포인트 클라우드 내의 적어도 하나의 위치에 대한 조정을 계산하는 데 사용되는, 방법.
  13. 제1항에 있어서, 상기 타임-스탬핑된 센서 데이터는 상기 차량 내에 장착되는 관성 측정 유닛(Inertial Measurement Unit)으로부터의 데이터 및 상기 차량 내에 장착되는 전세계 위치 파악 시스템으로부터의 타임-스탬프를 포함하는, 방법.
  14. 구조화된 지도 데이터를 생성하기 위한 시스템으로서,
    시간 소스, 센서 데이터를 수집하는 센서들, 및 각각이 비디오 스트림을 생산하는 적어도 2개의 카메라들의 어레이를 갖는 차량 - 상기 시간 소스로부터의 타임 스탬프들은 상기 센서 데이터에 적용되어 타임-스탬핑된 센서 데이터를 생산하고, 각각의 비디오 스트림에 적용되어 타임-스탬핑된 비디오 데이터를 생산함 -; 및
    상기 타임-스탬핑된 센서 데이터 및 타임-스탬핑된 비디오 데이터를 수신하는 센서 데이터 처리 시스템
    을 포함하고, 상기 센서 데이터 처리 시스템은 다음의 단계들:
    (a) 상기 타임-스탬핑된 센서 데이터로부터, 복수의 공간 판독 값들을 계산하는 단계 - 각각의 공간 판독 값은 위치 및 연관된 타임 스탬프를 포함하고, 그에 의해, 상기 위치는 상기 연관된 타임스탬프에 의해 표시되는 시간 동안 상기 적어도 상기 하나의 센서가 있다고 간주된 위치를 표시하고, 상기 복수의 공간 판독 값들은 위치 p0 및 시간 t0를 포함하는 제1 공간 판독 값과 위치 p1 및 시간 t1을 포함하는 제2 공간 판독 값을 포함함 -;
    (b) 상기 타임-스탬핑된 비디오 데이터로부터, 상기 적어도 2개의 비디오 스트림들 각각에 대한 복수의 이미지 기록들을 계산하는 단계 - 각각의 이미지 기록은 이미지 및 연관된 타임 스탬프를 포함하고, 그에 의해, 상기 이미지는 연관된 타임 스탬프에서 기록되었던 것으로 간주됨 -;
    (c) 프로세서를 사용하여, 적어도 2개의 t0 이미지 기록들을 식별하는 단계 - 각각의 t0 이미지 기록은, 상기 적어도 2개의 t0 이미지 기록들 중의 각각의 이미지 기록이 t0와 대략 동일한 연관된 타임 스탬프를 갖도록, 상기 적어도 2개의 비디오 스트림들 각각에 대한 상기 복수의 이미지 기록들 중 하나로부터 선택됨 -;
    (d) 상기 프로세서를 사용하여, 적어도 2개의 t1 이미지 기록들을 식별하는 단계 - 각각의 t1 이미지 기록은, 상기 적어도 2개의 t1 이미지 기록들 중의 각각의 이미지 기록이 t1과 대략 동일한 연관된 타임 스탬프를 갖도록, 상기 적어도 2개의 비디오 스트림들 각각에 대한 상기 복수의 이미지 기록들 중 하나로부터 선택됨 -;
    (e) 상기 프로세서를 사용하여, 상기 적어도 2개의 t0 이미지 기록들 각각 및 상기 적어도 2개의 t1 이미지 기록들에 존재하는 고정 피처를 식별하는 단계;
    (f) 상기 적어도 2개의 t0 이미지 기록들 사이의 시차 차이에 기반하여 시간 t0에서의 상기 고정 피처의 t0 상대적 피처 위치를 계산하는 단계;
    (g) 상기 적어도 2개의 t1 이미지 기록들 사이의 시차 차이에 기반하여 시간 t1에서의 상기 고정 피처의 t1 상대적 피처 위치를 계산하는 단계;
    (h) 상기 t0 상대적 피처 위치와 상기 t1 상대적 피처 위치 사이의 차이에 기반하여, p1에 대한 조정을 결정하는 단계
    를 수행하는, 시스템.
  15. 제14항에 있어서, 상기 센서 데이터 처리는:
    상기 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 상기 위치에 대한 조정을 결정함으로써 복수의 조정들을 생산하는 단계 - 상기 복수의 조정들은 상기 프로세서를 사용하여 상기 이미지 기록들에서 식별되는 복수의 고정 피처들의 복수의 상대적 피처 위치들에 기반함 -;
    상기 복수의 공간 판독 값들 중의 각각의 공간 판독 값의 상기 위치에 상기 복수의 조정들을 적용하여 복수의 조정된 공간 판독 값들을 생산하는 단계;
    상기 복수의 조정된 공간 판독 값들의 나중 위치가 상기 복수의 조정된 공간 판독 값들의 이전 위치의 최대 루프 폐쇄 거리 내에 있다는 것을 검출하는 단계 - 상기 나중 위치 및 이전 위치는 최소 루프 시간 및 최소 루프 거리 중 하나에 의해 분리됨 -; 및
    상기 나중 위치, 상기 나중 위치와 연관된 상기 타임 스탬프, 상기 이전 위치, 및 상기 이전 위치의 상기 타임 스탬프에 기반하여 상기 타임 스탬핑된 비디오 데이터로부터의 루프 폐쇄 오류를 계산하는 단계
    를 더 수행하는, 시스템.
  16. 제15항에 있어서, 상기 루프 폐쇄 오류는 상기 복수의 조정된 공간 판독 값들에 대한 추가 조정을 계산하는 데 사용되는, 시스템.
  17. 제14항에 있어서, 상기 센서 데이터 처리는:
    상기 프로세서를 사용하여, 피처와 연관된 복수의 피처 이미지 기록들을 식별하는 단계 - 상기 피처 이미지 기록들은 상기 피처 이미지 기록들 내의 각각의 타임 스탬프에 대해 상기 타임 스탬프와 연관된 적어도 하나의 이미지가 상기 피처를 포함하게 되는 상기 복수의 이미지 기록들의 서브세트임 -; 및
    상기 피처 이미지 기록들 내의 각각의 이미지로부터 상대적 피처 위치를 계산함으로써 복수의 상대적 피처 위치들을 계산하는 단계; 및
    상기 복수의 상대적 피처 위치들에 기반하여 상기 피처에 대한 복수의 위치들을 포함하는 포인트 클라우드를 생산하는 단계
    를 더 수행하는, 시스템.
  18. 제17항에 있어서, 상기 피처의 확률적 위치는 상기 포인트 클라우드로부터 계산되고, 상기 피처를 포함하는 더 많은 타임-스탬핑된 비디오 데이터가 수집됨에 따라 상기 확률적 위치의 정확도가 개선되는, 시스템.
  19. 제18항에 있어서, 피처의 상기 확률적 위치는 상기 피처가 정지해 있는지를 결정하기 위해 이력 지도 데이터와 비교되는, 시스템.
  20. 제14항에 있어서, 센서 데이터를 수집하는 상기 센서들은 가속도계 및 자이로스코프(gyroscope)를 포함하고, 상기 시간 소스는 전세계 위치 파악 시스템인, 시스템.
KR1020217026231A 2019-01-22 2020-01-22 차량 센서들 및 카메라 어레이들로부터의 구조화된 지도 데이터의 생성 KR20210118119A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/254,508 2019-01-22
US16/254,508 US11004224B2 (en) 2019-01-22 2019-01-22 Generation of structured map data from vehicle sensors and camera arrays
PCT/US2020/014558 WO2020154366A1 (en) 2019-01-22 2020-01-22 Generation of structured map data from vehicle sensors and camera arrays

Publications (1)

Publication Number Publication Date
KR20210118119A true KR20210118119A (ko) 2021-09-29

Family

ID=71608397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217026231A KR20210118119A (ko) 2019-01-22 2020-01-22 차량 센서들 및 카메라 어레이들로부터의 구조화된 지도 데이터의 생성

Country Status (9)

Country Link
US (2) US11004224B2 (ko)
EP (1) EP3899684A4 (ko)
JP (1) JP2022518911A (ko)
KR (1) KR20210118119A (ko)
CN (1) CN113678079A (ko)
CA (1) CA3127451A1 (ko)
IL (1) IL285029A (ko)
MX (1) MX2021008782A (ko)
WO (1) WO2020154366A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102589483B1 (ko) * 2022-09-26 2023-10-16 한국건설기술연구원 건설 인프라 스캔 작업 지원용 로버 기반 3차원 스캔 모바일 맵핑 시스템 및 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6607657B2 (ja) * 2017-07-20 2019-11-20 株式会社トヨタマップマスター 新規道路推定支援装置、新規道路推定支援方法、コンピュータプログラム及びコンピュータプログラムを記録した記録媒体
WO2019187855A1 (ja) * 2018-03-29 2019-10-03 パナソニックIpマネジメント株式会社 制御装置、及び地図生成方法
US11004224B2 (en) 2019-01-22 2021-05-11 Velodyne Lidar Usa, Inc. Generation of structured map data from vehicle sensors and camera arrays
AU2020285361A1 (en) * 2019-05-24 2022-01-20 Aerometrex Pty Ltd An aerial imaging system and method
DE102021103134A1 (de) 2021-02-10 2022-08-11 Cariad Se Verfahren zum Betreiben einer Sensorschaltung in einem Kraftfahrzeug, entsprechend betreibbare Sensorschaltung und Kraftfahrzeug mit der Sensorschaltung
WO2022231523A1 (en) * 2021-04-29 2022-11-03 National University Of Singapore Multi-camera system
CN113724323A (zh) * 2021-08-24 2021-11-30 杭州海康威视数字技术股份有限公司 一种地图构建方法、装置及设备
CN114172610B (zh) * 2021-12-08 2024-05-07 北京经纬恒润科技股份有限公司 一种多源数据同步处理方法、装置及系统
US20230205753A1 (en) * 2021-12-29 2023-06-29 Lyft, Inc. Systems and methods for updating maps and evaluating map accuracy based on collected image data
WO2023188262A1 (ja) * 2022-03-31 2023-10-05 本田技研工業株式会社 地図生成装置
WO2024031141A1 (en) * 2022-08-09 2024-02-15 Visionary Machines Pty Ltd Systems and methods for generating and/or using 3-dimensional information with one or more moving cameras
CN115973178B (zh) * 2023-03-17 2023-05-23 禾多科技(北京)有限公司 车辆移动控制方法、装置、电子设备和计算机可读介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5633872A (en) * 1994-06-08 1997-05-27 Eon Corporation Interactive radio
US6789005B2 (en) * 2002-11-22 2004-09-07 New York Air Brake Corporation Method and apparatus of monitoring a railroad hump yard
US20070070069A1 (en) * 2005-09-26 2007-03-29 Supun Samarasekera System and method for enhanced situation awareness and visualization of environments
US7958536B2 (en) * 2008-03-31 2011-06-07 Broadcom Corporation Video transmission system with timing based on a global clock and methods for use therewith
US20100204974A1 (en) * 2009-02-09 2010-08-12 Utah State University Lidar-Assisted Stero Imager
US9405972B2 (en) * 2013-09-27 2016-08-02 Qualcomm Incorporated Exterior hybrid photo mapping
US9560312B2 (en) * 2013-12-11 2017-01-31 Cellco Partnership Time synchronization of video and data inside a mobile device
WO2017059581A1 (en) * 2015-10-09 2017-04-13 SZ DJI Technology Co., Ltd. Salient feature based vehicle positioning
US10321208B2 (en) * 2015-10-26 2019-06-11 Alpinereplay, Inc. System and method for enhanced video image recognition using motion sensors
CA3008886A1 (en) * 2015-12-18 2017-06-22 Iris Automation, Inc. Real-time visual situational awareness system
US9965689B2 (en) * 2016-06-09 2018-05-08 Qualcomm Incorporated Geometric matching in visual navigation systems
US10437342B2 (en) * 2016-12-05 2019-10-08 Youspace, Inc. Calibration systems and methods for depth-based interfaces with disparate fields of view
US10371530B2 (en) * 2017-01-04 2019-08-06 Qualcomm Incorporated Systems and methods for using a global positioning system velocity in visual-inertial odometry
US10551509B2 (en) * 2017-06-30 2020-02-04 GM Global Technology Operations LLC Methods and systems for vehicle localization
US10437252B1 (en) * 2017-09-08 2019-10-08 Perceptln Shenzhen Limited High-precision multi-layer visual and semantic map for autonomous driving
JP6920159B2 (ja) * 2017-09-29 2021-08-18 株式会社デンソー 車両の周辺監視装置と周辺監視方法
US11004224B2 (en) 2019-01-22 2021-05-11 Velodyne Lidar Usa, Inc. Generation of structured map data from vehicle sensors and camera arrays

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102589483B1 (ko) * 2022-09-26 2023-10-16 한국건설기술연구원 건설 인프라 스캔 작업 지원용 로버 기반 3차원 스캔 모바일 맵핑 시스템 및 방법

Also Published As

Publication number Publication date
CN113678079A (zh) 2021-11-19
CA3127451A1 (en) 2020-07-30
IL285029A (en) 2021-09-30
EP3899684A1 (en) 2021-10-27
US20210248768A1 (en) 2021-08-12
MX2021008782A (es) 2021-11-12
WO2020154366A1 (en) 2020-07-30
US11915440B2 (en) 2024-02-27
US11004224B2 (en) 2021-05-11
US20200234459A1 (en) 2020-07-23
JP2022518911A (ja) 2022-03-17
EP3899684A4 (en) 2023-03-08

Similar Documents

Publication Publication Date Title
US11915440B2 (en) Generation of structured map data from vehicle sensors and camera arrays
JP7045628B2 (ja) 車両の動作を制御するための車両の装置、車両、およびコンピュータプログラム
KR102425272B1 (ko) 디지털 지도에 대한 위치를 판별하기 위한 방법 및 시스템
CN107145578B (zh) 地图构建方法、装置、设备和系统
WO2019161134A1 (en) Lane marking localization
CN110945320B (zh) 车辆定位方法和系统
KR20180101717A (ko) 맵들을 사용하는 차량 컴포넌트 제어
JP6380936B2 (ja) 移動体及びシステム
KR20210077617A (ko) 융합된 카메라/LiDAR 데이터 포인트를 사용한 자동화된 대상체 주석 달기
US11352010B2 (en) Obstacle perception calibration system for autonomous driving vehicles
CN113048995A (zh) 支持自主运载工具导航的长期对象跟踪
EP3693702A1 (en) Method for localizing a vehicle
US11662745B2 (en) Time determination of an inertial navigation system in autonomous driving systems
US11651598B2 (en) Lane mapping and localization using periodically-updated anchor frames
EP4113063A1 (en) Localization of autonomous vehicles using camera, gps, and imu
RU2772620C1 (ru) Создание структурированных картографических данных с помощью датчиков транспортного средства и массивов камер
US20220198714A1 (en) Camera to camera calibration
US20240053491A1 (en) Error characterization for gnss-based position estimates on constrained routes
KR20230075898A (ko) 다중플랫폼 및 다중센서 융합에 의한 데이터 수집 방법