KR102292277B1 - 자율 주행 차량에서 3d cnn 네트워크를 사용하여 솔루션을 추론하는 lidar 위치 추정 - Google Patents

자율 주행 차량에서 3d cnn 네트워크를 사용하여 솔루션을 추론하는 lidar 위치 추정 Download PDF

Info

Publication number
KR102292277B1
KR102292277B1 KR1020197036957A KR20197036957A KR102292277B1 KR 102292277 B1 KR102292277 B1 KR 102292277B1 KR 1020197036957 A KR1020197036957 A KR 1020197036957A KR 20197036957 A KR20197036957 A KR 20197036957A KR 102292277 B1 KR102292277 B1 KR 102292277B1
Authority
KR
South Korea
Prior art keywords
point cloud
lidar
point
points
key
Prior art date
Application number
KR1020197036957A
Other languages
English (en)
Other versions
KR20200096408A (ko
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 KR20200096408A publication Critical patent/KR20200096408A/ko
Application granted granted Critical
Publication of KR102292277B1 publication Critical patent/KR102292277B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/491Details of non-pulse systems
    • G01S7/4912Receivers
    • G01S7/4913Circuits for detection, sampling, integration or read-out
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/08Systems determining position data of a target for measuring distance only
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/40Means for monitoring or calibrating
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/254Fusion techniques of classification results, e.g. of results related to same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Abstract

일 실시형태에서, 광 검출 및 거리 측정 (LiDAR) 위치 추정에서 신경망을 이용한 솔루션 추론을 위한 컴퓨터 실행 방법은, 솔루션 공간에서 자율 주행 차량의 예측 포즈의 비용량을 구축하는 단계를 포함하되, 상기 비용량은 복수의 서브량을 포함하고, 각 서브량은 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도상의 대응되는 키 포인트 사이의 매칭 비용을 나타낸다. 상기 방법은 매칭 비용을 세분화하기 위해 복수의 콘볼루션 신경망 (CNN)을 사용하여 비용량을 정규화하는 단계; 및 정규화된 비용량으로부터 예측 포즈의 최적 오프셋을 추론하는 단계를 더 포함하되, 상기 최적 오프셋은 상기 ADV의 위치를 추정하는데 사용된다.

Description

자율 주행 차량에서 3D CNN 네트워크를 사용하여 솔루션을 추론하는 LIDAR 위치 추정
본 발명의 실시형태는 전반적으로 자율 주행 차량의 작동에 관한 것으로, 보다 구체적으로는 자율 주행 차량에서 3D CNN 네트워크를 사용하여 솔루션을 추론하는 LIDAR 위치 추정에 관한 것이다.
자율 주행 차량(ADV)은 탑승자(특히는 운전자)를 일부 운전 관련 직책에서 해방시킬 수 있다. 자율 주행 모드로 운행될 경우, 차량은 차량용 센서와 고해상도 지도를 사용하여 다양한 위치로 네비게이팅될 수 있어 최소한의 인간-기계 상호 작용의 경우 또는 아무런 승객도 없는 일부 경우에 차량의 주행을 허용한다.
안전 주행을 위해, ADV는 위치 및 방향을 정확하고도 안정적으로 추정해야 하는데, 바람직한 경우 ADV의 위치 결정은 센티미터와 서브도(sub-degree)의 방위각까지 정확해야 한다. 광 검출 및 거리 측정(LiDAR) 스캐너를 사용하는 기존 위치 결정 방법은 위치 결정 파이프라인에서 일반적으로 여러 단계를 필요로 한다. 기존 방법 중 일부는 상이한 시나리오의 위치 결정 정밀도 및 강인성 면에서 뛰어난 성능을 갖지만 이들은 파이프라인의 일부 단계에 대한 하드 코팅 및 미세 조정을 위해서는 대량의 엔지니어링 작업이 필요하며, 일부 시나리오에 대한 선호도가 높다. 한편, 신경망은 시멘틱 처리에 사용되어 양호한 결과를 얻었으나 3D 지오메트리와 관련된 임무(예를 들어, 위치 결정 문제)를 해결하는 면에서 부족하다.
제1 양태에서, 본 발명은, 광 검출 및 거리 측정 (LiDAR) 위치 추정에서 신경망을 이용한 솔루션 추론을 위한 컴퓨터 실행 방법에 있어서, 솔루션 공간에서 자율 주행 차량의 예측 포즈의 비용량(cost volume)을 구축하는 단계 - 상기 비용량은 복수의 서브량(sub volumes)을 포함하고, 각 서브량은 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도상의 대응되는 키 포인트 사이의 매칭 비용을 나타냄 -; 매칭 비용을 세분화하기 위해, 복수의 콘볼루션 신경망(CNN)을 사용하여 비용량을 정규화하는 단계; 와 정규화된 비용량으로부터 예측 포즈의 최적 오프셋을 추론하는 단계 - 상기 최적 오프셋은 상기 ADV의 위치를 추정하는데 사용됨 - 를 포함하는 컴퓨터 실행 방법을 제공한다.
제2 양태에서, 본 발명은, 광 검출 및 거리 측정 (LiDAR) 위치 추정에서 신경망을 이용한 솔루션 추론을 위한 시스템에 있어서, 프로세서; 및 명령을 저장하기 위해 상기 프로세서에 연결된 메모리를 포함하고, 상기 명령이 프로세서에 의해 실행될 경우, 상기 프로세서가 동작을 실행하도록 하며, 상기 동작은, 솔루션 공간에서 자율 주행 차량의 예측 포즈의 비용량(cost volume)을 구축하는 동작 - 상기 비용량은 복수의 서브량(sub volumes)을 포함하고, 각 서브량은 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도상의 대응되는 키 포인트 사이의 매칭 비용을 나타냄 -; 매칭 비용을 세분화하기 위해, 복수의 콘볼루션 신경망(CNN)을 사용하여 비용량을 정규화하는 동작; 과 정규화된 비용량으로부터 예측 포즈의 최적 오프셋을 추론하는 동작 - 상기 최적 오프셋은 상기 ADV의 위치를 추정하는데 사용됨 - 을 포함하는 시스템을 제공한다.
제3 양태에서, 본 발명은, 명령이 저장된 비일시적 기계 판독 가능 매체에 있어서, 상기 명령이 프로세서에 의해 실행될 경우, 상기 프로세서가 동작을 실행하도록 하며, 상기 동작은, 솔루션 공간에서 자율 주행 차량의 예측 포즈의 비용량(cost volume)을 구축하는 동작 - 상기 비용량은 복수의 서브량(sub volumes)을 포함하고, 각 서브량은 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도상의 대응되는 키 포인트 사이의 매칭 비용을 나타냄 -; 매칭 비용을 세분화하기 위해, 복수의 콘볼루션 신경망(CNN)을 사용하여 비용량을 정규화하는 동작; 과 정규화된 비용량으로부터 예측 포즈의 최적 오프셋을 추론하는 동작 - 상기 최적 오프셋은 상기 ADV의 위치를 추정하는데 사용됨 - 을 포함하는 비일시적 기계 판독 가능 매체를 제공한다.
본 발명의 실시형태는 각 도면에서 예시로서 비제한적인 방식으로 도시되며, 도면 중의 동일한 부호는 유사한 구성 요소를 대신 지칭한다.
도 1은 본 발명의 일 실시형태에 따른 자율 주행 차량의 네트워크 구성을 도시하는 블록도이다.
도 2는 일 실시형태에 따른 자율 주행 차량의 예시를 도시하는 블록도이다.
도 3a 내지 도 3b는 일 실시형태에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템의 예시를 도시하는 블록도이다.
도 4는 본 발명의 실시형태에 따른 학습 기반 LiDAR 위치 추정 시스템을 도시한다.
도 5는 실시형태에 따른 포인트 클라우드 특징을 추출하기 위한 시스템을 도시한다.
도 6은 실시형태에 따른 포인트 클라우드 특징을 추출하기 위한 시스템의 예시적 실시수단을 도시한다.
도 7은 실시형태에 따른 포인트 클라우드 특징을 추출하는 예시적 프로세스를 도시하는 흐름도이다.
도 8은 실시형태에 따른 LiDAR 위치 추정에서 신경망을 사용하는 해결수단을 추론하기 위한 시스템을 도시한다.
도 9는 실시형태에 따른 LiDAR 위치 추정에서 신경망을 사용하는 해결수단을 추론하기 위한 시스템의 예시적 실시수단을 도시한다.
도 10은 실시형태에 따른 LiDAR 위치 추정에서 신경망을 사용하는 해결수단을 추론하기 위한 예시적 프로세의 흐름도를 도시한다.
도 11은 실시형태에 따른 ADV의 위치 확정 결과에서 시간적 평활화를 수행하기 위한 시스템을 도시한다.
도 12는 실시형태에 따른 ADV의 위치 확정 결과에서 시간적 평활화를 수행하기 위한 시스템의 예시적 실시수단을 도시한다.
도 13은 실시형태에 따른 ADV의 위치 확정 결과에서 시간적 평활화를 수행하기 위한 예시적 프로세의 흐름도를 도시한다.
도 14는 실시형태에 따른 학습 기반 LiDAR 위치 추정 시스템(1400)의 전체 아키텍처를 도시한다.
도 15는 실시형태에 따른 학습 기반 LiDAR 위치 추정 시스템(1500)의 전체 아키텍처를 보다 자세히 도시한다.
도 16은 본 발명의 일 실시형태와 함께 사용될 수 있는 데이터 처리 시스템의 예시를 도시하는 블록도이다.
아래에서 논의되는 상세한 설명을 참조하여 본 발명의 다양한 실시형태 및 양태를 설명하며, 첨부된 도면은 다양한 실시형태를 도시한다. 아래 설명과 도면은 본 발명에 대한 설명이며, 본 발명을 한정하려는 것으로 해석되어서는 안된다. 본 발명의 다양한 실시형태에 대한 전면적 이해를 제공하기 위해 많은 특정 세부사항을 설명한다. 그러나, 어떤 경우에는, 본 발명의 실시형태에 대한 간략한 논의를 제공하기 위해 공지되었거나 통상적인 세부사항들에 대한 설명은 생략한다.
본 명세서에서 “일 실시형태” 또는 “실시형태”에 대한 언급은 상기 실시형태와 결합하여 설명된 특정된 특징, 구조 또는 특성이 본 발명의 적어도 일 실시형태에 포함될 수 있음을 의미한다. 본 명세서의 각 부분에 나타나는 문구 “일 실시형태에 있어서”는 전부 동일한 실시형태를 지칭하는 것은 아니다.
일 실시형태에 따르면, 본 명세서에는 학습 기반 LiDAR 위치 추정 시스템이 설명되는 것으로, 이는 ADV에 의해 사용되는 복수의 신경망을 포함한다. 학습 기반 LiDAR 위치 추정 시스템은 대량의 엔지니어링 작업이 필요없이 수작업으로 제조된 시스템에 대해 하드 코팅만으로도 선행기술의 수작업으로 제조된 위치 추정 시스템의 성능과 매칭될 수 있다.
일 실시형태에서, 학습 기반 LiDAR 위치 추정 시스템은 온라인 LIDAR 포인트 클라우드, 미리 구축된 3D 포인트 클라우드 지도 및 ADV의 예측 포즈를 입력으로 수신하고, 온라인 LIDAR 포인트 클라우드 및 미리 구축된 3D 포인트 클라우드 지도로부터 특징을 학습하며, 솔루션 공간에 비용량을 구축할 수 있다. 학습 기반 LiDAR 위치 추정 시스템은 ADV의 최적 포즈를 추정하기 위해 콘볼루션 신경망(CNN) 및 순환 신경망(RNN)을 비용량에 적용할 수 있다.
학습 기반 LiDAR 위치 추정 시스템은 고정밀도(예를 들어, 센티미터 레벨) 위치 추정을 수행할 수 있으며, 이는 수작업으로 제조된 파이프라인의 선행기술 시스템에 해당된다. 학습 기반 LiDAR 위치 추정 시스템은 다양한 심층 신경망 구조를 사용하여 수작업 모듈에 의존하지 않고 학습 기반 방법을 구축한다. 포인트 클라우드의 추출된 로컬 특징 기술어 (feature descriptors) 는 다양한 현실 세계의 주행 시나리오에서 매칭하도록 특별히 최적화될 수 있다. 이미 솔루션 공간에 구축된 비용량에 적용된 콘볼루션 신경망은 ADV의 위치 추정 정밀도를 크게 향상시킬 수 있다. 본 명세서에서 사용된 바와 같이, 일 실시형태에서, 솔루션 공간은 문제의 제약을 만족시키는 최적화 문제에 대한 한 그룹의 가능 포인트이다. 예를 들어, ADV의 최적 포즈를 추적하기 위해 선택된 LiDAR 포인트는 솔루션 공간으로 간주될 수 있다.
일 실시형태에서, 학습 기반 LiDAR 위치 추정 시스템은 오프라인 방법을 사용하여 자동 또는 반자동으로 대량으로 수집할 수 있는 데이터에 의해 구동된다. 대량의 데이터는 그라운드 트루스(ground truth) 궤적을 포함하고, 위치 추정 임무를 수행하기 위해 위치 추정 시스템을 트레이닝할 수 있다. 학습 기반 LiDAR 위치 추정 시스템은 데이터에 대한 최소한의 수동 마킹 작업이 필요하므로 일반적으로 비용 효율적이다.
일 실시형태에서, 예측 포즈는 ADV의 관성 측정 유닛(IMU) 또는 ADV의 차량 동적 모델에 의해 생성될 수 있고, 연속적인 LiDAR 프레임 사이의 증분 모션을 측정할 수 있다. 예측 포즈는 ADV의 ground truth 포즈에서 벗어날 수 있으므로 오프셋이 발생한다. 따라서, 오프셋을 복원하는 것은 차량 위치를 추정하는 것과 같다. 학습 기반 LiDAR 위치 추정 시스템은 온라인 포인트 클라우드와 미리 구축된 3D 포인트 클라우드 지도 사이의 매칭 비용을 최소화하여 예측 포즈와 ground truth포즈 사이의 최적 오프셋을 생성할 수 있다. 일 실시형태에서, 최적 오프셋은 2D 수평 오프셋 및 순방향 오프셋을 포함할 수 있다.
일 실시형태에서, 온라인 포인트 클라우드는 ADV에 장착된 LiDAR 장치의 복수의 LiDAR 스캔에서 누적된 하나 또는 복수의 연속 프레임일 수 있다. 온라인 포인트 클라우드는 한 그룹의 3D LiDAR 포인트로 표시될 수 있으며, 각각의 LiDAR 포인트는 모두 로컬 차량 또는 LiDAR 좌표계에서의 LiDAR 포인트의 좌표 및 반사 강도의 벡터를 포함할 수 있다. 온라인 포인트 클라우드는 ADV의 모션 보상을 고려한다. 따라서, ADV가 A 포인트로부터 B 포인트로 이동하는 경우, ADV의 온라인 포인트 클라우드는 A 포인트와 B 포인트에서 상이하다.
일 실시형태에서, 미리 구축된 3D 포인트 클라우드 지도는 전역 좌표를 갖는 LiDAR 포인트의 집합일 수 있다. LiDAR 포인트는 차량을 연구하거나 드로잉하여 수집할 수 있고, 또한 저장 효율성을 위해 복셀 그리드 필터를 사용하여 LiDAR 포인트를 다운 샘플링할 수 있다. 이 밖에, 트레이닝 신경망 모델(예를 들어, PointNet++)을 사용하여 시멘틱 분할을 통해 미리 구축된 3D 포인트 클라우드 지도에서 동적 객체(예를 들어, 차량, 자전거 및 행인)를 제거할 수 있다.
일 실시형태에서, 자율 주행 차량(ADV)의 위치 추정시 사용되는 포인트 클라우드 특징을 추출하는 방법은, 온라인 포인트 클라우드로부터 제1 그룹 키 포인트를 선택하는 단계 - 온라인 포인트 클라우드는 ADV의 예측 포즈를 위해 ADV의 LiDAR 장치에 의해 생성됨 - ; 및 ADV에서 실행되는 특징 학습 신경망을 사용하여 제1 그룹 키 포인트에 대해 제1 그룹 특징 기술어를 추출하는 단계를 포함한다. 상기 방법은, 미리 구축된 포인트 클라우드 지도에서 제2 그룹 키 포인트에 대해 위치 확정하는 단계 - 제2 그룹 키 포인트 중 각각의 키 포인트는 모두 제1 그룹 키 포인트중의 키 포인트에 대응됨 - ; 미리 구축된 포인트 클라우드 지도로부터 제2 그룹 특징 기술어를 추출하는 단계; 및 제1 그룹 특징 기술어, 제2 그룹 특징 기술어 및 ADV의 예측 포즈에 기반하여 ADV의 위치 및 방향을 추정하는 단계를 더 포함한다.
일 실시형태에서, 상기 방법은 추출된 제1 그룹 특징 기술어 및 상기 제2 특징 기술어로부터 비용량을 구축하는 단계를 더 포함하고, 비용량 중 각각의 유닛(즉, 서브량)은 제1 그룹 키 포인트 중 하나와 제2 그룹 키 포인트의 주어진 오프셋을 갖는 대응되는 키 포인트 사이의 매칭 비용을 나타낸다. 복수의 상이한 유형의 신경망에 의해 사용되어 최적 오프셋을 얻기 위해 비용량을 감소 및 정규화함으로써 ADV의 최적 포즈를 결정할 수 있다.
일 실시형태에서, 제1 그룹 키 포인트 및 제2 키 포인트는 각각 모두 LiDAR 포인트이고, 제1 그룹 키 포인트 및 제2 그룹 키 포인트는 고정된 개수의 키 포인트를 갖는다. 제1 그룹 키 포인트를 선택할 경우, 복수의 후보 LiDAR 포인트를 위치 추정하기 위해, ADV의 예측 포즈를 둘러싸는 기설정된 영역 내의 LiDAR 포인트를 트래버싱하는 단계 - 각각의 후보 LiDAR 포인트는 상기 후보 LiDAR 포인트의 부근에서 기설정된 밀도의 LiDAR 포인트를 가짐 -; 및 3D 구조 텐서를 사용하여 각각의 후보 LiDAR 포인트의 각각의 선형도를 평가하는 단계 - 상기 평가에 기반하여 각각의 후보 LiDAR 포인트의 선형도에 값을 할당함 - 의 동작을 실행할 수 있다. 후보 LiDAR 포인트의 할당된 값에 기반하여 상기 복수의 후보 LiDAR 포인트를 정렬할 수 있고, 정렬된 후보 LiDAR 포인트에 기반하여 상기 고정된 개수의 후보 LiDAR 포인트를 선택할 수 있다. 고정된 개수의 후보 LiDAR 포인트를 선택할 경우, 각각의 새로 선택된 LiDAR 포인트는 이미 선택된 하나 또는 복수의 기존 LiDAR 포인트와 기설정된 거리를 유지해야 한다.
일 실시형태에서, 특징 학습 신경망은 복수의 소형 신경망을 포함하고, 각각의 소형 신경망은 제1 그룹 키 포인트 중 하나의 키 포인트에 제공되며, 각각의 소형 신경망은 기설정된 개수의 인접한 LiDAR 포인트를 수집하기 위해, 키 포인트의 z축을 따라 실린더를 사용할 수 있고, 각각의 인접한 LiDAR 포인트는 모두 반사 강도 및 키 포인트에 대한 상대 좌표를 가지며, 각각의 소형 신경망은 관련된 인접한 LiDAR 포인트의 상대 좌표 및 반사 강도에 기반하여 키 포인트의 특징 기술어를 추출할 수 있다. 유사하게, 각각의 소형 신경망은 각각의 소형 신경망은 상기 제2 그룹 키 포인트 중 하나의 키 포인트에 제공될 수 있으며, 키 포인트의 인접한 LiDAR 포인트의 상대 좌표 및 반사 강도에 기반하여 키 포인트의 특징 기술어를 추출할 수 있다. 2Х2 회전 행렬 및 2D 병진 벡터로 표시되는 변환을 사용하여 미리 구축된 포인트 클라우드 지도의 제2 그룹 키 포인트 중의 각각의 좌표를 산출할 수 있다.
일 실시형태에서, 제2 그룹 키 포인트 중의 키 포인트에 대해 기설정된 개수의 인접한 LiDAR 포인트가 검색되지 않은 경우, 완전 접속망을 통해 키 포인트의 특징 기술어를 추출하되, 여기서, 네트워크 입력은 단위 벡터로 설정될 수 있다.
일 실시형태에서, LiDAR 위치 추정에서 신경망을 사용하여 해결수단을 추론하는 방법은, 솔루션 공간에서 ADV의 예측 포즈를 위한 비용량을 구축하는 단계를 포함하되, 상기 비용량은 복수의 서브량을 포함하고, 각 서브량은 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도의 대응되는 키 포인트 사이의 매칭 비용을 나타낸다. 상기 방법은 매칭 비용을 세분화(refine)하기 위해 일반적인 신경망(CNN)을 사용하여 비용량을 정규화하는 단계; 및 정규화된 비용량으로부터 예측 포즈의 최적 오프셋을 추론하는 단계를 더 포함한다. 상기 최적 오프셋은 ADV의 위치를 결정할 수 있다.
일 실시형태에서, 각각의 CNN은 동일한 그룹의 파라미터를 공유하고 복수의 일반층을 포함한다. 일반층 중 적어도 한층은 배치 정규화 및 수정 선형 유닛(ReLU)을 사용하는 3D 일반층이다.
일 실시형태에서, 예측 포즈의 솔루션 공간은 온라인 포인트 클라우드로부터 선택된 키 포인트 세트에의해 한정된 공간이다. 상기 키 포인트 세트 중 각각의 키 포인트는 모두 기설정된 개수의 인접 포인트와 연관되고 또한 상기 키 포인트 세트의 나머지 키 포인트와 최소거리를 갖는다.
일 실시형태에서, 비용량을 구축하는 단계는 각 쌍의 대응되는 특징 기술어 사이의 메트릭 거리를 산출하는 단계를 더 포함한다. 상기 메트릭 거리는 다차원 벡터이고, 여기서, 각각의 요소는 기술어 페어 중 대응되는 하나와의 거리를 제곱하여 산출된다. 이 밖에, 비용량 구축시, 솔루션 공간을 복수의 이산 공간으로 구획할 수 있으며 각각의 이산 공간은 키 포인트 세트 중의 하나에 대응된다.
각각의 이산 공간에 대해, 대응되는 키 포인트 및 이와 관련된 인접한 LiDAR 포인트에 의해 점용되는 공간에 기반하여 X 차원(롤(roll) 차원), Y 차원(피치(pitch) 차원) 및 요(yaw, 요잉각) 차원의 크기를 확정할 수 있다. 그 다음, 예측 포즈를 위한 복수의 특징 기술어 및 각각의 이산 공간에 대한 각 차원의 크기에 기반하여 비용량을 구축할 수 있다. 비용량의 각 서브량은 온라인 포인트 클라우드의 관련 특징 기술어를 갖는 키 포인트, 변환 및 미리 구축된 포인트 클라우드 지도의 대응되는 특징 기술어와 연관될 수 있다.
일 실시형태에서, ADV를 위한 위치 확정 결과에서 시간적 평활화를 수행하는 방법은, 온라인 포인트 클라우드의 복수의 연속적인 광 검출 및 거리 측정(LiDAR) 프레임 중 각각에 대해 확률 오프셋량을 생성하되, 확률 오프셋량은 온라인 포인트 클라우드의 제1 그룹 키 포인트와 미리 구축된 포인트 클라우드 지도의 제2 그룹 키 포인트 사이의 전체 매칭 비용을 나타낸다. 상기 방법은 X 차원, Y 차원 및 yaw 차원에서 확률 오프셋량을 복수의 확률 벡터로 압축하는 단계; 확률 오프셋량의 각 확률 벡터를 복수의 순환 신경망(RNN)에 제공하는 단계; 및 복수의 연속적인 LiDAR 프레임에서 RNN을 통해 위치 추정 결과의 궤적을 생성하는 단계를 더 포함한다.
일 실시형태에서, 확률 오프셋량은 복수의 서브량을 포함하고, 각 서브량은 ADV의 특정 위치 오프셋에 대한 온라인 포인트 클라우드와 미리 구축된 포인트 클라우드 지도 사이의 전체 매칭 비용을 나타낸다. 각RNN은 모두 복수의 장기 및 단기 기억(LSTM) 유닛을 포함하고, 각각의 확률 벡터를 입력으로서 LSTM 유닛 중 하나에 제공한다. RNN은 연속적인 LiDAR 프레임의 학습된 이력 정보에 기반하여, 연속적인 LiDAR 프레임에서 위치 추정 결과의 궤적을 평활화한다. ADV는 연속적인 LiDAR 프레임에서 복수의 예측 포즈를 갖는다.
자율 주행 차량
도 1은 본 발명의 일 실시형태에 따른 자율 주행 차량 네트워크 구성을 도시하는 블록도이다. 도 1을 참조하면, 네트워크 구성(100)은 네트워크(102)를 통해 하나 또는 복수의 서버(103) 내지 서버(104)에 통신적으로 연결될 수 있는 자율 주행 차량(101)을 포함한다. 하나의 자율 주행 차량이 도시되어 있지만, 복수의 자율 주행 차량은 네트워크(102)를 통해 상호 연결될 수 있으며 및/또는 서버(103 내지 104)에 연결될 수 있다. 네트워크(102)는 유선 또는 무선의 근거리 통신망(LAN), 인터넷과 같은 광역 통신망(WAN), 셀룰러 네트워크, 위성 네트워크 또는 이들의 조합과 같은 임의의 유형의 네트워크일 수 있다. 서버(103 내지 104)는 네트워크 또는 클라우드 서버, 애플리케이션 서버, 백엔드 서버 또는 이들의 조합과 같은 임의의 유형의 서버 또는 서버 클러스터일 수 있다. 서버(103 내지 104)는 데이터 분석 서버, 콘텐츠 서버, 교통 정보 서버, 지도 및 관심지 포인트(MPOI) 서버 또는 위치 서버 등일 수 있다.
자율 주행 차량은 자율 주행 모드에 있도록 구성된 차량을 가리킬 수 있으며, 상기 자율 주행 모드에서 차량은 운전자로부터의 입력이 극히 적거나 전혀 없는 경우 내비게이트되어 환경을 통과한다. 이러한 자율 주행 차량은 차량 작동 환경과 관련된 정보를 검출하도록 구성된 하나 또는 복수의 센서를 갖는 센서 시스템을 포함할 수 있다. 상기 차량 및 그에 관련된 제어기는 검출된 정보를 사용하여 내비게이트되어 상기 환경을 통과한다. 자율 주행 차량(101)은 수공 모드, 전체 자율 주행 모드 또는 부분적 자율 주행 모드에서 작동될 수 있다.
일 실시형태에 있어서, 자율 주행 차량(101)은 감지 및 계획 시스템(110), 차량 제어 시스템(111), 무선 통신 시스템(112), 사용자 인터페이스 시스템(113), 정보 오락 시스템(114) 및 센서 시스템(115)을 포함하지만 이에 한정되지 않는다. 자율 주행 차량(101)은 일반 차량에 포함되는 엔진, 휠, 핸들, 변속기 등과 같은 일부 일상적 부재를 더 포함할 수 있으며, 상기 부재는 차량 제어 시스템(111) 및/또는 감지 및 계획 시스템(110)에 의해 예를 들어, 가속 신호 또는 명령, 감속 신호 또는 명령, 스티어링 신호 또는 명령, 브레이킹 신호 또는 명령 등과 같은 다양한 통신 신호 및/또는 명령을 사용하여 제어할 수 있다.
부재(110 내지 115)는 인터커넥터, 버스, 네트워크 또는 이들의 조합을 통해 서로 통신적으로 연결될 수 있다. 예를 들어, 부재(110 내지 115)는 제어기 근거리 통신망(CAN) 버스를 통해 서로 통신적으로 연결될 수 있다. CAN 버스는 호스트가 없는 적용에서 마이크로 제어기와 장치가 서로 통신하는 것을 허용하도록 설계된 차량 버스 기준이다. 이것은 초기에 자동차 내의 다중 전기 배선을 위해 설계된 메시지 기반 프로토콜이지만 많은 다른 환경에서도 사용된다.
또한 도 2를 참조하면, 일 실시형태에 있어서, 센서 시스템(115)은 하나 또는 복수의 카메라(211), 위성항법시스템(GPS) 유닛(212), 관성 측정 유닛(IMU)(213), 레이더 유닛(214) 및 라이다(LIDAR) 유닛(215)을 포함하지만 이에 한정되지 않는다. GPS 시스템(212)은 자율 주행 차량의 위치에 관한 정보를 제공하기 위해 작동될 수 있는 트랜시버를 포함할 수 있다. IMU 유닛(213)은 관성 가속도에 기반하여 자율 주행 차량의 위치와 정방향 변화를 감지할 수 있다. 레이더 유닛(214)은 무선 전기 신호로 자율 주행 차량의 현지 환경 내에서 객체를 감지하는 시스템을 표시할 수 있다. 일부 실시형태에 있어서, 감지 객체를 제외한 외, 레이더 유닛(214)은 또한 감지 객체의 속도 및/또는 직진 방향을 감지할 수 있다. LIDAR 유닛(215)은 레이저로 자율 주행 차량이 속한 환경에서의 객체를 감지할 수 있다. 다른 시스템 부재를 제외한 외, LIDAR 유닛(215)은 하나 또는 복수의 레이저원, 레이저 스캐너 및 하나 또는 복수의 탐지기를 더 포함할 수 있다. 카메라(211)는 자율 주행 차량 주변 환경의 이미지를 수집하는 하나 또는 복수의 장치를 포함할 수 있다. 카메라(211)는 스틸 카메라 및/또는 비디오 카메라일 수 있다. 예를 들어, 카메라를 회전 및/또는 경사진 플랫폼에 실장하여 카메라는 기계적으로 이동할 수 있다.
센서 시스템(115)은 소나 센서(sonar sensor), 적외선 센서, 스티어링 센서, 스로틀 센서(throttle sensor), 브레이킹 센서 및 오디오 센서(예를 들어, 마이크로폰)와 같은 다른 센서를 더 포함할 수 있다. 오디오 센서는 자율 주행 차량 주변의 환경으로부터 소리를 수집하도록 구성될 수 있다. 스티어링 센서는 핸들, 차량의 휠 또는 이들의 조합의 스티어링 각도를 감지하도록 구성될 수 있다. 스로틀 센서 및 브레이킹 센서는 차량의 스로틀 위치와 브레이킹 위치를 각각 감지하도록 구성될 수 있다. 어떤 경우에는, 스로틀 센서 및 브레이킹 센서는 통합적 스로틀/브레이킹 센서로 통합될 수 있다.
일 실시형태에 있어서, 차량 제어 시스템(111)은 스티어링 유닛(201), 스로틀 유닛(202)(가속 유닛으로도 지칭됨) 및 브레이크 유닛(203)을 포함하지만 이에 한정되지 않는다. 스티어링 유닛(201)은 차량의 방향 또는 직진 방향을 조정하는데 사용된다. 스로틀 유닛(202)은 모터 또는 엔진의 속도를 제어하는데 사용되며, 모터 또는 엔진의 속도는 더 나아가 차량의 속도 및 가속도를 제어한다. 브레이크 유닛(203)은 마찰 제공에 의해 차량의 휠 또는 타이어를 감소시킴으로써 차량을 감속시킨다. 도 2에 도시된 부재는 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있음을 유의해야 한다.
도 1을 다시 참조하면, 무선 통신 시스템(112)은 자율 주행 차량(101)과 장치, 센서, 다른 차량 등과 같은 외부 시스템의 통신을 허용한다. 예를 들어, 무선 통신 시스템(112)은 하나 또는 복수의 장치와 직접 무선으로 통신하거나 네트워크(102)를 통한 서버(103 내지 104)와 통신하는 통신 네트워크를 통해 무선으로 통신할 수 있다. 무선 통신 시스템(112)은 임의의 셀룰러 통신 네트워크 또는 무선 근거리 통신망(WLAN)을 사용할 수 있으며, 예를 들어, WiFi를 사용하여 다른 부재 또는 시스템과 통신한다. 무선 통신 시스템(112)은 예를 들어 적외선 링크, 블루투스 등을 사용하여 장치(예를 들어, 승객의 이동 장치, 디스플레이 장치, 차량(101) 내의 스피커)와 직접 통신할 수 있다. 사용자 인터페이스 시스템(113)은 차량(101) 내에서 실시되는 주변 장치의 일부일 수 있으며, 예를 들어, 키보드, 터치 스크린 디스플레이 장치, 마이크로폰 및 스피커 등을 포함한다.
자율 주행 차량(101)의 기능 중의 일부 또는 전부는 감지 및 계획 시스템(110)에 의해 제어되거나 관리될 수 있다. 감지 및 계획 시스템(110)은 필요한 하드웨어(예를 들어, 프로세서, 메모리, 저장 기기) 및 소프트웨어(예를 들어, 운영 체제, 계획 및 루트 안배 순서)를 포함하여, 센서 시스템(115), 제어 시스템(111), 무선 통신 시스템(112) 및/또는 사용자 인터페이스 시스템(113)으로부터 정보를 수신하고 수신된 정보를 처리하며, 출발 포인트로부터 목적 지 포인트까지의 루트 또는 경로를 계획하고, 이어서 계획 및 제어 정보에 기반하여 차량(101)을 주행하도록 한다. 대체적으로, 감지 및 계획 시스템(110)은 차량 제어 시스템(111)과 함께 통합될 수 있다.
예를 들어, 승객으로서 사용자는 예를 들어 사용자 인터페이스를 통해 코스의 출발 위치 및 목적지를 지정할 수 있다. 감지 및 계획 시스템(110)은 코스 관련 데이터를 획득한다. 예를 들어, 감지 및 계획 시스템(110)은 MPOI 서버로부터 위치와 루트 정보를 획득할 수 있으며, 상기 MPOI 서버는 서버(103 내지 104)의 일부일 수 있다. 위치 서버는 위치 서비스를 제공하며, 또한 MPOI 서버는 지도 서비스 및 어느 위치의 POI를 제공한다. 대체 가능하게, 해당 유형의 위치와 MPOI 정보는 감지 및 계획 시스템(110)의 영구 저장 장치에 로컬로 캐싱될 수 있다.
자율 주행 차량(101)이 루트에 따라 이동할 경우, 감지 및 계획 시스템(110)도 교통 정보 시스템 또는 서버(TIS)로부터 실행간 교통 정보를 획득할 수 있다. 서버(103 내지 104)는 제3자 엔티티에 의해 작동을 수행할 수 있음을 유의해야 한다. 대체 가능하게, 서버(103 내지 104)의 기능은 감지 및 계획 시스템(110)과 함께 통합될 수 있다. 실시간 교통 정보, MPOI 정보 및 위치 정보 및 센서 시스템(115)에 의해 검출 또는 감지된 실시간 현지 환경 데이터(예를 들어, 장애물, 객체, 주변 차량)에 기반하여, 감지 및 계획 시스템(110)은 최적 루트를 계획할 수 있고 또한 계획한 루트에 따라, 예를 들어 제어 시스템(111)에 의해 차량(101)을 주행하여 안적적 및 고효율적으로 지정된 목적지에 도착한다.
서버(103)는 다양한 클라이언트에 대한 데이터 분석 서비스를 수행하기 위한 데이터 분석 시스템일 수 있다. 일 실시형태에 있어서, 데이터 분석 시스템(103)은 데이터 수집기(121) 및 기계 학습 엔진(122)을 포함한다. 데이터 수집기(121)는 다양한 차량(자율 주행 차량 또는 인류 운전자가 운전하는 일반 차량)으로부터 주행 통계 데이터(123)를 수집한다. 주행 통계 데이터(123)는 상이한 시 포인트에서 차량의 센서에 의해 포착된 발행된 주행 명령(예를 들어, 스로틀 명령, 브레이킹 명령 및 스티어링 명령) 및 차량의 응답(예를 들어, 속도, 가속도, 감속도, 방향)을 나타내는 정보를 포함한다. 주행 통계 데이터(123)는 예를 들어, 루트(출발 위치 및 목적지 위치를 포함함), MPOI, 도로 조건, 기상 조건 등과 같은 상이한 시 포인트에서의 주행 환경을 설명하는 정보를 더 포함할 수 있다.
주행 통계 데이터(123)에 기반하여 기계 학습 엔진(122)은 다양한 목적을 위해 규칙 세트, 알고리즘 및/또는 예측 모델(124)을 생성하거나 트레이닝한다. 예를 들어, 알고리즘/모델(124)은 아래와 같이 더욱 상세히 설명되는 LIDAR 위치 추정 프로세의 알고리즘 및 모델을 포함한다. 자율 주행 기간에 실시간으로 사용하기 위해 알고리즘(124)을 ADV에 업로드할 수 있다.
도 3a 및 도 3b는 일 실시형태에 따른 자율 주행 차량과 함께 사용되는 감지 및 계획 시스템의 예시를 도시하는 블록도이다. 시스템(300)은 도 1의 자율 주행 차량(101)의 일부로 구현될 수 있으며, 감지 및 계획 시스템(110), 제어 시스템(111) 및 센서 시스템(115)을 포함하지만 이에 한정되지 않는다. 도 3a 내지 도 3b를 참조하면, 감지 및 계획 시스템(110)은 포지셔닝 모듈(301), 감지 모듈(302), 예측 모듈(303), 결정 모듈(304), 계획 모듈(305), 제어 모듈(306) 및 라우팅 모듈(307)을 포함하지만 이에 한정되지 않는다.
모듈(301 내지 307) 중의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합으로 구현될 수 있다. 예를 들어, 이러한 모듈은 영구 저장 장치(352)에 실장될 수 있고, 메모리(351)에 로딩될 수 있으며, 또한 하나 또는 복수의 프로세서(미도시)에 의해 실행될 수 있다. 이러한 모듈 중의 일부 또는 전부는 도 2의 차량 제어 시스템(111)의 일부 또는 전부 모듈에 통신적으로 연결될 수 있거나 이들과 함께 통합될 수 있다. 모듈(301 내지 307) 중의 일부는 함께 통합 모듈로 통합될 수 있다.
포지셔닝 모듈(301)은 자율 주행 차량(300)의 현재 위치(예를 들어, GPS 유닛(212)을 이용함)를 결정하고 사용자의 코스 또는 루트와 관련되는 임의의 데이터를 관리한다. 포지셔닝 모듈(301)(지도 및 루트 모듈로도 지칭됨)은 사용자의 코스 또는 루트와 관련되는 임의의 데이터를 관리한다. 사용자는 예를 들어 사용자 인터페이스를 통해 로그인하고 코스의 시작 위치 및 목적지를 지정할 수 있다. 포지셔닝 모듈(301)은 지도 및 루트 정보(311)와 같은 자율 주행 차량(300)의 다른 어셈블리와 통신하여 코스 관련 데이터를 획득한다. 예를 들어, 포지셔닝 모듈(301)은 위치 서버 및 지도 및 POI(MPOI) 서버로부터 위치 및 루트 정보를 획득할 수 있다. 위치 서버는 위치 서비스를 제공하고, 또한 MPOI 서버는 지도 서비스 및 어느 위치의 POI를 제공하며, 이들은 지도 및 루트 정보(311)의 일부 캐시로 사용될 수 있다. 자율 주행 차량(300)이 루트에 따라 이동할 경우, 포지셔닝 모듈(301)도 교통 정보 시스템 또는 서버로부터 실시간 교통 정보를 획득할 수 있다.
지도 및 루트 데이터(311)는 또한 객체 검출을 위해 감지 모듈(302)에 의해 사용될 수 있다. 예를 들어, 지도 및 루트 데이터(311)로부터 특징이 추출될 수 있고, ADV를 통해 객체를 검출하기 위해 추출된 특징과 포인트 클라우드로부터 추출된 특징을 조합할 수 있다.
센서 시스템(115)에 의해 제공된 센서 데이터 및 포지셔닝 모듈(301)에 의해 획득된 위치 추정 정보에 기반하여, 감지 모듈(302)은 주변 환경에 대한 감지를 결정한다. 감지 정보는 일반 운전자가 운전자 정주행의 차량 주위에서 감지한 물건을 표시할 수 있다. 감지는 예를 들어, 객체 형태를 이용한 차선 구성, 신호등 신호, 다른 차량의 상대 위치, 행인, 건축물, 횡단 보도 또는 다른 교통 관련 표지판(예를 들어, 정지 표지판, 양보 표지판) 등을 포함할 수 있다. 차선 구성은 예를 들어 차선의 형상(예를 들어, 직선 또는 회전), 차선의 폭, 도로 중의 차선 개수, 단방향 차선 또는 쌍방향 차선, 머징 차선 또는 분류 차선, 출구 차선 등과 같은 하나 또는 복수의 차선을 설명하는 정보를 포함한다.
감지 모듈(302)은 하나 또는 복수의 카메라에 의해 수집된 이미지를 처리하고 분석하기 위해 컴퓨터 시각 시스템 또는 컴퓨터 시각 시스템의 기능을 포함할 수 있으며, 이로써 자율 주행 차량 환경 중의 객체 및/또는 특징을 식별한다. 상기 객체는 교통 신호, 도로 경계, 다른 차량, 행인 및/또는 장애물 등을 포함할 수 있다. 컴퓨터 시각 시스템은 객체 식별 알고리즘, 비디오 추적 및 다른 컴퓨터 시각 기술을 사용할 수 있다. 일부 실시형태에 있어서, 컴퓨터 시각 시스템은 환경 지도를 생성하여 객체를 추적하고 객체의 속도를 추정할 수 있다. 감지 모듈(302)은 또한 레이더 및/또는 LIDAR의 다른 센서에 의해 제공된 다른 센서 데이터에 기반하여 객체를 검출할 수 있다.
각각의 객체에 대해, 예측 모듈(303)은 이 상황에서 객체가 어떻게 표현될 것인지를 예측한다. 한 그룹의 지도/루트 정보(311) 및 교통 규칙(312)에 따라, 상기 시간 포인트의 주행 환경을 감지하는 감지 데이터에 기반하여 예측을 수행한다. 예를 들어, 객체가 반대 방향의 차량에 있고 또한 현재 주행 환경이 십자도로를 포함하면, 예측 모듈(303)은 차량이 직진할 것인지 회전할 것인지 여부를 예측할 것이다. 감지 데이터가 십자도로에 신호등이 없다고 나타낼 경우, 예측 모듈(303)은 차량이 십자도로에 진입하기 이전에 가능하도록 완전히 정지해야 함을 예측할 수 있다. 감지 데이터가 차량이 현재 좌회전만 가능한 차선 도는 우회전만 가능한 차선에 있다고 나타낼 경우, 예측 모듈(303)은 차량이 보다 가능하도록 좌회전 또는 우회전할 것으로 각각 예측할 수 있다.
각각의 객체에 대해, 결정 모듈(304)은 객체를 어떻게 처리할 것인지에 관하여 결정한다. 예를 들어, 특정 객체(예를 들어, 교차 루트 중의 다른 차량) 및 객체를 설명하는 메타데이터(예를 들어, 속도, 방향, 회전 각도)에 대해, 결정 모듈(304)은 상기 객체와 어떻게 마주칠 것인가(예를 들어, 추월, 양보, 정지, 초과)를 결정한다. 결정 모듈(304)은 교통 규칙 또는 주행 규칙(312)과 같은 규칙 세트에 따라 이러한 결정을 내릴 수 있으며, 상기 규칙 세트는 영구 저장 장치(352)에 저장될 수 있다.
라우팅 모듈(307)은 출발 포인트로부터 목적지 포인트까지의 하나 또는 복수의 루트 또는 경로를 제공하도록 구성된다. 시작 위치로부터 목적지 위치까지의 주어진 코스(예를 들어, 사용자로부터 수신된)에 대해, 라우팅 모듈(307)은 루트 및 지도 정보(311)를 획득하며, 시작 위치로부터 목적지 위치까지 도착하는 모든 가능한 루트 또는 경로를 결정한다. 라우팅 모듈(307)은 지형도의 형태로 시작 위치로부터 목적지 위치까지 도착하는 결정된 루트 중의 각각의 기준선을 생성할 수 있다. 기준선은 다른 차량, 장애물 또는 교통 상황과 같은 다른 사물로부터의 어떠한 간섭이 없는 이상적인 루트 또는 경로를 가리킨다. 즉, 도로에 다른 차량, 행인 또는 장애물이 존재하지 않으면, ADV는 정확하거나 엄격하게 기준선을 준수해야 한다. 다음, 지형도는 결정 모듈(304) 및/또는 계획 모듈(305)에 제공된다. 다른 모듈에 의해 제공된 다른 데이터(예를 들어, 포지셔닝 모듈(301)로부터의 교통 상황, 감지 모듈(302)에 의해 감지된 주행 환경 및 예측 모듈(303)에 의해 예측된 교통 상황)에 따라, 결정 모듈(304) 및/또는 계획 모듈(305)은 최적 루트 중의 하나를 선택 및 수정하기 위해 모든 가능한 루트를 검사한다. ADV를 제어하기 위한 실제 경로 또는 루트는 라우팅 모듈(307)에 의해 제공된 기준선과 비슷하면서 상이할 수 있으며, 이는 상기 시간 포인트의 특정된 주행 환경에 의존한다
감지된 객체 중의 각각의 결정에 기반하여, 계획 모듈(305)은 라우팅 모듈(307)에 의해 제공된 기준선을 기초로 하여 자율 주행 차량에 대해 경로 또는 루트 및 주행 파라미터(예를 들어, 거리, 속도 및/또는 회전 각도)를 계획한다. 즉, 주어진 객체에 대해, 결정 모듈(304)은 상기 객체에 대해 무엇을 할 것인지를 결정하고, 계획 모듈(305)은 어떻게 할 것인지를 결정한다. 예를 들어, 주어진 객체에 대해, 결정 모듈(304)은 상기 객체를 초과하는 것을 결정할 수 있으며, 계획 모듈(305)은 상기 객체의 좌측 또는 우측에서 초과하는지를 결정할 수 있다. 계획 및 제어 데이터는 계획 모듈(305)에 의해 생성되며, 시스템(300)을 포함하는 차량이 다음 이동 순환(예를 들어, 다음 루트/경로 구간)에서 어떻게 이동할 것인지를 설명하는 정보를 포함한다. 예를 들어, 계획 및 제어 데이터는 시스템(300)을 포함하는 차량이 시간당 30 마일(mph)의 속도로 10 미터를 이동한 다음 25 mph의 속도로 우측 차선으로 이동하도록 지시할 수 있다.
계획 및 제어 데이터에 기반하여, 제어 모듈(306)은 계획 및 제어 데이터에 의해 한정된 루트 또는 경로에 따라, 적절한 명령 또는 신호를 통해 차량 제어 시스템(111)으로 송신되어 자율 주행 차량을 제어 및 운전한다. 상기 계획 및 제어 데이터는 충족한 정보를 포함하여 경로 또는 루트에 따라 상이한 시간 포인트에서 적절한 차량 설치 또는 차량 파라미터(예를 들어, 스로틀, 브레이킹 및 스티어링 명령)를 사용하여 차량이 루트 또는 경로의 제1 포인트로부터 제2 포인트로 운전하도록 한다.
일 실시형태에 있어서, 복수의 계획 주기(주행 주기로도 지칭됨)(예를 들어, 100 밀리초(ms)의 시간 간격에서)에서 계획 단계를 수행한다. 계획 주기 또는 주행 주기 중 각각에 대하여, 계획 데이터 및 제어 데이터에 기반하여 하나 또는 복수의 제어 명령을 송신할 것이다. 즉, 각각의 100 ms에 대해, 계획 모듈(305)은 다음 루트 구간 또는 경로 구간을 계획하며, 예를 들어, 목표 위치와 ADV가 목표 위치에 도달하기까지 수용되는 시간을 포함한다. 대체 가능하게, 계획 모듈(305)은 구체적인 속도, 방향 및/또는 스티어링각 등을 더 지정할 수 있다. 일 실시형태에 있어서, 계획 모듈(305)은 다음 예정 시간대(예를 들어, 5초)에 대해 루트 구간 또는 경로 구간을 계획한다. 각각의 계획 주기에 대해, 계획 모듈(305)은 사전 주기 중 계획한 목표 위치에 기반하여 현재 주기(예를 들어, 이어진 5초)의 목표 위치를 계획한다. 다음, 제어 모듈(306)은 현재 주기의 계획 데이터 및 제어 데이터에 기반하여 하나 또는 복수의 제어 명령(예를 들어, 스로틀 명령, 브레이킹 명령, 스티어링 제어 명령)을 생성한다.
결정 모듈(304)과 계획 모듈(305)은 통합 모듈로 통합될 수 있음을 유의해야 한다. 결정 모듈(304)/계획 모듈(305)은 항법시스템 또는 항법시스템의 기능을 포함하여 자율 주행 차량의 주행 경로를 결정할 수 있다. 예를 들어, 항법시스템은 자율 주행 차량이 하기와 같은 경로에 따라 이동하는데 영향을 미치기 위한 일련의 속도 및 직진 방향을 결정할 수 있다. 즉 상기 경로는 자율 주행 차량이 기본적으로 감지되는 장애물을 피하면서 최종 목적지까지의 차선 기반 경로에 따라 직진하도록 하는 경로이다. 목적지는 사용자 인터페이스 시스템(113)에 의해 수행되는 사용자 입력에 따라 설정될 수 있다. 항법시스템은 자율 주행 차량이 주행하는 동시에 주행 경로를 동적으로 업데이트할 수 있다. 항법시스템은 GPS 시스템 및 하나 또는 복수의 지도로부터의 데이터를 합병하여 자율 주행 차량의 주행 경로를 결정한다.
상술한 설명에서 도시되고 설명된 부재 중의 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합에서 구현될 수 있음을 유의해야 한다. 예를 들어, 해당 부재는 영구 저장 장치 중의 소프트웨어에 실장 및 저장되도록 구현될 수 있으며, 상기 소프트웨어는 프로세서(미도시)를 통해 메모리에 로딩되고 메모리에서 실행되어 본 발명에 따른 프로세서 또는 작동을 구현할 수 있다. 대체 가능하게, 해당 부재는 전용 하드웨어(예를 들어, 집적 회로(예를 들어, 전용 집적 회로 또는 ASIC), 디지털 신호 프로세서(DSP) 또는 필드 프로그래머블 게이트 어레이(FPGA)에 프로그래밍 또는 임베디드되는 실행 가능 코드로 구현될 수 있으며, 상기 실행 가능 코드는 애플리케이션으로부터의 대응되는 구동 순서 및/또는 운영 체제에 의해 액세스될 수 있다. 이밖에, 해당 부재는 하나 또는 복수의 특정 명령을 통해 소프트웨어 부재에 의해 액세스될 수 있는 명령 세트의 일부로서 프로세서 또는 프로세서 코어에서 특정 하드웨어 논리로 구현될 수 있다.
포인트 클라우드 특징 추출
도 4는 본 발명의 실시형태에 따른 학습 기반 LiDAR 위치 추정 시스템을 도시한다. 도 4에 도시된 바와 같이, 포지셔닝 모듈(301)은 포인트 클라우드 특징 학습 네트워크(예를 들어, PointNet, 409)를 포함할 수 있다. 상기 포인트 클라우드 특징 학습 네트워크(409)는 ADV의 미리 구축된 3D 포인트 클라우드 지도(406), 온라인 LIDAR 포인트 클라우드(404) 및 예측 포즈(407)를 입력으로 적용할 수 있고, 또한 선택된 복수의 LiDAR 포인트(키 포인트로도 지칭됨)에 기반하여 온라인 포인트 클라우드(404)로부터 복수의 특징 기술어를 추출할 수 있다. 대응되는 키 포인트를 위치 추정할 수 있고, 포인트 클라우드 특징 학습 네트워크(409)를 통해 대응되는LiDAR 포인트의 특징을 유사하게 추출할 수 있다.
일 실시형태에서, 온라인 포인트 클라우드 지도(404) 및 미리 구축된 3D 포인트 클라우드 지도(406)로부터 추출된 특징 기술어에 기반하여 비용량(410)을 구성할 수 있다. 비용량의 각 유닛(즉, 서브량)은 제1 키 포인트 중 하나와 제2 그룹 키 포인트 중 주어진 오프셋을 갖는 대응되는 키 포인트 사이의 매칭 비용을 나타낼 수 있다. 본 명세서에서 사용된 바와 같이, 일 실시형태에서, 기설정된 알고리즘에 기반하여 매칭 비용을 산출함으로써 온라인 포인트 클라우드(404) 및 미리 구축된 3D 포인트 클라우드 지도(406)의 각 쌍의 키 포인트(즉, 사전에 선택된 LiDAR 포인트) 사이의 유사성을 산출할 수 있다.
추가로 도시된 바와 같이, 일 실시형태에서, 포지셔닝 모듈(301)은 복수의 CNN(411)을 포함할 수 있고, 복수의 CNN(411)은 비용량(410)을 정규화하여 비용량(410) 중의 보다 많은 배경을 고려하여 매칭 비용을 세분화하기 위해 비용량(410)에 적용될 수 있다. 이 밖에, 복수의 RNN(413)을 정규화된 비용량에 적용하여 복수의 연속적인 LiDAR 프레임에서의 위치 확정 결과의 궤적을 평활화할 수 있다.
일 실시형태에서, 예측 포즈(407)는 일반적으로 관성 측정 유닛(IMU) 또는 차량 동적(모션 모델)에 의해 생성될 수 있다. 예측 포즈(407)는 시퀀스 LiDAR 프레임 사이의 증분 모션을 측정할 수 있다. 따라서, 학습 기반 LiDAR 위치 추정 시스템(400)의 임무는 온라인 포인트 클라우드(404)와 3D 포인트 클라우드 지도(406) 사이의 매칭 비용을 최소화함으로써 최종 포즈와 예측 포즈 사이의 최적 오프셋을 검색하는 것이다.
일 실시형태에서, 보다 우수한 효율성 및 강인성을 구비하기 위해 시스템은 ADV의 2D 수평 오프셋 및 순방향 오프셋(Δx, Δy, Δψ)만 추정할 수 있다.
일 실시형태에서, 시스템(400)은 LiDAR 스캔을 사용하여 ADV의 위치 및 방향을 정확하게 추정할 수 있는 심층 신경망 아키텍처를 나타낸다. 심층 신경망에서, 상기와 같이, 한 그룹의 키 포인트는 3D 포인트의 인접 포인트를 이용한 특징 값을 통해 한정된 선형도를 평가한다. 소형 PointNet 세트는 특징 기술어를 추출할 수 있고, 또한 이러한 포인트의 일부 통계 속성에 대해 인코딩할 수 있다. 상이한 시나리오 중의 매칭 강인성을 최적화하기 위해 소형 PointNet 세트를 트레이닝할 수 있다. 상기 시스템은 비용량에서 3D 콘볼루션에 의해 정규화된 X x Y x ψ(X, Y 및 Yaw) 차원에서 완전히 미분 가능한 비용량에서 위치 추정 정밀도를 개선함으로써 수작업 파이프라인에 해당하는 결과를 발생할 수 있다. 최적 추정을 얻기 위해 이러한 차원의 매칭 확률을 산출한다. 따라서, 시스템(400)을 사용하여 심층 순환 신경망(RNN)을 통해 타임 모션의 동태를 암시적으로 캡슐화할 수 있고, 상기 타임 모션의 동태는 일반적으로 필터링 방법으로 모델링할 수 있다.
따라서, 학습 기반 LiDAR 프레임 워크(400)에서, 특징 매칭 강인성(특히 장기간에 걸친 실외 시간)에 최적화되어 학습 기반 LiDAR 위치 추정을 구현하도록 소형 PointNet에 기반한 특징 기술어 추출에 대해 트레이닝을 수행할 수 있다. X x Y x 요(yaw) 차원에서 비용량(410)을 필터링 및 정규화함으로써 위치 추정 정밀도를 개선하는 방법을 학습하기 위해, 미분이 가능한 기하학적 변환 및 특징 기술어의 이중 선형 보간 설계를 사용하여 3D 콘볼루션의 사용을 구현할 수 있다.
도 5는 실시형태에 따른 포인트 클라우드 특징을 추출하기 위한 시스템을 도시한다. 도 5에 도시된 바와 같이, ADV의 예측 포즈에 사용하기 위해, 온라인 포인트 클라우드 중 ADV의 LiDAR 장치에 의해 생성된 온라인 포인트 클라우드(404)를 통해 한 그룹의 키 포인트(502)를 선택할 수 있다. 각각의 키 포인트는 모두 LiDAR 포인트이고, 밀도, 기하학적 특징 및 분포를 포함하는 한 그룹의 기설정된 요인에 기반하여 선택할 수 있다. 선택된 키 포인트 중 각각에 대해 기설정된 개수의 인접한 LiDAR 포인트를 선택할 수 있고, 각각의 선택된 인접 포인트는 좌표 및 반사 강도를 포함하는 복수의 속성과 연관될 수 있다. 선택된 키 포인트의 각각의 인접한 LiDAR 포인트의 속성은 텐서(501, 503또는 505)에 배치될 수 있고, 소형 특징 학습 네트워크(513, 515 및 517) 중 하나에 제공될 수 있으며, 소형 특징 학습 네트워크(513, 515 및 517)는 선택된 키 포인트에 대해 특징 기술어(519, 521 및 523)를 추출할 수 있다.
일 실시형태에서, 동일한 개수의 대응되는 키 포인트(504)는 미리 구축된 3D 포인트 클라우드 지도(406)에 위치 추정될 수 있다. 각각의 대응되는 키 포인트에 대해 동일한 기설정된 개수의 인접한 LiDAR 포인트를 유사하게 위치 추정할 수 있다. 각각의 인접한 LiDAR 포인트의 속성은 텐서(507, 509 및 511)에 포함될 수 있고, 특징 기술어 소형 특징 학습 네트워크(513, 515 및 517) 중 하나에 제공될 수 있으며, 소형 특징 학습 네트워크(513, 515 및 517)는 상기 대응되는 키 포인트에 대해 특징 기술어(525, 527 및 529)를 추출할 수 있다.
도 6은 실시형태에 따른 포인트 클라우드 특징을 추출하기 위한 시스템의 예시적 실시수단을 도시한다. 도 6에 도시된 예시적 실시는 온라인 포인트 클라우드(605)(즉, LiDAR 포인트 클라우드) 및 미리 구축된 3D 포인트 클라우드 지도(607)를 포함한다. 상기 온라인 LIDAR 포인트 클라우드(605)는 차량에 장착된 LiDAR 장치의 모션 보상을 고려한 복수의 LiDAR 스캔으로부터 누적된 하나 또는 복수의 연속 프레임일 수 있다. 온라인 LIDAR 포인트 클라우드(605)는 한 그룹의 3D 포인트{ Pi |i = 1,…, n }로 표시되며, 여기서, 각각의 포인트 Pi는 모두 로컬 차량 또는 LiDAR 좌표계에서의 각 포인트의 좌표 및 반사 강도의 (x, y, z, r) 벡터를 포함한다.
상기 미리 구축된 3D 포인트 클라우드 지도(607)는 전역 좌표를 갖는 LiDAR 포인트의 집합일 수 있다. LiDAR 포인트는 차량을 연구하거나 드로잉하여 수집할 수 있고, 또한 보다 우수한 저장 효율성을 위해 복셀 그리드 필터를 사용하여 3D 포인트 클라우드 지도(607)를 다운 샘플링할 수 있다. 이 밖에, 포인트 클라우드 지도에서 차량, 자전거, 행인 등과 같은 동적 객체를 제거하기 위해 PointNet++를 사용하여 시멘틱 분할한다.
제1 단계로, 상기 시스템은 한 그룹의 로컬 반점(키 포인트로도 지칭됨)으로부터 로컬 특징 기술어를 추출할 수 있다. 키 포인트의 선택은 여러 측면에서 복수의 로컬 및 전역 기하학적 특징을 고려한다. 키 포인트를 선택한 후, 소형 버전 PointNet(613)를 사용하여 특징 기술어를 추출한다.
밀도, 기하학적 특징 및 분포를 포함하는 일부 요인을 고려하여 온라인 포인트 클라우드(605)로부터 고정된 개수의 키 포인트를 추출한다. 우선, 부근에서 기설정된 포인트 밀도를 갖는 후보자를 위치 추정하기 위해 온라인 포인트 클라우드(605) 중 모든 LiDAR 포인트를 트래버싱한다. 다음, 3D 구조 텐서를 사용하여 각각의 후보 키 포인트의 선형도를 평가한다. 강한 선형 구조를 갖는 특징은 일반적인 도로 시나리오에서의 독특성 및 풍부성으로 인해 위치 추정 임무에 적합한 것으로 간주된다. 셋째, 후보 키 포인트는 최소 개수의 키 포인트를 선택하기 위해 그 선형도에 따라 가장 현저한 것부터 가장 현저하지 않은 순서로 정렬된다. 새로 선택된 키 포인트는 기존의 키 포인트와 충분한 거리를 유지해야 한다.
합격된 키 포인트가 선택되면, 이에 대해 의미가 있는 특징 기술어를 추출할 수 있다. 기존의 특징(예를 들어, 간단한 기하학적 또는 통계적 특징)은 심층 네트워크를 통해 학습한 특징을 사용하여 포인트 클라우드 사이의 유사성을 설명하나 PointNet는 네트워크 아키텍처에서 정렬되지 않은 포인트를 소모하는 문제를 해결하기 위해 특징 기술어를 추출한다.
보다 구체적으로, 일 예시에서, 각각의 키 포인트에 대해, 64개의 인접 포인트를 수집하기 위해 z축을 따라 수직 실린더를 적용할 수 있다. 수평 위치 추정에 대해, 수직 실린더의 인접 포인트는 구형 검색 영역보다 더욱 의미있는 특징을 구축할 수 있다. 각각의 인접 포인트에 대해, 키 포인트의 상대 좌표 및 그 반사 강도(x, y, z, r)는 기술어 추출에 사용된다. 따라서, 소형 PointNet 네트워크의 입력은 64Х4의 텐서(609또는 611)이고; 출력은 키 포인트 반점의 로컬 특징(32)의 차원 벡터(614)를 나타내며, 상기 로컬 특징은 온라인 포인트 클라우드(605) 또는 미리 구축된 3D 포인트 클라우드 지도(607)로부터 이루어진 것일 수 있다.
특징 추출을 위한 소형 버전 PointNet(613)은 스택된 3개의 완전 연결층의 다층 퍼셉트론(MLP) 및 특징 기술어를 취합 및 획득하기 위한 최대 풀층을 포함할 수 있다.
온라인 포인트 클라우드(605) 및 오프라인 3D 포인트 클라우드 지도(6078)의 추출 특징에 대해, 파라미터 공유 소형 PointNet 구조(613)를 사용할 수 있다. 특정 지도 포인트에 있어서, 지도 포인트 주위에 최소 개수의 인접 포인트가 보이지 않으면, 상기 지도 포인트는 빈 지도 포인트/키 포인트로 간주된다. FCN은 빈 지도 포인트의 특징 기술어 표시를 학습할 수 있으며, 여기서 네트워크 입력은 단위 벡터로 설정될 수 있다.
아래 실시수단의 파라미터 및 임계값에 대해 설명한다.
키 포인트의 선택 기간 동안, LiDAR 포인트 클라우드(605)의 프레임 내에서 128개의 키 포인트를 선택할 수 있다. 본 명세서에서 사용된 바와 같이, 프레임은 LiDAR 유닛의 회전 또는 스윙이다. 다음, z축을 따라 0.5m의 반경을 갖는 실린더 내에서 특징 기술어 추출을 위해 각각의 키 포인트의 64개 인접 포인트를 선택한다. 허용되는 최소 인접 포인트 개수를 16으로 설정한다. 16 내지 64개의 인접 포인트가 존재하는 경우, 유효한 인접 포인트를 통해 키 포인트의 64Х4 입력 벡터(609)를 간단하게 반복적으로 충진하고, 그렇지 않으면, 지도 포인트가 비어있는 것으로 간주한다. 비용량의 솔루션 공간은 11X11X11으로 설정되고, x, y 및 ψ 차원의 차수는 각각 0.25m, 0.25m 및 0.5도이다. 따라서, 예측 포즈의 최대 허용 오프셋은 대략 (0.25Х(11-1)/2=1.25m, 1.25m 및 2.5도)이다. 상기 실시수단에서, 소형 PointNet 구조는 64Х32Х32 MLP이고, 3D CNN은 Conv3d (16,1,1) - Conv3d (4,3,1) - Conv3d (1,3,1)이며, RNN은 은폐된 상태의 11개의 2층 LSTM을 갖는다.
도 7은 실시형태에 따른 포인트 클라우드 특징을 추출하는 예시적 프로세스를 도시하는 흐름도이다. 프로세스(700)는 하드웨어(예를 들어, 회로, 전용 논리, 프로그램 가능 논리, 프로세서, 처리 장치, 중앙 처리 장치(CPU), 시스템 온 칩(SoC) 등), 소프트웨어(예를 들어, 처리 장치에서 실행/수행되는 명령), 펌웨어(예를 들어, 마이크로 코드) 또는 이들의 조합을 포함할 수 있는 프로레싱 로직에 의해 수행될 수 있다. 일부 실시형태에 있어서, 프로세스(700)는 도 3a 및 도 3b에 도시된 모듈 중 하나 또는 복수 개에 의해 수행될 수 있다.
도 7을 참조하면, 동작 701에서, 제1 그룹 키 포인트는 온라인 포인트 클라우드로부터 이루어지고, 상기 온라인 포인트 클라우드는 ADV의 예측 포즈에 사용되도록 ADV의 LiDAR 장치에 의해 생성된다. 제1 그룹 키 포인트 중 각각의 포인트는 모두 LiDAR 포인트이다. 제1 그룹 키 포인트 선택시, 복수의 후보 LiDAR 포인트를 위치 추정하기 위해 ADV의 예측 포즈를 둘러싸는 기설정된 영역 내에 위치한 모든 LiDAR 포인트를 트래버싱할 수 있고, 각각의 후보 LiDAR 포인트는 상기 후보 LiDAR 포인트의 부근에서 기설정된 밀도의 LiDAR 포인트를 가진다. 3D 구조 텐서를 사용하여 각각의 후보 LiDAR 포인트의 선형도를 평가할 수 있고, 각각의 후보 LiDAR 포인트의 선형도는 상기 평가에 기반하여 값을 할당받을 수 있다. 후보 LiDAR 포인트의 할당된 값에 기반하여 후보 LiDAR 포인트를 정렬할 수 있고, 이미 정렬된 후보 LiDAR 포인트에 기반하여 고정된 개수의 후보 LiDAR 포인트를 선택할 수 있다. 고정된 개수의 후보 LiDAR 포인트를 선택할 경우, 각각의 새로 선택된 LiDAR 포인트는 이미 선택된 하나 또는 복수의 기존 LiDAR 포인트와 기설정된 거리를 유지하여야 한다.
동작 703에서, ADV에서 실행되는 특징 학습 신경망을 사용하여 제1 그룹 키 포인트를 위한 제1 그룹 특징 기술어를 추출할 수 있다. 키 포인트의 z축을 따라 실린더를 사용하여 각각의 선택된 키 포인트에 대해 기설정된 개수의 인접한 LiDAR 포인트를 수집할 수 있고, 각각의 인접한 LiDAR 포인트는 반사 강도 및 상기 키 포인트에 대한 상대 좌표를 가지며, 각각의 선택된 키 포인트와 관련된 인접한 LiDAR 포인트의 속성에 기반하여 신경망을 통해 각각의 키 포인트의 특징을 추출할 수 있다.
동작 705에서, 제2 그룹 키 포인트를 미리 구축된 포인트 클라우드 지도에 위치 추정할 수 있고, 제2 그룹 키 포인트의 각각의 키 포인트는 모두 제1 그룹 키 포인트의 키 포인트와 대응된다. 2Х2 회전 행렬 및 2D 병진 벡터로 표시되는 변환을 사용하여 3D 지도 중의 대응되는 좌표를 산출할 수 있다.
동작 707에서, 온라인 포인트 클라우드로부터 제1 그룹 특징 기술어를 추출하는 방식과 유사한 방식으로 미리 구축된 포인트 클라우드 지도로부터 제2 그룹 특징 기술어를 추출한다.
CNN을 사용한 해결수단 추론
도 8은 실시형태에 따른 광 검출 및 거리 측정(LiDAR) 위치 추정에서 신경망을 사용하는 해결수단을 추론하기 위한 시스템을 도시한다.
도 8에 도시된 바와 같이, 비용량(cost volume)(409)은 복수의 서브량(유닛으로도 지칭됨)(813, 815 및 817)을 포함할 수 있으며, 이는 온라인 포인트 클라우드로부터 추출된 특징 기술어(519, 521 및 523) 및 미리 구축된 포인트 클라우드 지도로부터 추출된 특징 기술어(525, 527 및 529)에 의해 구축된다.
서브량이 정규화되도록, 각 서브량을 모두 복수의 CNN(411) 중 하나(예를 들어, 3D CNN A 823, 3D CNN B 825 및 3D CNN N 827)에 제공할 수 있다. 3D CNN의 출력은 정규화된 서브량(814) 중 하나(예를 들어, 정규화된 서브량 A(816), 정규화된 서브량 B(818) 또는 정규화된 서브량 N(820))일 수 있으며, 각각의 정규화된 서브량에서 매칭 비용은 세분화된다. 솔루션 공간(x, y, ψ) 중 각각의 솔루션(Δxi, Δyj, Δψk)에 대해, 온라인 포인트 클라우드와 기존 지도의 N개 기술어 페어 사이의 차이가 해결되고, CNN을 사용하여 상기 차이를 감소시키므로 쉽게 산출하고 최소 차이를 갖는 솔루션을 획득한다.
도 8에 도시된 바와 같이, 오프셋 공간 내의 키 포인트의 일관성을 나타내기 위해 정규화된 비용량(814)을 확률 오프셋량(831)까지 추가로 압축시킬 수 있고, 정규화된 비용량(814)은 nx×ny×nψ량이며, 이는 온라인 포인트 클라우드와 주어진 오프셋의 3D 포인트 클라우드 지도 사이의 전체 매칭 비용을 나타낸다.
도 9는 실시형태에 따른 LiDAR 위치 추정에서 신경망을 사용하는 해결수단을 추론하기 위한 시스템의 예시적 실시수단을 도시한다.
도 9에 도시된 바와 같이, 본 명세서에 설명된 예시적 시스템은 위치 추정 오프셋(Δx, Δy, Δψ)을 정확히 추론하는데 사용 가능한 네트워크를 나타낸다. 이는 솔루션 공간(x, y, ψ)에 비용량(916)을 구축하고 3D 콘볼루션 신경망(3D CNN)을 사용하여 비용량(916)을 정규화함으로써 완성된다. 우선, 시스템은 솔루션 공간을 x, y, ψ 차원에서 이산 공간으로 구획하고, nx, ny, nψ를 각 차원에서의 크기로 표시한다. 그 후 시스템은 {f1, .., fN}을 온라인 LIDAR 포인트 클라우드의 키 포인트 기술어로 표시한다. 따라서, 비용량은 N×nx×ny×nψ로 산출될 수 있다. 각각의 유닛은 대응되는 키 포인트와 주어진 오프셋을 갖는 3D지도 포인트 사이의 매칭 비용을 나타낼 수 있다.
예측된 포즈가 주어진 경우, 온라인 포인트 클라우드의 로컬 키 포인트는 이들의 전역 좌표로 변환된다. 예측 포즈는 x, y 및 yaw 차원에서
Figure 112021047018827-pct00001
의 부근으로 표시되고, 복수의 이산 공간으로 구획될 수 있다. 2×2 회전 행렬 및 2D 병진 벡터로 표시되는 변환을 사용하여 3D 포인트 클라우드 지도 중 대응되는 좌표를 산출할 수 있다.
Figure 112021047018827-pct00002

3D 포인트 클라우드 지도 중의 산출된 대응되는 좌표의 인접 포인트는 유사하게 소형 PointNet 구조를 통해 그 특징 기술어를 추출할 수 있다. 비용량(916) 중 각각의 유닛은 모두 온라인 포인트 클라우드로부터의 특징 기술어를 갖는 원 키 포인트, 변환 및 미리 구축된 포인트 클라우드 지도로부터의 대응되는 특징 기술어와 연관된다. 이 밖에, 이중 선형 보간 필터도 적용되어 x 및 y 차원에서 4개 부근을 갖는 지도의 대응되는 특징 기술어를 개선한다. 키 포인트 특징 및 정규화 네트워크를 브리징하는 핵심 단계로서, 변환 및 이중 선형 보간은 미분이 가능하여 트레이닝 단계 동안 역 전파를 통해 소형 PointNet 구조에서 특징 학습이 구현될 수 있다. 온라인 포인트 클라우드 및 지도의 기술어 페어를 이용하여 이들 사이의 메트릭 거리를 산출함으로써 오프셋 솔루션 공간에서 N×nx×ny×nψ 비용량을 형성할 수 있으며, 여기서, 상기 메트릭 거리는 정규화 네트워크의 입력이다. 메트릭 거리는 32차원의 벡터이고, 여기서, 각각의 요소는 기술어 페어 중 대응되는 하나와의 L2거리를 제곱하여 산출된다.
상기 입력이 주어진 경우, 상기 양 중의 배경을 고려하고 매칭 비용을 세분화한 정규화 함수를 학습할 수 있다. 오프셋 공간 내의 매칭 비용은 각각의 키 포인트에 대해 독립적으로 산출된 것이므로 심층 특징을 사용하여 표시하더라도 이들은 바람직하지 않다.
본 명세서에 의해 제공된 3D 콘볼루션(915)은 위치 추정 정밀도를 효과적으로 개선하기 위해 양의 정규화에 사용될 수 있다. 3D CNN(915)은 3개의 층을 포함하는데, 처음 2개의 3D 콘볼루션층은 배치 정규화 및 ReLU를 사용하고, 마지막 콘볼루션층은 출력을 직접 발송하여 정규화 및 활성화 작업을 생략한다. 각각의 nx×ny×nø 서브량에 대해 동일한 파라미터를 공유하는 3D CNN(915)을 수행하고, 또한 3D CNN(915)은 수렴 속도를 크게 증가시키고 과 적합을 효과적으로 방지할 수 있다.
도 9에 도시된 바와 같이, 3D CNN(915)을 통해 하나 또는 복수의 정규화된 비용량(918)을 생성할 수 있다. 정규화된 비용량 또는 서브량은 각각의 키 포인트의 모든 오프셋에 독립적으로 구성{Δxi, Δyj, Δψk }된 매칭 비용을 포함한다.
일 실시형태에서, 확률 오프셋량(즉, nx×ny×nψ 량)을 산출하여 오프셋 공간 내의 모든 키 포인트의 일관성을 표시할 수 있다. 확률 오프셋량은 주어진 오프셋 상황에서의 온라인 포인트 클라우드와 3D지도 사이의 전체 매칭 비용을 나타낼 수 있다.
일 실시형태에서, 키 포인트가 서로 독립적인 경우, 공식
Figure 112021047018827-pct00003
을 통해 오프셋 ΔT=(Δxi, Δyj, Δψk }의 매칭 확률을 산출할 수 있다. 여기서, Pi(ΔT)는 오프셋 ΔT에서 제i번째 키 포인트의 매칭 확률을 나타낸다.
일 실시형태에서, 상기 등식은 로그 우도 함수로 변환될 수 있다.
Figure 112021047018827-pct00004

상기 공식에서, C(ΔT)은 오프셋 ΔT에서 온라인 포인트 클라우드와 3D 포인트 클라우드 지도 사이의 전체 매칭 비용을 나타낸다. 도 9에 도시된 바와 같은 예시적인 실시에서, 상기 비용 log(Pi (ΔT)는 입력으로서 적용되고, 평균 감소(reduce average) 연산(919)을 적용하여 키 포인트 차원에서 전체 매칭 비용 C(ΔT)에 대응되는 nx×ny×nψ 비용량으로 압축될 수 있다.
일 실시형태에서, 압축된 비용량 중 각 유닛의 값은 대응되는 오프셋의 전체 매칭 비용이다. 매칭 비용C(ΔT)을 확률 C(ΔT)로 변환시키기 위해 x, y 및 yaw 차원에 따라 softmax 연산(922)을 적용할 수 있다. 감소 및 (reduce sum) 연산(921)을 적용하여 확률 오프셋량 P(ΔT)을 x, y 및 yaw 차원에서 확률 벡터로 추가 압축될 수 있으며, Pi (Δxi) = Σy, ψ P(ΔT), Pj (Δyj) = Σx, ψ P(ΔT) 및 P (Δ ψk) = Σx, y P(ΔT)이다.
도 10은 실시형태에 따른 LiDAR 위치 추정에서 신경망을 사용하는 해결수단을 추론하기 위한 예시적 프로세의 흐름도를 도시한다. 프로세스(1000)는 하드웨어(예를 들어, 회로, 전용 논리, 프로그램 가능 논리, 프로세서, 처리 장치, 중앙 처리 장치(CPU), 시스템 온 칩(SoC) 등), 소프트웨어(예를 들어, 처리 장치에서 실행/수행되는 명령), 펌웨어(예를 들어, 마이크로 코드) 또는 이들의 조합을 포함할 수 있는 프로레싱 로직에 의해 수행될 수 있다. 일부 실시형태에 있어서, 프로세스(1000)는 도 3a 및 도 3b에 도시된 모듈 중 하나 또는 복수 개에 의해 수행될 수 있다.
도 10을 참조하면, 동작 1001에서, 솔루션 공간에 자율 주행 차량의 예측 포즈를 위한 비용량을 구축한다. 비용량은 복수의 서브량을 포함하고, 각 서브량은 모두 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도의 대응되는 키 포인트 사이의 매칭 비용을 나타낸다.
동작 1003에서, 매칭 비용을 세분화하기 위해 복수의 일반적인 신경망(CNN)을 사용하여 비용량을 정규화한다. 이 밖에, 비용량 중의 보다 많은 배경을 고려하여 매칭 비용을 세분화하기 위해 비용량을 정규화시킬 수 있다. 이 밖에, 복수의 연속적인 LiDAR 프레임에서의 위치 확정 결과의 궤적을 평활화하기 위해 정규화된 비용량에 복수의 RNN을 적용할 수 있다. 동작 1005에서, 예측 포즈와 그라운드 트루스(ground truth)와의 최적 오프셋을 추론할 수 있고, 상기 최적 오프셋은 ADV의 위치를 확정하는데 사용된다.
위치 확정 결과에서 시간적 평활화 수행
도 11은 실시형태에 따른 ADV의 위치 확정 결과에서 시간적 평활화를 수행하기 위한 시스템을 도시한다.
도 11에 도시된 바와 같이, 시간적 평활화를 위해 확률 벡터(831)를 입력으로서 복수의 RNN(1109, 1111 및 1113)에 제공할 수 있다. 각각의 RNN은 모두 복수의 장기 및 단기 기억(LSTM) 유닛을 포함하고, 확률 벡터(1103, 1105 및 1108) 중 각각은 모두 입력으로서 RNN 중 하나에 제공될 수 있으며, 이는 대응되는 확률 벡터(1121, 1123또는 1125)를 생성할 수 있다. 대응되는 확률 벡터(1121, 1123 및 1125)의 가중 총합(1127)을 산출할 수 있고, 추정된 오프셋(1117)을 얻기 위해 원 확률 벡터(1103, 1105 및 1107)와 결합하여 사용된다. 추정된 오프셋(1117) 및 ground truth오프셋을 이용하여 ADV의 최적 포즈를 결정할 수 있다.
일 실시형태에서, 본 명세서에 설명된 시스템은 연속적인 LiDAR 프레임의, 학습된 이력 정보에 기반하여 연속적인 LiDAR 프레임의 위치 확정 결과의 궤적을 평활화시킬 수 있다. ADV는 연속적인 LiDAR 프레임에서 복수의 예측 포즈를 가질 수 있다.
도 12는 실시형태에 따른 ADV의 위치 확정 결과에서 시간적 평활화를 수행하기 위한 시스템의 예시적 실시수단을 도시한다.
상기와 같이, 온라인 포인트 클라우드와 미리 구축된 포인트 클라우드 지도 사이의 매칭은 공간적이므로, 연속적인 LiDAR 프레임의 확률 오프셋량은 서로 독립적이다. 그러나 위치 추정 임무는 연속적인 프로세스이므로 연속 프레임의 포즈를 연결시켜 고려해야 한다. 종래의 방법에서는 현재 매칭 분포를 추정하기 위해 히스토그램 내의 이력 분포를 전달함으로써 출력 시간의 평활화를 보장한다.
상기 예시적인 실시는 순환 신경망(RNN)을 사용하여 유사한 시간적 평활화를 구현한다. 보다 구체적으로, LSTM 유닛이 사용된다. 상기 확률 오프셋량의 이러한 차원(x, y, ψ)에 대한 확률 벡터(1209) 중 각각은 모두 파라미터가 독립된 각각의 RNN 유닛의 입력으로 간주될 수 있다. RNN에 의해 이력 정보를 학습함으로써 위치 확정 결과의 궤적이 보다 평활하고 정확해진다.
일 실시형태에서, 특징 공간 거리를 손실로 사용하지 않는 경우, 상기 예시적 실시수단은 추정 오프셋
Figure 112021047018827-pct00005
과 ground truth 오프셋
Figure 112021047018827-pct00006
사이의 L2거리의 제곱으로 손실을 직접 한정한 후 아래 산출을 통해 오프셋(1213)을 추정할 수 있다.
Figure 112021047018827-pct00007

따라서, 손실 함수는 다음과 같이 한정될 수 있다.
Figure 112021047018827-pct00008
, 여기서, α는 균형지수이다.
도 13은 실시형태에 따른 ADV의 위치 확정 결과에서 시간적 평활화를 수행하기 위한 예시적 프로세의 흐름도를 도시한다.
프로세스(1300)는 하드웨어(예를 들어, 회로, 전용 논리, 프로그램 가능 논리, 프로세서, 처리 장치, 중앙 처리 장치(CPU), 시스템 온 칩(SoC) 등), 소프트웨어(예를 들어, 처리 장치에서 실행/수행되는 명령), 펌웨어(예를 들어, 마이크로 코드) 또는 이들의 조합을 포함할 수 있는 프로레싱 로직에 의해 수행될 수 있다. 일부 실시형태에 있어서, 프로세스(1300)는 도 3a 및 도 3b에 도시된 모듈 중 하나 또는 복수 개에 의해 수행될 수 있다.
도 13을 참조하면, 동작 1301에서, 온라인 포인트 클라우드 중의 복수의 연속적인 광 검출 및 거리 측정(LiDAR) 프레임 중 각각에 대해 확률 오프셋량을 생성한다. 확률 오프셋량은 온라인 포인트 클라우드의 제1 그룹 키 포인트와 미리 구축된 포인트 클라우드 지도의 제2 그룹 키 포인트 사이의 전체 매칭 비용을 나타낸다. 동작 1303에서, X 차원, Y 차원 및 yaw 차원에서 확률 오프셋량을 복수의 확률 벡터로 압축한다. 동작 1305에서, 처리를 위해 확률 오프셋량의 각각의 확률 벡터를 순환 신경망(RNN)에 제공한다. 동작 1307에서, RNN은 복수의 연속적인 LiDAR 프레임에서 위치 확정 결과의 궤적을 생성한다.
도 14는 실시형태에 따른 학습 기반 LiDAR 위치 추정 시스템(1400)의 전체 아키텍처를 도시한다. 도 14에 도시된 바와 같이, 시스템(1400)은 온라인 LiDAR 스캔(1400 및 1405), 미리 구축된 포인트 클라우드 지도(1403 및 1407), 예측 포즈(1408)를 입력으로 적용하고; PointNet(1409)를 통해 특징을 학습하며, 솔루션 공간에 비용량을 구축하고, 최적 포즈(1415)를 추정하기 위해 CNN(1411) 및 RNN(1413)을 적용한다.
도 15는 실시형태에 따른 학습 기반 LiDAR 위치 추정 시스템(1500)의 전체 아키텍처를 보다 자세히 도시한다. 도 15에 도시된 바와 같이, 시스템(1500)은 키 포인트 선택 단계(1501), 특징 기술어(1503) 단계, 비용량 생성 및 3D CNN적용 단계(1505), 확률 오프셋량 생성 단계(1507), 시간적 평활화 단계(1509) 및 추정 오프셋 생성 단계(1511)를 포함한다. 추가로 도시된 바와 같이, 각 단계에서, 상기 단계의 동작 및 기능을 수행하도록, 대응되는 구조(예를 들어, 하나 또는 복수의 부재 및 입력)를 제공할 수 있다. 본 발명에서 이러한 구조는 상기에서 이미 설명되었다.
설명적 예시로서, 2단계 전략을 사용하여 시스템(1500)을 트레이닝할 수 있다. 제1 단계에서, 기술어 추출 단계(1503) 중 소형 PointNet 구조 및 비용량 생성 단계(1503)를 위한 3D CNN만 트레이닝한다. 이를 달성하기 위해, 네트워크 아키텍처 중의 시간적 평활화 단계(1509)를 위한 RNN을 제거하고, 확률 오프셋량에 따라 추론된 확률 벡터로부터 손실을 직접 산출한다. 배치 크기 및 학습율은 각각 1 및 0.1로 설정되고, 추출된 특징이 더욱 강인하도록 x-y 차원에 [0~1.0] m의 균일하게 분포된 랜덤 노이즈를 추가하며, yaw 차원에서 [0~2.0]°랜덤 오차를 입력 예측 포즈에 추가한다.
제2 단계에서, RNN의 파라미터는 소형 PointNet 구조 및 3D CNN에 고정된 파라미터를 사용하여 트레이닝된다. 배치 크기 및 학습율은 각각 1 및 0.001로 설정되고, RNN트레이닝 중에, 길이가 10인 시퀀스를 샘플링한다. LiDAR 프레임의 주파수가 10hz인 점을 감안하면 RNN의 실제 수신 가능한 필드는 약 1.0초이다. 이 두 단계에서, 트레이닝 및 검증의 비율이 4 : 1이 되도록, 트레이닝 데이터 세트를 트레이닝 세트와 검증 세트로 랜덤하게 구획한다. 성능 이득이 없는 경우, 이 두 단계에 대해 100개 시기 트레이닝 후 중지한다.
상술한 설명에서 도시되고 설명된 부재 중 일부 또는 전부는 소프트웨어, 하드웨어 또는 이들의 조합에서 구현될 수 있음에 유의해야 한다. 예를 들어, 해당 부재는 영구 저장 장치 중의 소프트웨어에 실장 및 저장되도록 구현될 수 있으며, 상기 소프트웨어는 프로세서(미도시)를 통해 메모리에 로딩되고 메모리에서 실행되어 본 발명에 따른 프로세스 또는 작동을 구현할 수 있다. 대체 가능하게, 해당 부재는 전용 하드웨어(예를 들어, 집적 회로(예를 들어, 전용 집적 회로 또는 ASIC), 디지털 신호 프로세서(DSP) 또는 필드 프로그래머블 게이트 어레이(FPGA)에 프로그래밍 또는 임베디드되는 실행 가능 코드로 구현될 수 있으며, 상기 실행 가능 코드는 애플리케이션으로부터의 대응되는 구동 순서 및/또는 운영 체제에 의해 액세스될 수 있다. 이밖에, 해당 부재는 하나 또는 복수의 특정 명령을 통해 소프트웨어 부재에 의해 액세스될 수 있는 명령 세트의 일부로서 프로세서 또는 프로세서 코어에서 특정 하드웨어 논리로 구현될 수 있다.
도 16은 본 발명의 일 실시형태와 함께 사용될 수 있는 데이터 처리 시스템의 예시를 도시하는 블록도이다. 예를 들어, 시스템(1600)은 상기 임의의 프로세스 또는 방법을 수행하는 임의의 데이터 처리 시스템을 나타낼 수 있다. 시스템(1600)은 다양한 부재를 포함할 수 있다. 이러한 부재는 집적 회로(IC), 집적 회로의 일부, 개별 전자 장치, 또는 회로기판(예를 들어, 컴퓨터 시스템의 마더보드 또는 삽입카드)에 적용되는 다른 모듈로 구현될 수 있거나 다른 방식으로 컴퓨터 시스템의 랙 내에 통합된 부재로 구현될 수 있다.
또한 시스템(1600)은 컴퓨터 시스템의 많은 부재의 높은 수준의 투시도를 나타내기 위한 것을 목적으로 함에 유의해야 한다. 그러나, 일부 실시형태는 부가적인 부재를 가질 수 있으며, 이밖에, 다른 실시형태는 도시된 부재의 상이한 구성을 가질 수 있음을 이해해야 할 것이다. 시스템(1600)은 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 PC, 센서, 휴대 전화, 미디어 플레이어, 개인 휴대 정보 단말기(PDA), 스마트 워치, 개인 커뮤니케이터, 게임 장치, 네트워크 라우터 또는 허브, 무선 액세스 포인트(wireless access point, AP) 또는 리피터, 셋톱 박스 또는 이들의 조합을 나타낼 수 있다. 이밖에, 단일 기계 또는 시스템만 도시되어 있지만, 용어 "기계" 또는 "시스템"은 또한 하나(또는 복수 개)의 명령 집합을 독립적으로 또는 공동으로 실행하여 본문에서 논의된 어느 하나 또는 다수의 방법을 수행하는 기계 또는 시스템의 어떠한 집합을 포함하도록 이해되어야 한다.
일 실시형태에서, 시스템(1600)은 버스 또는 인터커넥터(1610)에 의해 연결되는 프로세서(1601), 메모리(1603) 및 장치(1605 내지 1608)를 포함한다. 프로세서(1601)는 단일 프로세서 코어 또는 복수의 프로세서 코어를 포함하는 단일 프로세서 또는 복수의 프로세서를 나타낼 수 있다. 프로세서(1601)는 마이크로 프로세서, 중앙처리장치(CPU) 등과 같은 하나 또는 복수의 일반 프로세서를 표시할 수 있다. 보다 구체적으로, 프로세서(1601)는 복합 명령 집합 컴퓨터(Complex Instruction Set Computing, CISC) 마이크로 프로세서, 축소 명령 집합 컴퓨터(Reduced Instruction Set Computing, RISC) 마이크로 프로세서, 훨씬 긴 명령 컴퓨터(Very Long Instruction Word, VLIW) 마이크로 프로세서 또는 다른 명령 집합을 구현하는 프로세서, 또는 명령 집합 조합을 구현하는 프로세서일 수 있다. 프로세서(1601)는 또한, 전용 집적 회로(ASIC), 셀룰러 또는 베이스밴드 프로세서, 필드 프로그래머블 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서, 그래픽 프로세서, 통신 프로세서, 암호화 프로세서, 코프로세서(co-processor), 임베디드 프로세서, 또는 명령을 처리할 수 있는 임의의 다른 유형의 논리와 같은 하나 또는 복수의 전용 프로세서일 수 있다.
프로세서(1601)(초 저전압 프로세서와 같은 저전력 멀티 코어 프로세서 소켓일 수 있음)는 상기 시스템의 다양한 부재와 통신하기 위한 마스터 처리 장치 및 중앙 허브로서 기능할 수 있다. 이러한 프로세서는 시스템 온 칩(SoC)으로 구현될 수 있다. 프로세서(1601)는 본문에서 논의된 작동과 단계를 수행하기 위한 명령을 실행하도록 구성된다. 시스템(1600)은 선택 가능한 그래픽 서브시스템(1604)과 통신하는 그래픽 인터페이스를 더 포함할 수 있고, 그래픽 서브시스템(1604)은 디스플레이 제어기, 그래픽 프로세서 및/또는 디스플레이 장치를 포함할 수 있다.
프로세서(1601)는 메모리(1603)와 통신할 수 있고, 메모리(1603)는 일 실시형태에서 주어진 양의 시스템 스토리지를 제공하기 위해 복수의 메모리 장치에 의해 구현될 수 있다. 메모리(1603)는 랜덤 액세스 메모리(RAM), 동적 RAM(DRAM), 동기화 DRAM(SDRAM), 정적 RAM(SRAM), 또는 다른 유형의 저장 장치와 같은 하나 또는 복수의 휘발성 메모리(또는 메모리) 장치를 포함할 수 있다. 메모리(1603)는 프로세서(1601) 또는 어떠한 다른 장치에 의해 실행되는 명령 시퀀스를 포함하는 정보를 저장할 수 있다. 예를 들어, 다양한 운영 체제, 장치 드라이버, 펌웨어(예를 들어, 입력/출력 베이스 시스템 또는 BIOS) 및/또는 애플리케이션의 실행 가능 코드 및/또는 데이터는 메모리(1603)에 로딩될 수 있고 프로세서(1601)에 의해 실행될 수 있다. 운영 체제는 로봇 운영 체제(Robotic Operating System, ROS), Microsoft®회사의 Windows® 운영 체제, 애플회사의 MacOS®/iOS®, Google®회사의 Android®, LINUX, UNIX, 또는 다른 실시간 또는 임베디드 운영 체제와 같은 임의의 유형의 운영 체제일 수 있다.
시스템(1600)은 네트워크 인터페이스 장치(1605), 선택 가능한 입력 장치(1606), 및 다른 선택 가능한 IO장치(1607)를 포함하는 장치(1605 내지 1608)와 같은 IO장치를 더 포함할 수 있다. 네트워크 인터페이스 장치(1605)는 무선 트랜시버 및/또는 네트워크 인터페이스 카드(NIC)를 포함할 수 있다. 상기 무선 트랜시버는 WiFi 트랜시버, 적외선 트랜시버, 블루투스 트랜시버, WiMax트랜시버, 무선 셀룰러폰 트랜시버, 위성 트랜시버(예를 들어, 위성항법시스템(GPS) 트랜시버) 또는 다른 무선주파수 트랜시버 또는 이들의 조합일 수 있다. NIC는 이더넷 카드일 수 있다.
입력 장치(1606)는 마우스, 터치 패드, 터치 센시티브 스크린(디스플레이 장치(1604)와 통합될 수 있음), 포인터 장치(스타일러스와 같음) 및/또는 키보드(예를 들어, 물리적 키보드 또는 터치 센시티브 스크린의 일부로서 디스플레이되는 가상 키보드)를 포함할 수 있다. 예를 들어, 입력 장치(1606)는 터치 스크린에 연결되는 터치 스크린 제어기를 포함할 수 있다. 터치 스크린 및 터치 스크린 제어기는, 예를 들어, 다양한 터치 센시티브 기술(전기용량, 전기저항, 적외선 및 표면 탄성파 기술을 포함하지만 이에 한정되지 않음) 중의 어느 하나, 및 다른 근접 센서 어레이 또는 터치 스크린과의 터치를 결정하기 위한 하나 또는 복수의 포인트의 다른 소자를 사용하여 그 접촉과 이동 또는 중단을 검출할 수 있다.
IO장치(1607)는 오디오 장치를 포함할 수 있다. 오디오 장치는 음성 인식, 음성 복사, 디지털 기록 및/또는 전화 기능과 같은 음성 지원 기능을 추진하기 위해 스피커 및/또는 마이크로폰을 포함할 수 있다. 다른 IO장치(1607)는 범용직렬버스(universal serial bus, USB) 포트, 병렬 포트, 직렬 포트, 프린터, 네트워크 인터페이스, 버스 브리지(예를 들어, PCI-PCI 브리지), 센서(예를 들어, 가속도계 운동 센서, 자이로스코프, 자력계, 광센서, 컴퍼스, 근접 센서 등) 또는 이들의 조합을 더 포함할 수 있다. 장치(1607)는 이미지 처리 서브시스템(예를 들어, 카메라)을 더 포함할 수 있으며, 상기 이미지 처리 서브시스템은 카메라 기능(예를 들어, 사진 및 비디오 클립을 기록함)을 추진하기 위한 전하결합장치(CCD) 또는 상보성 금속산화물 반도체(CMOS) 광학 센서와 같은 광학 센서를 포함할 수 있다. 일부 센서는 센서 허브(미도시)를 통해 인터커넥터(1610)에 연결될 수 있는 반면, 키보드 또는 열 센서와 같은 다른 장치는 시스템(1600)의 구체적 구성 또는 설계에 따라 임베디드 제어기(미도시)에 의해 제어될 수 있다.
데이터, 애플리케이션, 하나 또는 복수의 운영 체제 등과 같은 정보에 대한 영구 저장을 제공하기 위해, 대용량 저장 장치(미도시)도 프로세서(1601)에 연결될 수 있다. 다양한 실시형태에서, 보다 얇고 보다 가벼운 시스템 설계를 구현하고 또한 시스템 응답성을 개선하기 위해, 이러한 대용량 저장 장치는 솔리드 스테이트 장치(SSD)를 통해 구현될 수 있다. 그러나, 다른 실시형태에서, 대용량 저장 장치는 주로 하드 디스크 드라이브(HDD)를 사용하여 구현될 수 있으며, 여기서 비교적 적은 량의 SSD 저장 장치는 전원 차단 사건 기간에 컨텍스트 상태 및 다른 이러한 유형의 정보의 비휘발성 저장을 구현하기 위해 SSD 캐시로서 작용하며, 이로써 시스템 활동이 다시 작동될 경우 빠른 전원 공급을 구현하도록 할 수 있다. 이밖에, 플래시 장치는 예를 들어, 직렬 주변 장치 인터페이스(SPI)를 통해 프로세서(1501)에 연결될 수 있다. 이러한 플래시 장치는 시스템의 BIOS 및 기타 펌웨어를 포함하는 시스템 소프트웨어의 비휘발성 저장을 제공할 수 있다.
저장 장치(1608)는 본문에 설명된 임의의 하나 또는 다수의 방법 또는 기능을 수행하는 하나 또는 복수의 명령 집합 또는 소프트웨어(예를 들어, 모듈, 유닛 및/또는 논리(1628))가 포함되는 컴퓨터 액세스 가능 저장 매체(1609)(기계 판독 가능 저장 매체 또는 컴퓨터 판독 가능 매체라고도 함)를 포함할 수 있다. 처리 모듈/유닛/논리(1628)는 예를 들어, 계획 모듈(305) 및 제어 모듈(306) 중 임의의 하나와 같은 상기 임의의 부재를 나타낼 수 있다. 처리 모듈/유닛/논리(1628)는 또한 데이터 처리 시스템(1600), 메모리(1603) 및 프로세서(1601)에 의해 실행되는 기간에 메모리(1603) 내 및/또는 프로세서(1601) 내에 완전하게 또는 적어도 일부가 체류될 수 있으며, 데이터 처리 시스템(1600), 메모리(1603) 및 프로세서(1601)도 기계 액세스 가능 저장 매체를 구성한다. 처리 모듈/유닛/논리(1628)는 또한 네트워크를 통해 네트워크 인터페이스 장치(1605)에 의해 전송되거나 수신될 수 있다.
컴퓨터 판독 가능 저장 매체(1609)는 또한 상술한 일부 소프트웨어 기능을 영구적으로 저장하는데 사용될 수 있다. 예시적 실시형태에서, 컴퓨터 판독 가능 저장 매체(1609)는 단일 매체로서 예시되었지만, 용어 "컴퓨터 판독 가능 저장 매체"는 상기 하나 또는 복수의 명령 집합을 저장하는 단일 매체 또는 복수의 매체(예를 들어, 집중식 또는 분산식 데이터베이스 및/또는 관련 캐시 및 센서)를 포함하는 것으로 간주해야 한다. 용어 "컴퓨터 판독 가능 저장 매체"는 또한 명령 집합을 저장하거나 코딩할 수 있는 어떠한 매체를 포함하는 것으로 간주해야 하며, 상기 명령 집합은 기계에 의해 실행되고 또한 상기 기계가 본 발명의 어느 하나 또는 다수의 방법을 수행하도록 한다. 따라서, 용어 "컴퓨터 판독 가능 저장 매체"는 솔리드 스테이트 메모리 및 광학 매체와 자성 매체, 또는 어떠한 다른 비일시적 기계 판독 가능 매체를 포함하지만 이에 한정되지 않는 것으로 간주해야 한다.
본문에 설명된 처리 모듈/유닛/논리(1628), 부재 및 다른 특징은 개별 하드웨어 부재로 구현될 수 있거나 하드웨어 부재(예를 들어, ASICS, FPGA, DSP 또는 유사한 장치)의 기능에 통합될 수 있다. 이밖에, 처리 모듈/유닛/논리(1628)는 하드웨어 장치 내의 펌웨어 또는 기능 회로로 구현될 수 있다. 이밖에, 처리 모듈/유닛/논리(1628)는 하드웨어 장치와 소프트웨어 부재의 어떠한 조합으로 구현될 수 있다.
유의해야 할 것은, 시스템(1600)이 데이터 처리 시스템의 다양한 부재를 갖는 것으로 도시되어 있지만, 부재를 상호 연결하는 어떠한 특정 구조 또는 방식을 나타내도록 의도되지 않았는데, 이는 이러한 세부 사항과 본 발명의 실시형태가 밀접한 관계가 없기 때문이다. 더 이해해야 할 것은, 보다 적은 부재 또는 가능하게 보다 많은 부재를 갖는 네트워크 컴퓨터, 휴대용 컴퓨터, 휴대용 전화, 서버 및/또는 다른 데이터 처리 시스템도 본 발명의 실시형태와 함께 사용될 수 있다.
전술한 상세한 설명의 일부는 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 알고리즘 및 부호 표시에 따라 나타난다. 이러한 알고리즘의 설명과 표시는 데이터 처리 분야의 당업자가 작업 내용을 본 분야의 다른 기술자에게 가장 효과적으로 전달하기 위해 사용되는 방식이다. 본문에서, 알고리즘은 통상적으로 바라는 결과를 초래하는 일관된 동작 시퀀스인 것으로 간주된다. 이러한 작동은 물리량에 대해 물리적으로 작동 및 제어해야 하는 작동을 가리킨다.
그러나 모든 이러한 유사한 용어는 적절한 물리량과 관련되도록 의도된 것이며, 단지 이러한 양에 적용되기 위한 간편한 표기일 뿐이다. 비정상 논의에서 달리 명시되지 않는 한, 명세서 전체에서, 용어(청구범위에 기술된 용어와 같음)를 이용하여 진행한 논의는 컴퓨터 시스템 또는 유사 전자 산출 장치의 동작 및 처리를 지칭하는 것으로 이해해야 하며, 상기 컴퓨터 시스템 또는 전자 산출 장치는 컴퓨터 시스템의 레지스터 및 메모리 내의 물리(전자)량으로 표시되는 데이터를 조절하고, 상기 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 유형의 정보 저장 장치, 전송 또는 디스플레이 장치 내 유사하게 물리량으로 표시되는 다른 데이터로 변환시킨다.
본 발명의 실시형태는 또한 본문에서의 동작을 실행하기 위한 장치에 관한 것이다. 이러한 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체에 저장된다. 기계 판독 가능 매체는 기계(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 예를 들어, 기계 판독 가능(예를 들어, 컴퓨터 판독 가능) 매체는 기계(예를 들어, 컴퓨터) 판독 가능 저장 매체(예를 들어, 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광 저장 매체, 플래시 메모리 장치)를 포함한다.
전술한 도면에 도시된 프로세스 또는 방법은 하드웨어(예를 들어, 회로, 전용 논리 등), 소프트웨어(예를 들어, 비일시적 컴퓨터 판독 가능 매체에 구현됨) 또는 이들의 조합을 포함하는 처리 논리에 의해 수행될 수 있다. 상기 프로세스 또는 방법이 일부 순차적 동작에 의해 설명되었지만, 상기 작동 중 일부는 상이한 순서에 따라 수행될 수 있음을 이해해야 한다. 이밖에, 일부 작동은 순차적이 아니라 병렬로 수행될 수 있다.
본 발명의 실시형태는 임의의 특정 프로그래밍 언어를 참조하여 설명된 것이 아니다. 다양한 프로그래밍 언어를 사용하여 본문에 기술된 바와 같이 본 발명의 실시형태의 교시를 구현할 수 있음을 이해해야 한다.
상기 명세서에서, 본 발명의 구체적인 예시적 실시형태를 참조하여 본 발명의 실시형태를 설명한다. 청구범위에 기술된 본 발명의 보다 광범위한 사상 및 범위를 벗어나지 않으면서 본 발명에 대해 다양한 수정을 진행할 수 있음은 자명한 것이다. 따라서, 본 명세서와 도면은 한정적 의미가 아닌 설명적 의미로 이해되어야 한다.

Claims (21)

  1. 광 검출 및 거리 측정 (LiDAR) 위치 추정에서 신경망을 이용한 솔루션 추론을 위한 컴퓨터 실행 방법에 있어서,
    솔루션 공간에서 자율 주행 차량의 예측 포즈의 비용량(cost volume)을 구축하는 단계 - 상기 비용량은 복수의 서브량(sub volumes)을 포함하고, 각 서브량은 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도상의 대응되는 키 포인트 사이의 매칭 비용을 나타냄 -;
    매칭 비용을 세분화하기 위해, 복수의 콘볼루션 신경망(CNN)을 사용하여 비용량을 정규화하는 단계; 및
    정규화된 비용량으로부터 예측 포즈의 최적 오프셋을 추론하는 단계 - 상기 최적 오프셋은 상기 자율 주행 차량의 위치를 추정하는데 사용됨 -
    를 포함하는 컴퓨터 실행 방법.
  2. 제1항에 있어서,
    상기 복수의 CNN 각각은, 동일한 파라미터 세트를 공유하고 복수의 콘볼루션층을 포함하며, 상기 복수의 콘볼루션층 중 적어도 하나는 배치 정규화 및 수정 선형 유닛을 사용하는 3D 콘볼루션층인 컴퓨터 실행 방법.
  3. 제1항에 있어서,
    상기 예측 포즈의 솔루션 공간은 온라인 포인트 클라우드로부터 선택된 키 포인트 세트에의해 한정된 공간을 포함하고, 상기 키 포인트 세트 각각은, 기설정된 개수의 인접 포인트와 연관되고, 상기 키 포인트 세트의 나머지 키 포인트와 최소거리를 갖는 컴퓨터 실행 방법.
  4. 제3항에 있어서,
    상기 비용량은, 상기 온라인 포인트 클라우드 및 상기 미리 구축된 포인트 클라우드 지도로부터 추출된 특징 기술어에 기초하여 구축되고, 상기 온라인 포인트 클라우드로부터 추출된 각각의 특징은 키 포인트 및 기설정된 개수의 인접 LiDAR 포인트에 대응되는 컴퓨터 실행 방법.
  5. 제3항에 있어서,
    상기 비용량을 구축하는 단계는,
    각 쌍의 대응되는 특징 기술어 사이의 메트릭 거리를 산출하는 단계를 더 포함하고,
    상기 메트릭 거리는 다차원 벡터이고, 각각의 요소는 기술어 페어 중 대응되는 하나와의 거리를 제곱하여 산출되는 컴퓨터 실행 방법.
  6. 제3항에 있어서,
    상기 비용량을 구축하는 단계는,
    상기 솔루션 공간을 복수의 이산 공간으로 분할하되, 각각의 이산 공간은 키 포인트 세트 중 하나에 대응하는 단계;
    대응하는 키 포인트 및 연관된 인접 LiDAR 포인트에 의해 점유된 공간에 기초하여, 각각의 이산 공간에 대해 X 차원, Y 차원 및 요(yaw)차원의 크기를 확정하는 단계; 및
    상기 예측 포즈를 위한 다수의 특징 기술어 및 각각의 이산 공간에 대한 각 차원의 크기에 기초하여, 비용량을 구축하는 단계
    를 포함하는 컴퓨터 실행 방법.
  7. 제1항에 있어서,
    상기 비용량의 각 서브량은, 상기 온라인 포인트 클라우드의 관련 특징 기술어를 갖는 키 포인트, 변환 및 미리 구축된 상기 포인트 클라우드 지도의 대응되는 특징 기술어와 연관되는 컴퓨터 실행 방법.
  8. 광 검출 및 거리 측정 (LiDAR) 위치 추정에서 신경망을 이용한 솔루션 추론을 위한 시스템에 있어서,
    프로세서; 및
    명령을 저장하기 위해 상기 프로세서에 연결된 메모리
    를 포함하고,
    상기 명령이 프로세서에 의해 실행될 경우, 상기 프로세서가 동작을 실행하도록 하며,
    상기 동작은,
    솔루션 공간에서 자율 주행 차량의 예측 포즈의 비용량(cost volume)을 구축하는 동작 - 상기 비용량은 복수의 서브량(sub volumes)을 포함하고, 각 서브량은 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도상의 대응되는 키 포인트 사이의 매칭 비용을 나타냄 -;
    매칭 비용을 세분화하기 위해, 복수의 콘볼루션 신경망(CNN)을 사용하여 비용량을 정규화하는 동작; 및
    정규화된 비용량으로부터 예측 포즈의 최적 오프셋을 추론하는 동작 - 상기 최적 오프셋은 상기 자율 주행 차량의 위치를 추정하는데 사용됨 -
    을 포함하는 시스템.
  9. 제8항에 있어서,
    상기 복수의 CNN 각각은, 동일한 파라미터 세트를 공유하고 복수의 콘볼루션층을 포함하며, 상기 복수의 콘볼루션층 중 적어도 하나는 배치 정규화 및 수정 선형 유닛을 사용하는 3D 콘볼루션층인 시스템.
  10. 제8항에 있어서,
    상기 예측 포즈의 솔루션 공간은 온라인 포인트 클라우드로부터 선택된 키 포인트 세트에의해 한정된 공간을 포함하고, 상기 키 포인트 세트 각각은, 기설정된 개수의 인접 포인트와 연관되고, 상기 키 포인트 세트의 나머지 키 포인트와 최소거리를 갖는 시스템.
  11. 제10항에 있어서,
    상기 비용량은, 상기 온라인 포인트 클라우드 및 상기 미리 구축된 포인트 클라우드 지도로부터 추출된 특징 기술어에 기초하여 구축되고, 상기 온라인 포인트 클라우드로부터 추출된 각각의 특징은 키 포인트 및 기설정된 개수의 인접 LiDAR 포인트에 대응되는 시스템.
  12. 제10항에 있어서,
    상기 비용량을 구축하는 동작은, 각 쌍의 대응되는 특징 기술어 사이의 메트릭 거리를 산출하는 동작을 더 포함하고,
    상기 메트릭 거리는 다차원 벡터이고, 각각의 요소는 기술어 페어 중 대응되는 하나와의 거리를 제곱하여 산출되는 시스템.
  13. 제8항에 있어서,
    상기 비용량을 구축하는 동작은,
    상기 솔루션 공간을 복수의 이산 공간으로 분할하되, 각각의 이산 공간은 키 포인트 세트 중 하나에 대응하는 동작;
    대응하는 키 포인트 및 연관된 인접 LiDAR 포인트에 의해 점유된 공간에 기초하여, 각각의 이산 공간에 대해 X 차원, Y 차원 및 요(yaw) 차원의 크기를 확정하는 동작; 및
    상기 예측 포즈를 위한 다수의 특징 기술어 및 각각의 이산 공간에 대한 각 차원의 크기에 기초하여, 비용량을 구축하는 동작
    을 포함하는 시스템.
  14. 제8항에 있어서,
    상기 비용량의 각 서브량은, 상기 온라인 포인트 클라우드의 관련 특징 기술어를 갖는 키 포인트, 변환 및 미리 구축된 상기 포인트 클라우드 지도의 대응되는 특징 기술어와 연관되는 시스템.
  15. 명령이 저장된 비일시적 기계 판독 가능 매체에 있어서,
    상기 명령이 프로세서에 의해 실행될 경우, 상기 프로세서가 동작을 실행하도록 하며,
    상기 동작은,
    솔루션 공간에서 자율 주행 차량의 예측 포즈의 비용량(cost volume)을 구축하는 동작 - 상기 비용량은 복수의 서브량(sub volumes)을 포함하고, 각 서브량은 온라인 포인트 클라우드의 키 포인트와 미리 구축된 포인트 클라우드 지도상의 대응되는 키 포인트 사이의 매칭 비용을 나타냄 -;
    매칭 비용을 세분화하기 위해, 복수의 콘볼루션 신경망(CNN)을 사용하여 비용량을 정규화하는 동작; 및
    정규화된 비용량으로부터 예측 포즈의 최적 오프셋을 추론하는 동작 - 상기 최적 오프셋은 상기 자율 주행 차량의 위치를 추정하는데 사용됨 -
    을 포함하는 비일시적 기계 판독 가능 매체.
  16. 제15항에 있어서,
    상기 복수의 CNN 각각은, 동일한 파라미터 세트를 공유하고 복수의 콘볼루션층을 포함하며, 상기 복수의 콘볼루션층 중 적어도 하나는 배치 정규화 및 수정 선형 유닛을 사용하는 3D 콘볼루션층인 비일시적 기계 판독 가능 매체.
  17. 제15항에 있어서,
    상기 예측 포즈의 솔루션 공간은 온라인 포인트 클라우드로부터 선택된 키 포인트 세트에의해 한정된 공간을 포함하고, 상기 키 포인트 세트 각각은, 기설정된 개수의 인접 포인트와 연관되고, 상기 키 포인트 세트의 나머지 키 포인트와 최소거리를 갖는 비일시적 기계 판독 가능 매체.
  18. 제17항에 있어서,
    상기 비용량은, 상기 온라인 포인트 클라우드 및 상기 미리 구축된 포인트 클라우드 지도로부터 추출된 특징 기술어에 기초하여 구축되고, 상기 온라인 포인트 클라우드로부터 추출된 각각의 특징은 키 포인트 및 기설정된 개수의 인접 LiDAR 포인트에 대응되는 비일시적 기계 판독 가능 매체.
  19. 제17항에 있어서,
    상기 비용량을 구축하는 동작은, 각 쌍의 대응되는 특징 기술어 사이의 메트릭 거리를 산출하는 동작을 더 포함하고,
    상기 메트릭 거리는 다차원 벡터이고, 각각의 요소는 기술어 페어 중 대응되는 하나와의 거리를 제곱하여 산출되는 비일시적 기계 판독 가능 매체.
  20. 제15항에 있어서,
    상기 비용량을 구축하는 동작은,
    상기 솔루션 공간을 복수의 이산 공간으로 분할하되, 각각의 이산 공간은 키 포인트 세트 중 하나에 대응하는 동작;
    대응하는 키 포인트 및 연관된 인접 LiDAR 포인트에 의해 점유된 공간에 기초하여, 각각의 이산 공간에 대해 X 차원, Y 차원 및 요(yaw) 차원의 크기를 확정하는 동작; 및
    상기 예측 포즈를 위한 다수의 특징 기술어 및 각각의 이산 공간에 대한 각 차원의 크기에 기초하여, 비용량을 구축하는 동작
    을 포함하는 비일시적 기계 판독 가능 매체.
  21. 제15항에 있어서,
    상기 비용량의 각 서브량은, 상기 온라인 포인트 클라우드의 관련 특징 기술어를 갖는 키 포인트, 변환 및 미리 구축된 상기 포인트 클라우드 지도의 대응되는 특징 기술어와 연관되는 비일시적 기계 판독 가능 매체.
KR1020197036957A 2019-01-30 2019-01-30 자율 주행 차량에서 3d cnn 네트워크를 사용하여 솔루션을 추론하는 lidar 위치 추정 KR102292277B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/073977 WO2020154972A1 (en) 2019-01-30 2019-01-30 Lidar localization using 3d cnn network for solution inference in autonomous driving vehicles

Publications (2)

Publication Number Publication Date
KR20200096408A KR20200096408A (ko) 2020-08-12
KR102292277B1 true KR102292277B1 (ko) 2021-08-20

Family

ID=71840764

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197036957A KR102292277B1 (ko) 2019-01-30 2019-01-30 자율 주행 차량에서 3d cnn 네트워크를 사용하여 솔루션을 추론하는 lidar 위치 추정

Country Status (6)

Country Link
US (1) US11531110B2 (ko)
EP (1) EP3714290B1 (ko)
JP (1) JP7060625B2 (ko)
KR (1) KR102292277B1 (ko)
CN (1) CN111771141B (ko)
WO (1) WO2020154972A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10816354B2 (en) 2017-08-22 2020-10-27 Tusimple, Inc. Verification module system and method for motion-based lane detection with multiple sensors
US11009365B2 (en) 2018-02-14 2021-05-18 Tusimple, Inc. Lane marking localization
US11009356B2 (en) 2018-02-14 2021-05-18 Tusimple, Inc. Lane marking localization and fusion
US20210118166A1 (en) * 2019-10-18 2021-04-22 Nvidia Corporation Pose determination using one or more neural networks
US10549186B2 (en) * 2018-06-26 2020-02-04 Sony Interactive Entertainment Inc. Multipoint SLAM capture
US11455806B2 (en) * 2019-07-10 2022-09-27 Deka Products Limited Partnership System and method for free space estimation
CN112400122A (zh) * 2019-08-26 2021-02-23 北京航迹科技有限公司 定位目标对象的系统和方法
CN112444785B (zh) * 2019-08-30 2024-04-12 华为技术有限公司 一种目标行为识别的方法、装置和雷达系统
US11281917B2 (en) * 2019-10-31 2022-03-22 Aptiv Technologies Limited Multi-domain neighborhood embedding and weighting of point cloud data
EP3893150A1 (en) * 2020-04-09 2021-10-13 Tusimple, Inc. Camera pose estimation techniques
US11741728B2 (en) * 2020-04-15 2023-08-29 Toyota Research Institute, Inc. Keypoint matching using graph convolutions
US11634161B2 (en) * 2020-06-24 2023-04-25 Woven Planet North America, Inc. Path planning using delta cost volume generated from movement restrictions and observed driving behavior
DE102020211636A1 (de) * 2020-09-17 2022-03-17 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Bereitstellen von Daten zum Erstellen einer digitalen Karte
CN112491442B (zh) * 2020-11-17 2021-12-28 中山大学 一种自干扰消除方法及装置
CN112465878B (zh) * 2021-02-02 2021-05-11 北京邮电大学 一种基于粒子滤波的位置预测方法及设备
CN113053123B (zh) * 2021-03-23 2022-10-28 长安大学 一种基于时空大数据的交通量预测方法及装置
US11403817B1 (en) * 2021-04-14 2022-08-02 Lineage Logistics, LLC Point cloud filtering
KR102362509B1 (ko) * 2021-06-11 2022-02-16 (주)그린공간정보 영상도화이미지의 정밀성 향상을 위한 도화오류 자동 검색기능의 영상도화시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018197744A (ja) 2017-05-22 2018-12-13 本田技研工業株式会社 路面標示を用いた都市環境における位置特定

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8879828B2 (en) * 2011-06-29 2014-11-04 Matterport, Inc. Capturing and aligning multiple 3-dimensional scenes
GB2501466A (en) * 2012-04-02 2013-10-30 Univ Oxford Localising transportable apparatus
US11137255B2 (en) 2015-08-03 2021-10-05 Tomtom Global Content B.V. Methods and systems for generating and using localization reference data
US9953217B2 (en) * 2015-11-30 2018-04-24 International Business Machines Corporation System and method for pose-aware feature learning
US10268901B2 (en) * 2015-12-04 2019-04-23 Texas Instruments Incorporated Quasi-parametric optical flow estimation
KR20170083662A (ko) * 2016-01-08 2017-07-19 서울대학교산학협력단 센서 오차에 강건한 지도 작성 장치
KR20170083233A (ko) * 2016-01-08 2017-07-18 서울대학교산학협력단 지도 기반 이동체 움직임 의도 판단을 활용한 주행 지원 시스템
KR101854048B1 (ko) * 2016-11-25 2018-05-02 연세대학교 산학협력단 스테레오 매칭 깊이맵의 신뢰도 측정 방법 및 장치
CN106845515B (zh) * 2016-12-06 2020-07-28 上海交通大学 基于虚拟样本深度学习的机器人目标识别和位姿重构方法
US10365650B2 (en) * 2017-05-25 2019-07-30 GM Global Technology Operations LLC Methods and systems for moving object velocity determination
CN108228798B (zh) * 2017-12-29 2021-09-17 百度在线网络技术(北京)有限公司 确定点云数据之间的匹配关系的方法和装置
CN108664122A (zh) * 2018-04-04 2018-10-16 歌尔股份有限公司 一种姿态预测方法和装置
CN108876831A (zh) 2018-06-08 2018-11-23 西北工业大学 一种基于深度学习的建筑物三维点云配准方法
US11188089B2 (en) * 2018-06-21 2021-11-30 Ford Global Technologies, Llc Localization for autonomous vehicles using gaussian mixture models
CN109086683B (zh) 2018-07-11 2020-09-15 清华大学 一种基于点云语义增强的人手姿态回归方法和系统
US11364931B2 (en) * 2019-01-30 2022-06-21 Baidu Usa Llc Lidar localization using RNN and LSTM for temporal smoothness in autonomous driving vehicles
CN112465878B (zh) 2021-02-02 2021-05-11 北京邮电大学 一种基于粒子滤波的位置预测方法及设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018197744A (ja) 2017-05-22 2018-12-13 本田技研工業株式会社 路面標示を用いた都市環境における位置特定

Also Published As

Publication number Publication date
CN111771141A (zh) 2020-10-13
EP3714290A1 (en) 2020-09-30
US20210373161A1 (en) 2021-12-02
EP3714290A4 (en) 2020-09-30
KR20200096408A (ko) 2020-08-12
CN111771141B (zh) 2024-04-09
JP7060625B2 (ja) 2022-04-26
EP3714290B1 (en) 2022-08-03
JP2021515724A (ja) 2021-06-24
US11531110B2 (en) 2022-12-20
WO2020154972A1 (en) 2020-08-06

Similar Documents

Publication Publication Date Title
KR102292277B1 (ko) 자율 주행 차량에서 3d cnn 네트워크를 사용하여 솔루션을 추론하는 lidar 위치 추정
KR102335389B1 (ko) 자율 주행 차량의 lidar 위치 추정을 위한 심층 학습 기반 특징 추출
KR102350181B1 (ko) 자율 주행 차량에서 rnn 및 lstm을 사용하여 시간적 평활화를 수행하는 lidar 위치 추정
JP6644742B2 (ja) 頑健で効率的な車両測位用のアルゴリズム及びインフラ
JP6722312B2 (ja) 自動運転に用いられる感知と計画のコラボレーションフレームワーク
JP6748244B2 (ja) 自動運転車に用いられる学習に基づく速度計画装置
JP6722280B2 (ja) 自律走行車の交通予測における予測軌跡の評価フレームワーク
JP2019128962A (ja) 自動運転車のための経路及び速度の最適化フォールバックメカニズム[path and speed optimization fallback mechanism for autonomous vehicles]
CN108684203B (zh) 确定自动驾驶车辆的道路摩擦的方法和系统
JP2019182411A (ja) オブジェクトの二次元境界枠を自動運転車両の三次元位置に転換するための方法[method for transforming 2d bounding boxes of objects into 3d positions for autonomous driving vehicles (advs)]
JP2020083308A (ja) オブジェクト挙動のリアルタイム予測
JP2020001678A (ja) 重み付け幾何学的コストを有する区分的螺旋曲線を使用した基準線平滑化方法
JP2020066428A (ja) 自動運転車両のための人間の運転行動を模倣する2段階基準線平滑化方法
JP2020097388A (ja) 自動運転車両のための曲率補正経路サンプリングシステム
CN112146680B (zh) 基于特征图确定消失点
JP2020529348A (ja) 自動運転車両のためのスピード制御コマンド自動較正システム
JP7005571B2 (ja) 所定の負荷較正テーブルによる自動運転車両の車両負荷の確定方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant