KR20220134754A - 이미징 시스템들을 위한 차선 검출 및 추적 기법들 - Google Patents

이미징 시스템들을 위한 차선 검출 및 추적 기법들 Download PDF

Info

Publication number
KR20220134754A
KR20220134754A KR1020227026499A KR20227026499A KR20220134754A KR 20220134754 A KR20220134754 A KR 20220134754A KR 1020227026499 A KR1020227026499 A KR 1020227026499A KR 20227026499 A KR20227026499 A KR 20227026499A KR 20220134754 A KR20220134754 A KR 20220134754A
Authority
KR
South Korea
Prior art keywords
spline
lane
predicted
pixels
pixel
Prior art date
Application number
KR1020227026499A
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 KR20220134754A publication Critical patent/KR20220134754A/ko

Links

Images

Classifications

    • 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/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/422Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
    • G06V10/426Graphical representations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/06Road conditions
    • B60W40/072Curvature of the road
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • 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/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/752Contour matching
    • 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
    • G06V10/765Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
    • 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0112Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/04Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/167Driving aids for lane monitoring, lane changing, e.g. blind spot detection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • B60W60/0016Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0025Planning or execution of driving tasks specially adapted for specific operations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Electromagnetism (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

도로 상의 차선을 추적하기 위한 방법이 제시된다. 본 방법은, 하나 이상의 프로세서들에 의해, 이미징 시스템으로부터, 차선 마킹들과 연관된 픽셀들의 세트를 수신하는 단계를 포함한다. 본 방법은 하나 이상의 프로세서들에 의해, (i) 제1 스플라인 및 (ii) 이미징 시스템이 이동하고 있는 방향으로의 제1 스플라인의 예측된 확장을 포함하는 예측된 스플라인을 생성하는 단계를 추가로 포함한다. 제1 스플라인은 차선의 경계를 설명하고 픽셀들의 세트에 기반하여 생성된다. 제1 스플라인의 예측된 확장은 제1 스플라인의 적어도 일부의 곡률에 적어도 부분적으로 기반하여 생성된다.

Description

이미징 시스템들을 위한 차선 검출 및 추적 기법들
[0001] 본 출원은, 2020년 1월 6일자로 출원된 미국 가출원 번호 제62/957,650호, 2020년 7월 8일자로 출원된 미국 특허 출원 번호 제16/924,139호 및 2020년 7월 9일자로 출원된 미국 특허 출원 번호 제16/925,190호에 대한 우선권을 주장하며, 이 출원들 전체는 인용에 의해 본원에 명백히 포함된다.
[0002] 본 개시내용은 일반적으로 자율 차량 시스템의 물체 검출 능력들에 관한 것으로, 보다 구체적으로, 자율 차량 동작 동안 차선 경계 위치들을 정확하게 검출 및 예측하는 것에 관한 것이다.
[0003] 전용 차선들을 갖는 도로를 따라 이동하는 자율 주행(또는 "자체-주행") 차량은 차선 경계들 및 차선 경계들에 대한 차량의 포지션에 대한 지식을 필요로 한다. 고정밀 위치 지정과 고해상도(HD: high-definition) 맵(map)이 이용 가능한 경우, 자율 주행 차량은 차선 경계들을 결정하기 위해 이러한 데이터에 의존할 수 있다. 그러나, HD 맵들은 많은 상황들에서 이용할 수 없으므로, 자율 주행 차량은 온-보드 이미징 센서와 컴퓨터 비전 기법들을 사용하여 실시간으로 차선 경계들을 식별한다. 예를 들어, 온-보드 이미징 센서들은 차량 전방의 도로 표면을 묘사하는 픽셀들의 어레이를 생성하기 위해 광 검출 및 거리 측정(라이다(lidar)) 디바이스를 포함할 수 있다.
[0004] 그러나, 차선 경계 포지션들을 결정하기 위해 온-보드 이미징 센서들 및 컴퓨터 비전 기법들을 사용하는 것은 실시간 데이터 수집 및 분석이 프로세서 집약적이기 때문에 큰 과제이다. 특히 고속에서, 자율 주행 차량이 실시간 데이터에 표시된 영역에 도달하기 전에 차선 경계 포지션의 정확한 판단이 불가능할 수 있다. 차선 경계 포지션들의 정확한 결정이 없으면, 자율 주행 차량이 인접한 차선으로 드리프팅(drifting)되거나 다른 차량들과 충돌할 수 있다.
[0005] 일반적으로 말하면, 본 개시내용의 방법은 차선 경계 포지션들을 정확하고 효율적으로 식별함으로써 도로 차선들을 검출한다. 또한, 본 개시내용의 방법은 식별된 차선 경계 포지션들에 기반하여 이미징 시스템들(예를 들어, 라이다 시스템들)의 범위를 넘어 차선 경계 포지션들의 위치를 예측할 수 있다. 이러한 방식으로, 본 개시내용의 시스템들 및 방법들은 특히 차선 경계 포지션들을 식별하는 데 필요한 계산 자원들을 줄임으로써 통상의 시스템들 및 방법들에 비해 현저한 기법적 개선을 달성한다.
[0006] 일 실시예에서, 도로 상의 차선들의 경계들을 검출하기 위한 방법은, 하나 이상의 프로세서들에 의해, 이미징 시스템으로부터, 차선 마킹(lane marking)들과 연관된 픽셀들의 세트를 수신하는 단계를 포함한다. 본 방법은, 하나 이상의 프로세서들에 의해, 픽셀들 세트를 복수의 그룹들로 파티셔닝하는 단계를 추가로 포함하고, 여기서 복수의 그룹들 각각은 하나 이상의 제어 지점들과 연관된다. 본 방법은 하나 이상의 프로세서들에 의해, 스플라인이 차선의 경계를 설명하도록 복수의 그룹들의 제어 지점들을 횡단(traverse)하는 스플라인을 생성하는 단계를 추가로 포함한다.
[0007] 도 1은 차선 마킹들 검출 및/또는 차량 환경 내에서 차선 마킹들의 확장들 예측에 기반하여 차량의 하나 이상의 동작을 제어하기 위한 예시적인 소프트웨어 아키텍처의 블록도이다.
[0008] 도 2는 도 1의 센서 제어 아키텍처를 사용하여 제어될 수 있는 예시적인 광 검출 및 거리 측정(라이더) 시스템의 블록도이다.
[0009] 도 3은 도 2의 라이다 시스템이 관심 필드 내에서 타겟들을 식별할 때 생성할 수 있는 예시적인 스캔 패턴을 도시한다.
[0010] 도 4a는 도 2의 라이다 시스템이 동작할 수 있는 예시적인 차량을 도시한다.
[0011] 도 4b는 도 2의 라이다 시스템이 동작할 수 있는 다른 예시적인 차량을 도시한다.
[0012] 도 5는 자율 주행 차량의 주행 방향에서의 예시적인 환경을 도시한다.
[0013] 도 6a는 도 5의 환경과 유사한 환경에 대해 생성될 수 있는 예시적인 지점 클라우드를 도시한다.
[0014] 도 6b는 도 6a의 예시적인 지점 클라우드의 지점들을 연결하기 위한 예시적인 링크 기법을 도시한다.
[0015] 도 6c는 도 6a의 예시적인 지점 클라우드의 지점들을 연결하기 위한 다른 예시적인 링크 기법을 도시한다.
[0016] 도 6d는 도 6a의 예시적인 지점 클라우드의 지점들을 연결하기 위한 또 다른 예시적인 링크 기법을 도시한다.
[0017] 도 6e는 도 6b 내지 도 6d에서 지점들의 연결된 섹션들을 하위 섹션들로 분리하기 위한 예시적인 하위 분할 기법을 도시한다.
[0018] 도 6f는 도 6e의 하위 섹션들의 각각에 대한 주요 구성 요소를 결정하기 위한 예시적인 기법을 도시한다.
[0019] 도 6g는 도 6f의 주요 구성 요소들에 기반하여 도 6e의 하위 섹션들을 함께 연결하기 위한 예시적인 연관 기법을 도시한다.
[0020] 도 6h는 도로 상의 차선 마킹들에 대응하는 도 6g의 연결된 하위 섹션에 곡선을 피팅(fitting)하는 예시적인 스플라이닝(splining) 기법을 도시한다.
[0021] 도 7a는 차량의 이동, 사전 차선 마킹 검출들 및 사전 차선 마킹 예측들에 기반한 예시적인 차선 마킹 확장 기법을 도시한다.
[0022] 도 7b는 도 7a로부터의 확장된 스플라인이 실제 차선 마킹들에 얼마나 피팅되는지를 결정하기 위한 예시적인 우도 평가 기법(likelihood evaluation technique)을 도시한다.
[0023] 도 8은 도로 상의 차선들의 경계들을 검출하기 위한 방법의 흐름도이다.
[0024] 도 9는 차선 마킹들과 연관된 픽셀들을 식별하기 위한 방법의 흐름도이다.
[0025] 도 10은 도로 상의 차선을 추적하기 위한 방법의 흐름도이다.
[0026] 본 개시내용의 소프트웨어-기반 기법들은 도로 상의 차선 마킹들을 검출하고 추적하는 데 사용되어, 차선 마킹들이 자율 주행 차량의 제어 동작들을 알릴 수 있다. 차량은 완전 자율-주행 또는 "자율 주행" 차량, 인간 운전자가 제어하는 차량 또는 이 둘의 일부 하이브리드일 수 있다. 예를 들어, 개시된 기법들은 차량 환경 정보를 캡처하여 자율 주행 차량의 안전성/성능을 개선하거나, 인간 운전자에 대한 경보를 생성하거나, 단순히 특정 운전 여행과 관련된 데이터를 수집하는 데 사용될 수 있다. 센서들은 라이다, 레이더, 카메라 및/또는 다른 유형의 센서들과 같이 차량이 이동하고 있는 환경을 감지할 수 있는 임의의 유형 또는 유형들의 센서들일 수 있다. 차량은 또한 관성 측정 유닛(IMU: inertial measurement unit)들과 같은 다른 센서들을 포함할 수 있고/있거나 차량의 현재 포지션에 대한 정보를 제공하는 다른 유형들의 디바이스들(예를 들어, GPS 유닛)을 포함할 수 있다.
차선 마킹 검출 개요
[0027] 언급된 바와 같이, 본 개시내용의 방법들은 자율 주행 차량에 대한 차선 마킹 검출 및 식별 능력들을 제공할 수 있다. 보다 구체적으로, 본 개시내용의 방법들을 구현하는 시스템들은 차선 마킹들을 나타내는 픽셀들을 수신하고 픽셀들을 함께 링크하도록 진행할 수 있다. 시스템은 또한 링크된 픽셀들이 유사한 차선들에 대응하는 것을 보장하기 위해 하나 이상의 기법들을 수행할 수 있다. 모든 픽셀들이 최대 2 개의 다른 픽셀들에 링크되면, 시스템은 하나 이상의 제어 지점들을 포함하는 하나 이상의 그룹을 생성할 수 있다. 마지막으로, 시스템은 제어 지점들을 횡단하는 스플라인을 생성할 수 있다. 이러한 방식으로, 시스템들은 스플라인들에 의해 경계화되는 영역에 의해 표시되는 각각의 차선의 위치를 효과적으로 결정할 수 있다. 이러한 기법들은 아래에 더 상세히 설명된다.
[0028] 차선 에지들을 검출하기 위한 시스템은 우선 도로 차선들과 연관된 픽셀들의 세트를 수신할 수 있다. 각각의 수신된 픽셀은 픽셀들의 특정 서브세트가 차선 식별들을 포함하도록 하는 식별을 포함할 수 있다. 예를 들어, 픽셀들의 세트의 각각의 픽셀은 차선 마킹, 차선 마킹의 일부 임계 거리 내의 픽셀들, 또는 차선 마킹들을 연결하는 스트립(strip)들을 나타낼 수 있다. 따라서, 차선 마킹을 나타내는 픽셀들은 차선 식별들을 포함할 것이다. 실시예들에서, 픽셀들의 세트는 도로를 따라 주행하는 차량보다 앞서 확장되는 도로의 섹션을 나타낼 수 있어, 이미지의 상단 근처의 픽셀들은 차량으로부터 더 멀리 떨어져 있다. 일 예로서, 도로의 섹션은 우측으로 휘어질 수 있으며, 차량보다 어느 정도 앞선 거리의 두 차선 사이의 분할을 포함하는 2 개의 차선을 가질 수 있다.
[0029] 다음으로, 본 개시내용의 방법들을 구현하는 시스템은 픽셀들의 세트의 픽셀들을 함께 링크하여 링크된 픽셀들의 섹션들을 생성할 수 있다. 특정 구현들에서, 시스템은 "시작 픽셀들"의 각각에서 시작하고 시작 픽셀들 각각의 특정 반경 내에서 가장 가까운 픽셀에 대한 픽셀들의 세트를 평가함으로써 픽셀들을 링크할 수 있다. 시스템은 각각의 시작 픽셀에 대한 가장 가까운 픽셀을 찾고, 가장 가까운 픽셀을 각각의 시작 픽셀에 연관(예를 들어, 링크)시키고, 가장 가까운 픽셀을 현재 픽셀로 지정하고, 현재 픽셀을 전방 방향(예를 들어, 차량으로부터 멀어짐)으로 가장 가까운 픽셀에 링크하기를 시도하는 것으로 진행할 수 있다. 시스템은 각각의 픽셀이 적어도 하나의 다른 픽셀과 링크될 때까지 반복적으로 픽셀들을 함께 링크할 수 있다.
[0030] 대안적으로, 시스템은 수신 시에 픽셀들의 세트를 경계화함으로써 링크 프로세스를 수행할 수 있다. 픽셀들의 세트는 각각의 바운딩 박스에 포함된 픽셀들에 기반하여 각각의 차선 마킹을 묘사하는 바운딩 박스의 세트에 의해 경계화될 수 있다. 일단 경계화되면, 시스템은 이전에 설명된 것과 유사한 방식으로 또는 임의의 다른 적절한 방식으로 픽셀들을 링크하도록 진행할 수 있지만, 바운딩 박스를 가로질러 두 픽셀을 링크하지 않을 수 있다. 이러한 방식으로 시스템은 링크된 픽셀들이 2 개의 다른 차선 식별들과 연관되지 않도록 보장한다.
[0031] 또한, 특정 구현들에서, 차선 식별들은 연결 표시자들을 추가로 포함할 수 있다. 이러한 연결 표시자들은 두 픽셀 간의 연결의 방향 종속성을 나타낼 수 있다. 예를 들어, 두 픽셀(제1 픽셀 및 제2 픽셀)은 동일한 차선 식별과 연관될 수 있고, 제2 픽셀이 제1 픽셀의 아래 그리고 우측에 위치되도록 연결될 수 있다. 따라서, 제1 픽셀의 연결 표시자는 제2 픽셀이 제1 픽셀의 아래 그리고 제1 픽셀의 우측으로의 연결을 통해 제1 픽셀에 연결됨을 나타낼 수 있다.
[0032] 임의의 경우에, 본 개시내용의 방법들을 구현하는 시스템은 픽셀들의 세트의 각각의 픽셀을 픽셀들의 세트로부터의 적어도 하나의 다른 픽셀에 링크하여 링크된 픽셀들의 세트를 생성하도록 진행한다. 그 후, 시스템은 링크된 픽셀들의 세트를 링크된 픽셀들의 그룹들로 하위 분할한다. 링크된 픽셀들의 각각의 그룹은 2개의 끝점들을 포함하며, 이는 본원에서 "제어 지점들"이라고도 칭한다. 시스템은 링크된 픽셀들의 각각의 그룹의 제어 지점들을 사용하여 링크된 픽셀들의 다른 그룹들 간의 연결을 결정한다. 예를 들어, 시스템은 링크된 픽셀들의 그룹의 주요 구성 요소를 결정할 수 있다. 주요 구성 요소는 차량의 진행 방향에 평행한 방향, 차량의 진행 방향에 수직인 방향, 또는 임의의 다른 잠재적인 방향과 같은 연관된 방향을 가질 수 있다.
[0033] 따라서, 본 개시내용의 방법들을 구현하는 시스템은 픽셀들의 그룹들의 다양한 제어 지점들 간의 공간 관계들을 조사할 수 있다. 예를 들어, 시스템은 각각의 제어 지점들과 연관된 픽셀들의 그룹이 링크되어야 하는지를 결정하기 위해 2 개의 제어 지점 사이의 거리를 측정하기 위해 2 개의 제어 지점 사이의 제어 링크를 결정할 수 있다. 특정 구현들에서, 시스템이 2 개의 제어 지점 사이의 거리가 최소 임계값 미만이라고 결정하면, 링크된 픽셀들의 각각의 그룹들은 2 개의 제어 지점에 의해 링크될 수 있다. 시스템이 2 개의 제어 지점 사이의 거리가 최소 임계값보다 높지만 최대 임계값 미만이라고 결정하면, 시스템은 2 개의 제어 지점을 링크하는 제어 링크와 링크된 픽셀들의 각각의 그룹들의 주요 구성 요소들 사이의 각도를 측정할 수 있다. 추가적으로 또는 대안적으로, 시스템은 각각의 그룹들이 함께 링크되어야 하는지를 결정하기 위해 링크된 픽셀들의 각각의 그룹들의 주요 구성 요소들 사이의 각도를 측정할 수 있다. 어느 경우든, 시스템이 해당 각도가 임계값을 초과한다고 결정하면, 시스템은 각각의 제어 그룹들을 링크하지 않을 수 있다. 마지막으로, 시스템이 2 개의 제어 지점 사이의 거리가 최대 임계값을 초과한다고 결정하면, 시스템은 링크된 픽셀들의 각각의 그룹들을 링크하지 않을 수 있다.
[0034] 대안적으로, 특정 구현들에서, 시스템은 링크된 픽셀들의 그룹들을 링크하기 위해 그래프 이론을 이용할 수 있다. 시스템은 우선 각각의 제어 지점들을 그래프의 노드들로서 할당하여 그래프를 구성할 수 있다. 그 후, 시스템은 노드들의 각각의 쌍 사이에 스플라인을 피팅하여 그래프의 다른 모든 노드에 각각의 노드를 연결할 수 있다. 시스템은 라인, 입체 나선 등과 같은 임의의 적절한 스플라인을 사용하여 노드들의 각각의 쌍을 연결할 수 있음을 이해해야 한다. 그 후, 시스템은 2 개의 제어 지점 사이의 각각의 연결을 그래프의 각각의 에지로 지정할 수 있다. 시스템은 이후에 장벽을 가로지르는 에지(예를 들어, 다른 방향으로 주행하는 도로들 사이의 영역들, 도로의 에지들 등)에 페널티를 부여하고 차선 마킹들을 따르는 에지들에 인센티브를 부여하여 그래프의 각각의 에지에 대한 비용을 결정할 수 있다. 비용 평가는 또한 도로의 유형(예를 들어, 주간(interstate) 고속도로, 도시 도로)과 비교하여 임의의 특정 에지의 날카로움을 나타내는 운전 가능성 요인(drivability factor)과 같은 다양한 다른 파라미터들을 포함할 수 있다. 마지막으로, 시스템은 그래프를 횡단하기 위해 소스 노드와 타겟 노드를 지정하고, 그래프를 횡단하는 최저-비용 루트를 결정할 수 있다. 시스템은 도로의 차선을 나타내는 최저-비용 경로의 그룹을 출력할 수 있다. 예를 들어, 최저-비용 경로들 각각은 노드들의 쌍을 포함할 수 있고, 각각의 노드들의 쌍은 스플라인에 의해 함께 연결되고, 최저-비용 경로의 노드들 각각의 쌍 사이의 스플라인들은 차선의 표현을 형성하기 위해 함께 연결될 수 있다.
[0035] 어느 경우이든, 시스템은 함께 링크되어야 하는 링크된 픽셀들의 그룹들을 생성할 수 있다. 따라서, 시스템은 시스템이 함께 링크되어야 한다고 결정한 링크된 픽셀들의 그룹들의 제어 지점들 사이에 스플라인을 피팅할 수 있다. 제어 지점들 사이에 스플라인을 피팅함으로써, 시스템은 링크된 픽셀들의 그룹들의 모든 픽셀들 사이에 스플라인을 피팅하기 위해 번거롭고 프로세서 집약적인 계산에 관여하지 않고 차선 마킹들의 정확한 표현을 생성할 수 있다. 이러한 방식으로, 본 개시내용의 방법들을 구현하는 시스템은 차선 마킹들을 식별하는 데 필요한 계산 자원들을 감소시킴으로써 통상의 시스템들에 비해 현저한 기법적 개선을 달성한다. 이전에 언급된 바와 같이, 시스템은 임의의 적절한 스플라인 기법을 이용할 수 있음을 이해해야 한다. 예를 들어, 제어 지점들을 함께 링크하기 위해, 시스템은 캣멀-롬(Catmull-Rom) 스플라인 기법을 이용할 수 있다.
차선 추적 및 예측 개요
[0036] 광범위하게 말하면, 본 개시내용의 방법들을 구현하는 시스템은 위에서 설명된 차선 마킹 검출 프로세스의 일부로서 생성된 스플라인들을 부분적으로 사용하여 도로 차선들의 위치를 예측할 수 있다. 특히, 시스템은 차선 마킹들과 연관된 픽셀들의 세트를 수신하고, 도로 차선들의 경계들을 정의하는 스플라인들을 생성하도록 진행할 수 있다. 그 후, 시스템은, 스플라인의 적어도 일부의 곡률에 기반하는, 이미징 시스템이 이동하고 있는 방향으로의 스플라인의 예측된 확장을 생성할 수 있다. 스플라인과 스플라인의 예측된 확장을 함께 예측된 스플라인이라고 칭할 수 있다.
[0037] 따라서, 시스템은 결정된 차선 마킹들을 사용하여 장래의 차선 마킹들의 위치들을 예측할 수 있다. 시스템은 이전 차선 검출에 기반하여 차량의 현재 포지션보다 더 앞서 결정된 차선 마킹들을 확장하여 예측 프로세스를 시작할 수 있다. 예를 들어, 시스템이 도로의 차선들이 우측으로 휘어지고 있다고 결정하면, 시스템은 장래의 차선 마킹들이 결정된 차선 마킹들보다 차량의 우측으로 더 변위될 것이라고 예측할 수 있다. 시스템은 차량의 모션에 기반하여 장래의 차선 위치를 추가로 업데이트할 수 있다. 또한, 시스템은 장래 차선 마킹들의 위치들을 예측할 때 사전 차선 마킹 예측들을 이용할 수 있다.
[0038] 임의의 경우에, 시스템은 예측된 차선 마킹 위치들에 피팅되도록 스플라인을 생성할 수 있다. 그 후, 시스템은 차선 마킹들의 진정한 위치들을 나타내는 센서 데이터를 수신할 수 있다. 센서 데이터를 사용하여, 시스템은 본 개시내용에서 "우도 스코어(likelihood score)"("L")로 참조되는 예측된 차선 마킹 위치들의 정확도를 결정할 수 있다. 시스템은 수많은 예측들을 생성하고, 각각의 예측에 대한 우도 스코어 L을 결정할 수 있다. 각각의 예측에 대해, 시스템은 예측 프로세스에 사용된 필터들을 업데이트하고 개선하기 위해 대응하는 우도 스코어 L을 사용할 수 있다.
차선 마킹 검출 및 추적을 위한 기법들의 예
[0039] 아래의 논의에서, 차선 마킹들의 확장들을 검출 및/또는 예측하는 것에 기반하여 차량의 하나 이상의 동작을 제어하기 위한 예시적인 소프트웨어 아키텍처가 먼저 도 1을 참조하여 논의될 것이다. 본원에서 논의된 아키텍처들과 기법들의 다수는 라이다 센서들을 이용할 수 있으므로, 예시적인 라이다 시스템은 도 2 내지 도 5를 참조하여 논의된다. 도 6a 내지 도 7b는 차선 마킹들을 검출하고 차선 마킹들의 확장들을 예측할 때 소프트웨어 아키텍처의 사용을 도시한다. 마지막으로, 차선 마킹들을 검출, 식별 및 추적(예를 들어, 확장들을 예측)하는 것과 관련된 예시적인 방법들이 도 8 내지 도 10의 흐름도와 관련하여 논의된다.
[0040] 도 1은 자율 주행 차량의 동작 동안 차선 마킹들을 동적으로 검출하고 추적하는 데 사용되는 예시적인 소프트웨어-기반 차선 마킹 검출 및 추적 아키텍처(100)를 도시한다. 차선 마킹 검출 및 추적 아키텍처(100)는 (예를 들어, 차량의 현재 환경에 기반하여 지능형 운전 결정을 내리기 위해) 자율 주행 차량에 의해 또는 (예를 들어, 특정 운전 여행과 관련된 데이터를 수집하기 위해) 다른 목적을 위해 비자율 주행 차량에 의해 이용될 수 있는 하나 이상의 센서(101)를 포함한다.
[0041] 본원에서 사용된 용어 "자율 주행" 또는 "자체-주행" 차량은 그 환경을 감지하고 인간의 입력 없이, 인간의 입력이 거의 없이, 선택적 인간의 입력으로 및/또는 상황별 인간의 입력으로 내비게이팅 또는 운전하도록 구성된 차량이다. 예를 들어, 자율 주행 차량은 임의의 적절한 위치로 운전하고 전체 여행 동안 모든 안전에 중요한 기능들(예를 들어, 운전, 스티어링(steering), 제동, 주차)을 제어하거나 수행하도록 구성될 수 있으며, 운전자는 임의의 시간에 차량을 제어할 것으로 예측되지 않는다(또는 심지어 제어할 수 없다). 다른 예로서, 자율 주행 차량은 운전자가 특정 환경(예를 들어, 고속도로) 및/또는 특정 운전 모드에서 운전 작업으로부터 안전하게 운전자의 주의를 돌리도록 할 수 있다.
[0042] 자율 주행 차량은 차량에 있는 인간 운전자에 의해 운전하도록 구성될 수 있거나, 인간 운전자 없이 운전하도록 구성될 수 있다. 예를 들어, 자율 차량은 관련 컨트롤들(예를 들어, 스티어링 휠, 가속 페달 및 브레이크 페달)이 있는 운전석을 포함할 수 있으며, 차량은 운전석에 아무도 앉지 않거나 제한된 조건부 또는 운전석에 앉은 사람의 입력 없이 운전하도록 구성될 수 있다. 다른 예로서, 자율 주행 차량은 임의의 운전석 또는 관련 운전자의 컨트롤을 포함하지 않을 수 있으며, 차량은 인간의 입력 없이 언제나 실질적으로 모든 운전 기능(예를 들어, 운전, 스티어링, 제동, 주차 및 내비게이팅)을 수행한다(예를 들어, 차량은 차량에 있는 운전자가 없는 상태에서 인간 승객들이나 화물을 운송하도록 구성될 수 있음). 다른 예로서, 자율 주행 차량은 어떠한 인간 승객 없이 동작하도록 구성될 수 있다(예를 들어, 차량은 차량에 탑승한 어떠한 인간 승객 없이 화물 운송을 위해 구성될 수 있음).
[0043] 본원에서 사용되는 용어인 "차량"은 사람 또는 화물을 운송하도록 구성된 이동 기계를 지칭할 수 있다. 예를 들어, 차량은 자동차, 오토모빌, 모터 차량, 트럭, 버스, 밴, 트레일러, 오프-로드 차량, 농장 차량, 잔디 깎는 기계, 건설 장비, 골프 카트, 모터홈, 택시, 오토바이, 스쿠터, 자전거, 스케이트보드, 기차, 스노우모빌, 선박(예를 들어, 배 또는 보트), 항공기(예를 들어, 고정익 항공기, 헬리콥터 또는 비행선) 또는 우주선을 포함할 수 있거나, 이의 형태를 취할 수 있거나, 이로 지칭될 수 있다. 특정 실시예에서, 차량은 차량에 추력을 제공하는 내연 엔진 또는 전기 모터를 포함할 수 있다.
[0044] 도 1에 보이는 바와 같이, 차량은 N 개의 상이한 센서(101)를 포함하고, N은 임의의 적절한 정수(예를 들어, 1, 2, 3, 5, 10, 20 등)이다. 센서들(101) 중 적어도 "센서 1"은 환경(예를 들어, 센서가 라이다 디바이스인 경우)에 있는 물체들에서 반사되거나 산란되는 레이저 광을 전송 및 수신하고, 환경(예를 들어, 센서가 레이더 또는 소나(sonar) 디바이스인 경우)에 있는 물체들에서 반사되는 무선 신호 또는 음향 신호들을 전송 및 수신하고, 환경(예를 들어, 센서가 카메라인 경우)의 상이한 영역들로부터 생성되거나 반사된 광파들을 단지 수신하는 등과 같이, 일정한 방식으로 환경과 물리적으로 상호 작용함으로써 자율 주행 차량의 환경을 감지하도록 구성된다. 실시예들에서, 모든 센서들(101)(예를 들어, "센서 1", "센서 2", ..., 및 "센서 N")은 환경의 부분들을 감지하도록 구성될 수 있거나, 센서들(101) 중 하나 이상은 외부 환경과 물리적으로 상호 작용하지 않을 수 있다(예를 들어, 센서들(101) 중 하나가 관성 측정 유닛(IMU: inertial measurement unit)인 경우). 센서들(101)은 모두 동일한 유형일 수 있거나, 다수의 상이한 센서 유형들(예를 들어, 상이한 관측 관점을 갖는 복수의 라이다 디바이스 및/또는 라이다, 카메라, 레이더 및 열 이미징 디바이스의 조합 등)을 포함할 수 있다.
[0045] 센서들(101)에 의해 생성된 데이터는 차선 마킹 검출 및 추적 아키텍처(100)의 인지 구성 요소(perception component)(102)에 입력되고, 인지 구성 요소(102)에 의해 프로세싱되어 차량 환경의 현재 상태를 설명하는 인지 신호들(103)을 생성한다. "현재"라는 용어는 예를 들어, 인지 구성 요소(102)의 적어도 일부에 의해 도입된 짧은 프로세싱 지연 및 다른 요인들로 인한 임의의 주어진 인지 신호들(103)의 생성 이전의 매우 짧은 시간을 실제로 지칭할 수 있다는 것이 이해된다. 별도의 차선 마킹 검출 모듈(104)이 예를 들어, 물체 분류와 연관된 계산 집약적 모듈들보다 더 짧은 프로세싱 지연으로 검출된 차선 마킹들과 연관된 인지 신호들을 생성할 수 있다.
[0046] 차선 마킹 검출 및 추적 아키텍처(100)는 또한 차량 환경의 하나 이상의 예측된 장래 상태들을 설명하는 예측 신호들(106)을 생성하기 위해 인지 신호들(103)을 프로세싱하는 차선 추적 및 예측 모듈(105)을 포함한다. 예를 들어, 차선 추적 및 예측 모듈(105)은 차선 마킹 검출 모듈(104)에 의해 생성된 인지 신호들(103)에서 식별된 차선 마킹들의 포지션들 및 방향들을 분석하여 차선 마킹들의 하나 이상의 확장들을 예측할 수 있다. 비교적 간단한 예로서, 차선 추적 및 예측 모듈(105)은 임의의 이동하는 물체들이 현재 방향 및 속도에 대한 변화 없이 계속 주행할 것이라고 가정할 수 있으며, 가능하게는 계속해서 방향이 변하는 물체들, 가속되고 있는 물체들 등을 더 잘 추적하기 위해 1차 또는 고차 도함수를 고려할 수 있다. 추가적으로 또는 대안적으로, 차선 추적 및 예측 모듈(105)은 예측 신호들(106)을 생성할 때 차선 추적 및 예측 모듈(105)의 동작들을 보완 및/또는 개선하기 위해 차선 마킹 검출 모듈(104)에 의해 생성된 과거 인지 신호들(103)을 이용할 수 있다.
[0047] 실시예들에서, 인지 신호들(103) 및 예측 신호들(106)은 차량의 하나 이상의 동작을 제어하는 데 사용된다. 예를 들어, 신호들(103, 106)은 차량의 하나 이상의 동작을 제어하는 차량 제어 신호들(미도시)을 생성하기 위해 신호들(103, 106)을 프로세싱하는 차량 제어 구성 요소(107)에 입력될 수 있다. 특히, 차량 제어 구성 요소(107)는 차량의 전방 타이어들의 배향을 조정하기 위해 차량 제어 신호를 생성할 수 있다. 차량 제어 신호에 따라 전방 타이어들의 배향을 조정하면 차량으로 하여금 신호들(103, 106)에 의해 설명된 차선 마킹들에 의해 정의된 차선 내에서 안전한 중앙 위치를 유지하게 할 수 있다.
[0048] 위에 제공된 다양한 예들에서 알 수 있는 바와 같이, 차량에 의해 수집된 센서 데이터는 일부 실시예들에서 하나 이상의 라이다 디바이스 또는 보다 일반적으로 라이다 시스템에 의해 생성된 지점 클라우드 데이터를 포함할 수 있다. 라이다 시스템들에 의해 생성될 수 있는 데이터 유형들과 라이다 시스템들 및 디바이스들이 기능할 수 있는 방식에 대한 더 나은 이해를 제공하기 위해, 도 2 내지 도 5를 참조하여 예시적인 라이다 시스템 및 지점 클라우드들이 이제 설명될 것이다.
[0049] 먼저 도 2를 참조하면, 라이다 시스템(200)은 예를 들어, 도 1의 센서들(101) 중 적어도 하나로서 사용될 수 있다. 다양한 라이다 시스템 구성 요소들 및 특성들이 본원에 설명되어 있지만, 임의의 적절한 라이다 디바이스(들) 또는 시스템(들) 및/또는 임의의 다른 적절한 유형의 센서들이 본원에 설명된 소프트웨어 아키텍처들을 사용하여 프로세싱하기 위한 센서 데이터를 제공할 수 있음이 이해된다.
[0050] 예시적인 라이다 시스템(200)은 광원(210), 거울(215), 스캐너(220), 수신기(240) 및 제어기(250)를 포함할 수 있다. 광원(210)은 예를 들어, 전자기 스펙트럼의 적외선, 가시광선 또는 자외선 부분에서 특정 동작 파장을 갖는 광을 방출하는 레이저(예를 들어, 레이저 다이오드)일 수 있다. 동작 시, 광원(210)은 연속파, 펄스화 또는 주어진 어플리케이션에 대한 임의의 적절한 방식으로 변조될 수 있는 광(225)의 출력 빔을 방출한다. 광(225)의 출력 빔은 라이다 시스템(200)으로부터 거리 D에 위치하고 시스템(200)의 관심 필드 내에 적어도 부분적으로 포함된 원격 타겟(230)을 향해 하향 범위로 지향된다.
[0051] 출력 빔(225)이 하향 범위 타겟(230)에 도달하면, 타겟(230)은 출력 빔(225)으로부터의 광의 적어도 일부를 산란시키거나 어떤 경우에는 반사할 수 있고, 산란되거나 반사된 광의 일부는 라이다 시스템(200)을 향해 복귀할 수 있다. 도 2의 예에서, 산란되거나 반사된 광은 빔 스캐너, 광학 스캐너 또는 레이저 스캐너로 지칭될 수 있는 스캐너(220)를 통과하는 입력 빔(235)으로 표현된다. 입력 빔(235)은 스캐너(220)를 통해 미러(215)로 통과하며, 미러(215)는 오버랩(overlap) 미러, 중첩 미러 또는 빔-결합기 미러로 지칭될 수 있다. 미러(215)는 차례로 입력 빔(235)을 수신기(240)로 지향시킨다.
[0052] 입력 빔(235)은 타겟(230)에 의해 산란되는 출력 빔(225)으로부터의 광, 타겟(230)에 의해 반사되는 출력 빔(225)으로부터의 광, 또는 타겟(230)으로부터의 산란 및 반사된 광의 조합을 포함할 수 있다. 일부 구현들에서, 라이다 시스템(200)은 사람의 눈에 손상을 야기할 가능성이 거의 또는 전혀 없는 "눈에 안전한" 레이저를 포함할 수 있다. 입력 빔(235)은 출력 빔(225)으로부터의 광의 비교적 작은 부분만을 포함할 수 있다.
[0053] 수신기(240)는 입력 빔(235)으로부터 광자들을 수신 또는 검출하고 하나 이상의 대표 신호들을 생성할 수 있다. 예를 들어, 수신기(240)는 입력 빔(235)을 나타내는 출력 전기 신호(245)를 생성할 수 있다. 수신기는 전기 신호(245)를 제어기(250)에 송신할 수 있다. 구현에 따라, 제어기(250)는 라이다 시스템(200)으로부터의 그 거리 하향 범위와 같은 타겟(230)의 하나 이상의 특성을 결정하기 위해 하나 이상의 명령어-실행 프로세서들, 주문형 집적 회로(ASIC: application-specific integrated circuit), 필드-프로그램 가능 게이트 어레이(FPGA: field-programmable gate array) 및/또는 전기 신호(245)의 하나 이상의 특성을 분석하도록 구성된 다른 적절한 회로를 포함할 수 있다. 보다 구체적으로, 제어기(250)는 광원(210)에 의해 투과된 광 빔(225)에 대한 비행 시간 또는 위상 변조를 분석할 수 있다. 라이다 시스템(200)이 비행 시간 T(예를 들어, T는 방출된 광 펄스가 라이다 시스템(200)에서 타겟(230)으로 이동하고 다시 라이다 시스템(200)으로 이동하기 위한 왕복 비행 시간을 나타냄)를 측정하면, 타겟(230)에서 라이다 시스템(200)까지의 거리 D는 D = cㆍT/2로 표현될 수 있으며, 여기서 c는 광속(대략 3.0×108 m/s)이다.
[0054] 라이다 시스템(200)으로부터의 거리 D는 라이다 시스템(200)의 최대 범위 RMAX 이하이다. 라이다 시스템(200)의 최대 범위 RMAX(이는 또한 최대 거리로 칭해질 수 있음)는 라이다 시스템(200)이 라이다 시스템(200)의 관심 필드에 나타나는 타겟을 감지하거나 식별하도록 구성된 최대 거리에 대응할 수 있다. 라이다 시스템(200)의 최대 범위는 50 m, 200 m, 500 m 또는 1 km와 같은 임의의 적절한 거리일 수 있다.
[0055] 일부 구현들에서, 광원(210), 스캐너(220) 및 수신기(240)는 단일 하우징(255) 내에 함께 패키징될 수 있으며, 단일 하우징(255)은 라이다 시스템(200)의 전체 또는 일부를 보유하거나 포함하는 상자, 케이스 또는 인클로저일 수 있다. 하우징(255)은 빔(225, 235)이 통과하는 윈도우(257)를 포함한다. 제어기(250)는 구성 요소들(210, 220, 240)과 동일한 하우징(255) 내에 상주할 수 있거나, 제어기(250)는 하우징(255) 외부에 상주할 수 있다. 일 실시예에서, 예를 들어, 제어기(250)는 대신에 도 1에 도시된 차선 마킹 검출 및 추적 아키텍처(100)의 인지 구성 요소(102) 내에 또는 부분적으로 내에 상주할 수 있다. 일부 구현들에서, 하우징(255)은 각각의 스캐너 및 수신기를 각각 포함하는 복수의 라이다 센서를 포함한다. 특정 구현에 따라, 복수의 센서들 각각은 별도의 광원 또는 공통 광원을 포함할 수 있다. 복수의 센서들은 예를 들어, 구현에 따라 오버랩핑되지 않는 인접 관심 필드들 또는 부분적으로 오버랩핑하는 관심 필드들을 커버하도록 구성될 수 있다.
[0056] 도 2를 계속 참조하면, 출력 빔(225) 및 입력 빔(235)은 실질적으로 동축일 수 있다. 즉, 출력 빔(225) 및 입력 빔(235)은 공통 전파 축을 적어도 부분적으로 중첩하거나 공유할 수 있어, 입력 빔(235) 및 출력 빔(225)은 (반대 방향이지만) 실질적으로 동일한 광학 경로를 따라 이동한다. 라이다 시스템(200)이 관심 필드를 가로질러 출력 빔(225)을 스캔함에 따라, 입력 빔(235)은 출력 빔(225)을 따를 수 있어, 두 빔 사이의 동축 관계가 유지된다.
[0057] 일반적으로, 스캐너(220)는 출력 빔(225)을 하나 이상의 방향으로 하향 범위로 스티어링한다. 이를 달성하기 위해, 스캐너(220)는 하나 이상의 스캐닝 미러 및 예를 들어, 하나 이상의 축을 중심으로 각도 방식으로 미러들을 회전, 틸팅, 피벗(pivot) 또는 이동하도록 미러들을 구동하는 하나 이상의 액추에이터를 포함할 수 있다. 도 2는 단일 미러(215)만을 도시하지만, 라이다 시스템(200)은 출력 빔(225) 또는 입력 빔(235)을 스티어링하거나 포커싱(focusing)하기 위해 임의의 적절한 수의 평면 또는 곡면 미러들(예를 들어, 오목, 볼록 또는 포물선 미러들)을 포함할 수 있다. 예를 들어, 스캐너의 제1 미러는 제1 방향을 따라 출력 빔(225)을 스캐닝할 수 있고, 제2 미러는 제1 방향과 실질적으로 직교하는 제2 방향을 따라 출력 빔(225)을 스캐닝할 수 있다.
[0058] 라이다 시스템(200)의 "관심 필드"는 라이다 시스템(200)이 거리 정보를 스캐닝하거나 캡처하도록 구성될 수 있는 영역, 구역, 또는 각도 범위를 지칭할 수 있다. 라이다 시스템(200)이 30-도 스캐닝 범위 내에서 출력 빔(225)을 스캐닝할 때, 예를 들어, 라이다 시스템(200)은 30-도 각도의 관심 필드를 갖는 것으로 지칭될 수 있다. 스캐너(220)는 출력 빔(225)을 수평 및 수직으로 스캐닝하도록 구성될 수 있고, 라이다 시스템(200)의 관심 필드는 수평 방향을 따라 특정 각도 폭 및 수직 방향을 따라 다른 특정 각도 폭을 가질 수 있다. 예를 들어, 라이다 시스템(200)은 10° 내지 120°의 수평 필드 및 2° 내지 45°의 수직 필드를 가질 수 있다.
[0059] 스캐너(220)의 하나 이상의 스캐닝 미러는 원하는 방향의 하향 범위로 또는 원하는 스캔 패턴을 따라 출력 빔(225)을 안내하도록 스캐닝 미러(들)를 제어할 수 있는 제어기(250)에 통신 가능하게 커플링될 수 있다. 일반적으로, 스캔(또는 스캔 라인) 패턴은 출력 빔(225)이 지향되는 패턴 또는 경로를 지칭할 수 있다. 라이다 시스템(200)은 스캔 패턴을 사용하여 실질적으로 관심 필드를 커버하는 지점들 또는 "픽셀들"을 갖는 지점 클라우드를 생성할 수 있다. 픽셀들은 관심 필드에 걸쳐 대략 균일하게 분포되거나, 특정 불균일 분포에 따라 분포될 수 있다.
[0060] 동작 시, 광원(210)은 스캐너(220)가 라이다 시스템(200)의 관심 필드를 가로질러 스캐닝하는 광 펄스를 방출할 수 있다. 타겟(230)은 방출된 펄스들 중 하나 이상을 산란시킬 수 있고, 수신기(240)는 타겟(230)에 의해 산란된 광 펄스들의 적어도 일부를 검출할 수 있다. 수신기(240)는 입력 빔(235)의 적어도 일부를 수신하거나 검출하고 입력 빔(235)에 대응하는 전기 신호를 생성할 수 있다. 제어기(250)는 광원(210), 스캐너(220) 및 수신기(240) 중 하나 이상에 전기적으로 커플링되거나 그렇지 않으면 통신 가능하게 커플링될 수 있다. 제어기(250)는 광원(210)이 광 펄스들을 생성해야 하는 때, 그리고 가능하게는 펄스들의 특성(예를 들어, 지속 시간, 주기, 피크 전력, 파장 등)을 나타내는 명령어들, 제어 신호 또는 트리거 신호를 광원(210)에 제공할 수 있다. 제어기(250)는 또한 펄스가 광원(210)에 의해 방출된 때와 펄스의 일부(예를 들어, 입력 빔(235))가 수신기(240)에 의해 검출되거나 수신된 때와 연관된 타이밍 정보에 기반하여 광 펄스에 대한 비행 시간 값을 결정할 수 있다.
[0061] 위에서 나타낸 바와 같이, 라이다 시스템(200)은 하나 이상의 하향 범위 타겟(230)까지의 거리를 결정하는 데 사용될 수 있다. 관심 필드에 걸쳐 라이다 시스템(200)을 스캐닝함으로써, 시스템은 거리를 관심 필드 내의 다수의 지점들에 맵핑(map)하는 데 사용될 수 있다. 이러한 깊이-맵핑된 지점들 각각은 픽셀 또는 복셀(voxel)로 지칭될 수 있다. 연속적으로 캡처된 픽셀들의 집합(깊이 맵, 지점 클라우드 또는 지점 클라우드 프레임이라고 칭할 수 있음)은 이미지로서 렌더링되거나 물체들을 식별 또는 검출하거나 관심 필드 내의 물체들의 형상 또는 거리를 결정하기 위해 분석될 수 있다. 예를 들어, 깊이 맵은 수평으로 60°, 수직으로 15°로 확장된 관심 필드를 커버할 수 있으며, 깊이 맵은 수평 방향으로 100 내지 2000 픽셀들과 수직 방향으로 4 내지 400 픽셀들의 프레임을 포함할 수 있다.
[0062] 라이다 시스템(200)은 예를 들어, 대략 0.1 초당 프레임들(FPS: frames per second) 내지 대략 1,000 FPS의 임의의 적절한 프레임 레이트에서 관심 필드의 지점 클라우드를 반복적으로 캡처하거나 생성하도록 구성될 수 있다. 지점 클라우드 프레임 레이트는 구현에 따라 실질적으로 고정되거나 동적으로 조정 가능할 수 있다. 일반적으로, 라이다 시스템(200)은 하나 이상의 고해상도 지점 클라우드를 캡처하기 위해 더 느린 프레임 레이트(예를 들어, 1 Hz)를 사용할 수 있고, 복수의 저해상도 지점 클라우드를 빠르게 캡처하기 위해 더 빠른 프레임 레이트(예를 들어, 10 Hz)를 사용할 수 있다.
[0063] 라이다 시스템(200)의 관심 필드는 타겟(230)의 적어도 일부를 오버랩핑하거나, 포함하거나, 둘러쌀 수 있으며, 타겟(230)은 라이다 시스템(200)에 대해 이동하거나 고정되어 있는 물체의 전부 또는 일부를 포함할 수 있다. 예를 들어, 타겟(230)은 사람, 차량, 모터사이클, 트럭, 기차, 자전거, 휠체어, 보행자, 동물, 도로 표지판, 신호등, 차선 마킹, 노면 마킹, 주차 공간, 철탑, 가드 레일, 교통 장벽, 포트홀(pothole), 철도 건널목, 도로 안 또는 근처의 장애물, 연석(curb), 도로 위 또는 옆에 정차된 차량, 전신주, 집, 건물, 쓰레기통, 우편함, 나무, 임의의 다른 적절한 물체 또는 2 개 이상의 물체의 전부 또는 일부의 임의의 적절한 조합의 일부 또는 전부를 포함할 수 있다.
[0064] 도 3은 도 2의 라이다 시스템(200)이 생성할 수 있는 예시적인 스캔 패턴(260)을 도시한다. 특히, 라이다 시스템(200)은 스캔 패턴(260)을 따라 출력 광학 빔(225)을 스캐닝하도록 구성될 수 있다. 일부 구현들에서, 스캔 패턴(260)은 임의의 적절한 수평 관심 필드(FORH: horizontal field of regard) 및 임의의 적절한 수직 관심 필드(FORV: vertical field of regard)를 갖는 임의의 적절한 관심 필드에 걸친 스캔에 대응한다. 예를 들어, 특정 스캔 패턴은 각도 치수(예를 들어, FORH × FORV) 40°× 30°, 90°× 40° 또는 60°× 15°로 표현되는 관심 필드를 가질 수 있다. 도 3은 "지그-재그(zig-zag)" 패턴(260)을 도시하지만, 다른 구현들은 대신에 다른 패턴들(예를 들어, 평행, 수평 스캔 라인들)을 채용할 수 있고/있거나 특정 상황에서 다른 패턴들이 채용될 수 있다.
[0065] 도 3의 예시적인 구현 및/또는 시나리오에서, 기준 라인(262)은 스캔 패턴(260)의 관심 필드의 중심을 나타낸다. 도 3에서, 스캔 패턴(260)이 60°× 15° 관심 필드를 갖는다면, 스캔 패턴(260)은 기준 라인(262)에 대해 ±30° 수평 범위 및 기준 라인(262)에 대해 ±7.5° 수직 범위를 커버한다. 방위각(방위 각도로 지칭될 수 있음)은 기준 라인(262)에 대한 수평각을 나타낼 수 있고, 고도(고도각, 표고(elevation) 또는 앙각(elevation angle)으로 지칭될 수 있음)는 기준 라인(262)에 대한 수직각을 나타낼 수 있다.
[0066] 스캔 패턴(260)은 복수의 지점들 또는 픽셀들(264)을 포함할 수 있고, 각각의 픽셀(264)은 하나 이상의 레이저 펄스들 및 하나 이상의 대응하는 거리 측정치들과 연관될 수 있다. 스캔 패턴(260)의 사이클은 총 Px × Py 픽셀들(264)(예를 들어, Px × Py 픽셀들에 의한 2차원 분포)을 포함할 수 있다. 수평 방향을 따른 픽셀들(264)의 개수는 스캔 패턴(260)의 수평 해상도로 지칭될 수 있고, 수직 방향을 따른 픽셀들(264)의 개수는 스캔 패턴(260)의 수직 해상도로 지칭될 수 있다.
[0067] 각각의 픽셀(264)은 거리/깊이(예를 들어, 대응하는 레이저 펄스가 산란된 타겟(230)의 부분까지의 거리) 및 하나 이상의 각도 값과 연관될 수 있다. 예로서, 픽셀(264)은 라이다 시스템(200)에 대한 픽셀(264)의 각도 위치를 나타내는 거리 값 및 2 개의 각도 값(예를 들어, 방위각 및 고도)과 연관될 수 있다. 타겟(230)의 일부까지의 거리는 대응하는 펄스에 대한 비행 시간 측정에 적어도 부분적으로 기반하여 결정될 수 있다. 보다 일반적으로, 각각의 지점 또는 픽셀(264)은 자신의 2 개의 각도 값들에 추가하여 하나 이상의 파라미터 값과 연관될 수 있다. 예를 들어, 각각의 지점 또는 픽셀(264)은 해당 지점 또는 픽셀의 각도 값들에 추가하여 깊이(거리) 값, 수신된 광 펄스로부터 측정된 강도 값, 및/또는 하나 이상의 다른 파라미터 값과 연관될 수 있다.
[0068] 각도 값(예를 들어, 방위각 또는 고도)은 출력 빔(225)(예를 들어, 대응하는 펄스가 라이다 시스템(200)으로부터 방출될 때)의 (예를 들어, 기준 라인(262)에 대한) 각도 또는 입력 빔(235)(예를 들어, 입력 신호가 라이다 시스템(200)에 의해 수신될 때)의 각도에 대응할 수 있다. 일부 구현들에서, 라이다 시스템(200)은 스캐너(220)의 구성 요소의 포지션에 적어도 부분적으로 기반하여 각도 값을 결정한다. 예를 들어, 픽셀(264)과 연관된 방위각 또는 고도 값은 스캐너(220)의 하나 이상의 대응하는 스캐닝 미러의 각도 포지션으로부터 결정될 수 있다. 기준 라인(262)에 대응하는 영(zero) 고도, 영 방위각 방향은 라이다 시스템(200)의 중립적인 시선 방향(또는 중립적인 관심 방향)으로 지칭될 수 있다.
[0069] 도 4a는 라이다 시스템(302)을 갖는 예시적인 차량(300)을 도시한다. 라이다 시스템(302)은 각각의 레이저가 각각 장착된 복수의 센서 헤드(312A 내지 312D)를 포함한다. 대안적으로, 센서 헤드들(312A 내지 D)은 적절한 레이저-센서 링크들을 통해 단일 레이저에 커플링될 수 있다. 일반적으로, 센서 헤드들(312) 각각은 도 2에 도시된 라이다 시스템(200)의 구성 요소 중 일부 또는 전부를 포함할 수 있다.
[0070] 도 4a의 센서 헤드들(312)은 차량 주변 환경의 30-도보다 큰 뷰를 제공하도록 위치되거나 배향된다. 보다 일반적으로, 복수의 센서 헤드를 갖는 라이다 시스템은 대략 30°, 45°, 60°, 90°, 120°, 180°, 270° 또는 360°의 차량 주변에 수평 관심 필드를 제공할 수 있다. 각각의 센서 헤드들(312)은 범퍼, 펜더(fender), 그릴(grill), 측면 패널, 스포일러(spoiler), 루프(roof), 헤드라이트 어셈블리, 테일라이트(taillight) 어셈블리, 후방-뷰 미러 어셈블리, 후드(hood), 트렁크, 윈도우 또는 차량의 임의의 다른 적절한 부분에 부착되거나 통합될 수 있다.
[0071] 도 4a의 예에서, 4 개의 센서 헤드(312)는 차량의 4 개의 모서리에 또는 그 근처에 위치되고(예를 들어, 센서 헤드들(312) 각각은 라이트 어셈블리, 측면 패널, 범퍼 또는 펜더에 통합될 수 있음), 레이저(310)는 차량(300) 내부(예를 들어, 트렁크 내부 또는 근처)에 위치될 수 있다. 4 개의 센서 헤드(312)는 각각 90° 내지 120°의 수평 관심 필드(FOR: field of regard)를 제공할 수 있고, 4 개의 센서 헤드(312)는 함께 차량 주위의 완전한 360-도 뷰를 제공하도록 배향될 수 있다. 다른 예로서, 라이다 시스템(302)은 차량(300) 상에 또는 그 주위에 위치된 6 개의 센서 헤드(312)를 포함할 수 있고, 여기서 센서 헤드들(312) 각각은 60° 내지 90°의 수평 FOR을 제공한다. 다른 예로서, 라이다 시스템(302)은 8 개의 센서 헤드(312)를 포함할 수 있고, 각각의 센서 헤드들(312)은 45° 내지 60°의 수평 FOR을 제공할 수 있다. 또 다른 예로서, 라이다 시스템(302)은 6 개의 센서 헤드(312)를 포함할 수 있고, 여기서 센서 헤드들(312) 각각은 대략 10°의 인접한 FOR들 사이의 오버랩과 함께 70° 수평 FOR을 제공한다. 다른 예로서, 라이다 시스템(302)은 함께 30° 이상의 전방을 향하는 수평 FOR을 제공하는 2 개의 센서 헤드(312)를 포함할 수 있다.
[0072] 각각의 센서 헤드들(312)로부터의 데이터는 차량 주위의 30-도 이상의 수평 뷰를 커버하는 지점 클라우드를 생성하기 위해 함께 결합되거나 스티칭(stitching)될 수 있다. 예를 들어, 레이저(310)는 (예를 들어, 대응하는 전기 링크(320)를 통해) 센서 헤드들(312)의 각각으로부터 데이터를 수신하고 수신된 데이터를 프로세싱하여 차량 주변의 360-도 수평 뷰를 덮는 지점 클라우드를 구성하거나 하나 이상의 타겟에 대한 거리들을 결정하는 제어기 또는 프로세서를 포함할 수 있다. 지점 클라우드 또는 지점 클라우드로부터의 정보는 대응하는 전기적, 광학적 또는 무선 링크(320)를 통해 차량 제어기(322)에 제공될 수 있다. 차량 제어기(322)는 하나 이상의 CPU, GPU, 및 영구적인 구성 요소들(예를 들어, 플래시 메모리, 광 디스크) 및/또는 비영구적인 구성 요소들(예를 들어, RAM)을 갖는 비일시적 메모리를 포함할 수 있다.
[0073] 일부 구현들에서, 지점 클라우드는 레이저(310) 내에 포함된 제어기에서 복수의 센서 헤드(312) 각각으로부터의 데이터를 결합함으로써 생성되고, 차량 제어기(322)에 제공된다. 다른 구현들에서, 각각의 센서 헤드들(312)은 차량 주변의 360-도 수평 뷰의 일부에 대한 지점 클라우드를 구성하고 차량 제어기(322)에 각각의 지점 클라우드를 제공하는 제어기 또는 프로세서를 포함한다. 그 후, 차량 제어기(322)는 각각의 센서 헤드들(312)로부터의 지점들 클라우드들을 함께 결합 또는 스티칭하여 360-도 수평 뷰를 커버하는 결합된 지점 클라우드를 구성한다. 더 추가로, 일부 구현들에서 차량 제어기(322)는 지점 클라우드 데이터를 프로세싱하기 위해 원격 서버와 통신한다.
[0074] 임의의 경우에, 차량(300)은, 차량 제어기(322)가 차량(300)을 조작하고 그리고 그렇지 않으면 차량(300)의 동작을 제어하기 위해 차량(300) 내의 다양한 구성 요소들(330)에 제어 신호들을 제공하는 자율 주행 차량일 수 있다. 구성 요소들(330)은 단지 예시의 편의를 위해 도 4a에서 확대도로 도시된다. 구성 요소들(330)은 가속기(340), 브레이크(342), 차량 엔진(344), 스티어링 메커니즘(346), 브레이크 등, 헤드라이트, 후진 등, 비상등 등과 같은 라이트들(348), 기어 선택기(350), IMU(343), 추가 센서(345)(예를 들어, 아래에 나타내는 바와 같은 카메라들, 레이더들, 음향 센서들, 대기압 센서들, 습기 센서들, 주변 광 센서들) 및/또는 차량(300)의 이동을 실시하고 제어하는 다른 적절한 구성 요소들을 포함할 수 있다. 기어 선택기(350)는 주차, 후진, 중립, 구동 기어 등을 포함할 수 있다. 각각의 구성 요소들(330)은 구성 요소가 "속도 증가", "속도 감소", "5 도 좌회전, "좌회전 신호 작동" 등과 같이 차량 제어기(322)로부터의 커맨드를 수신하고, 일부 경우에 피드백을 차량 제어기(322)에 제공하는 인터페이스를 포함할 수 있다.
[0075] 차량 제어기(322)는 구성 요소들(300)로부터 입력을 수신하고 검출된 물체들, 도로 마킹들 등의 표시들을 차량(300)을 조작하기 위해 구성 요소들(330)에 대한 커맨드들을 생성하는 모션 플래너(356)에 제공하기 위해 인지 기계 학습(ML: machine learining) 모델(354)을 사용하는 인지 모듈(352)을 포함할 수 있다. 다시 도 1을 참조하면, 일 실시예에서 구성 요소들(352 내지 356)은 임의의 적절한 구성으로 구성 요소들(102 내지 107)을 구현한다.
[0076] 일부 구현들에서, 차량 제어기(322)는 링크들(320)을 통해 센서 헤드들(312)로부터 지점 클라우드 데이터를 수신하고 본원에 개시된 집합 또는 개별 SDCA들 중 임의의 하나 이상을 사용하여 수신된 지점 클라우드 데이터를 분석하여 타겟들(230)(도 2 참조) 및 그 각각의 위치들, 거리들, 속도들, 형상들, 크기들, 타겟의 유형(예를 들어, 차량, 사람, 나무, 동물) 등을 감지 또는 식별한다. 그 후, 차량 제어기(322)는 다른 링크(320)를 통해 제어 신호를 구성 요소들(330)에 제공하여 분석된 정보에 기반하여 차량의 동작을 제어한다.
[0077] 라이다 시스템(302)에 추가하여, 차량(300)은 또한 카메라, 열 이미저(imager), 통상의 레이더(어수선함을 피하기 위해 미도시) 등과 같은 다른 센서들(345)을 장착할 수 있다. 센서들은 유선 또는 무선 통신 링크들을 통해 차량 제어기(322)로 추가 데이터를 제공할 수 있다. 또한, 예시적인 구현에서 차량(300)은 음원들을 결정하도록 구성된 음원 위치 파악 시스템의 일부로서 동작하는 마이크로폰 어레이를 포함한다.
[0078] 다른 예로서, 도 4b는 각각 도 4a의 센서 헤드들(312) 중 하나와 유사할 수 있는 몇몇 센서 헤드들(372)이 후드의 전방 및 트렁크 상에 배치된 차량(360)을 도시한다. 특히, 센서 헤드들(372B 및 C)은 차량(360)의 배향에 대해 후방을 향하도록 배향되고, 센서 헤드들(372A 및 D)은 차량(360)의 배향에 대해 전방을 향하도록 배향된다. 다른 구현에서, 추가 센서들이 예를 들어, 사이드 뷰 미러들에 배치된다.
[0079] 도 5는 예시적인 실세계(real-world) 운전 환경(380)을 도시하고, 도 6a는 환경(380)을 스캐닝하는 라이다 시스템(예를 들어, 도 2 및 도 3의 라이다 시스템(200) 또는 도 4a의 라이다 시스템(302))에 의해 생성되는 예시적인 지점 클라우드(600)를 도시한다. 도 5에서 알 수 있는 바와 같이, 환경(380)은 각 방향에 복수의 차선이 있는 두 방향의 트래픽을 나누는 중앙 분리대를 갖는 고속도로를 포함한다. 도 6a의 지점 클라우드(600)는 라이다 디바이스가 복수의 픽셀 데이터를 캡처하는 예시적인 실시예에 대응하며, 여기서 각 픽셀(601)은 도로의 차선과 연관된 차선 마킹에 대응한다. 지점 클라우드(600)의 픽셀들(601)은 전체 지점 클라우드에 대해 분류 동작이 수행된 후에 획득될 수 있다. 전체 지점 클라우드는 라이다 시스템에 의해 캡처된 장면의 3차원 렌더링을 포함할 수 있으며, 분류 동작은 전체 지점 클라우드의 각 픽셀을 특정 유형의 픽셀(예를 들어, 도로 표면, 차선 마킹, 차선 경계, 차량, 자전거, 표지판 등)로 분류할 수 있다. 도 6a의 픽셀들(601)은 차선 검출 또는 추적과 관련된 전체 지점 클라우드로부터의 픽셀들만을 포함하도록 선택될 수 있다. 예를 들어, 픽셀들(601)은 차선 마킹 픽셀들, 차선 경계 픽셀들 또는 차선 마킹 또는 차선 경계의 임계 거리 내의 도로 표면 픽셀들로 지정되는 경우 선택될 수 있다. 지점 클라우드(600)는 예를 들어, 도 4a의 센서 헤드들(312A, 312D) 또는 도 4b의 센서 헤드들(372A, 372G)을 사용하여 생성되었을 수 있다. 지점 클라우드(600)는 하나 초과의 센서 헤드(예를 들어, 센서 헤드들(372A, 372G))로부터의 데이터 병합을 통해 공통 원점 및 기준 시선 방향에 대한 범위, 방위각 및 고도를 각 지점에 할당할 수 있다. 공통 원점은 복수의 센서 헤드의 평균 포지션 및 중립 시선 방향 또는 임의의 다른 편리한 지점 및/또는 시선 방향으로 지정될 수 있다. 도 6a에 시각적 이미지로 도시되어 있지만, 일부 실시예들에서 지점 클라우드(600)는 임의의 시간에 실제로 렌더링되거나 표시되지 않는다는 것이 이해된다.
[0080] 본원에 사용된 바와 같이, "차선 경계"라는 용어는 예를 들어, 실선 흰색 또는 노란색 라인 또는 파선 흰색 또는 노란색 라인과 같은 차선 마킹을 지칭할 수 있다. 2 개의 인접한 차선 경계는 차량이 주행할 수 있는 차선의 에지를 정의한다. 또한, "좌측 경계" 및 "우측 경계"는 각각 차선 경계의 좌측 및 우측 에지들에 대응할 수 있다. 예를 들어, 인접한 차선 경계들은 차선의 폭에 대응하는 대략 12 피트의 거리만큼 분리될 수 있고 좌측 및 우측 경계들은 차선 경계를 정의하는 통상적인 마킹들의 너비에 대응하는 대략 6 인치만큼 분리될 수 있다.
[0081] 도 6a에서 알 수 있는 바와 같이, 지점 클라우드(600)는 도로 및 출구 램프의 2 개의 차선과 연관된 차선 마킹들을 나타낸다. 명확성을 위해, 도 6a에 도시된 소수의 물체들만이 참조 번호로 라벨링된다. 도 1을 다시 참조하면, 지점 클라우드(600) 내의 물체들(예를 들어, 픽셀(601))의 별개의 것들이 인지 구성 요소(102)에 의해 식별될 수 있다. 예를 들어, 인지 구성 요소(102)는 지점 클라우드(600)의 그라운드 평면의 스캔 라인들의 실질적인 갭들 및/또는 다른 불연속들을 검출할 수 있으며, 이러한 불연속의 부근에 있는 지점들의 그룹을 이산 물체들로서 식별할 수 있다. 인지 구성 요소(102)는 임의의 적절한 규칙, 알고리즘 또는 모델을 사용하여 어느 지점들이 동일한 물체에 속하는지 결정할 수 있다. 물체가 식별되면, 도 1의 인지 구성 요소(102) 및/또는 차선 추적 및 예측 모듈(105)은 지점 클라우드(600)와 유사한 장래의 지점 클라우드에 걸쳐(즉, 복수의 지점 클라우드 프레임에 걸쳐) 물체를을 분류 및/또는 추적하려고 시도할 수 있다.
[0082] 보다 구체적으로, 인지 구성 요소(102)는 지점 클라우드(600)를 수신하고 그 안에 표현된 각각의 픽셀(예를 들어, 픽셀(601))을 차선 마킹으로서 식별할 수 있다. 실시예들에서, 지점 클라우드(600)의 각 픽셀은 사전 결정된 식별을 갖고 인지 구성 요소(102)에 도달할 수 있어, 인지 구성 요소(102)는 차선 마킹 픽셀들을 자동으로 연관시킨다. 그러나, 도 6a에 도시된 바와 같이, 픽셀들(예를 들어, 픽셀(601))의 이러한 연결 해제된 연관은 차량이 도로를 따라 주행할 때 차량을 안내하기에 충분하지 않을 수 있다. 차량 제어 유닛들(예를 들어, 차량 제어 구성 요소(107))은 차선 마킹 픽셀들 사이의 갭들을 잘못 해석하여 차량이 예기치 않게 방향을 바꾸거나, 제동하거나, 가속하거나, 및/또는 임의의 다른 제어 동작을 수행하게 할 수 있다. 이러한 비정상적인 제어 동작들을 피하기 위해, 인지 구성 요소(102), 구체적으로 차선 마킹 검출 모듈(104)은 지점 클라우드(600)에 표현된 픽셀들을 함께 링크하여 실제 차선 마킹의 근사화를 생성할 수 있다. 근사화된 차선 마킹으로, 인지 구성 요소(102)는 도로의 차선 내에서 차량의 포지션을 정확하게 반영하는 인지 신호들(103)을 생성하여 이를 차량 제어 구성 요소(107)에 전송할 수 있다.
[0083] 도 1의 차선 마킹 검출 모듈(104)은 도 6b에 도시된 예시적인 링크 기법(602)에 따라 차선 마킹 픽셀들을 링크할 수 있다. 일반적으로, 예시적인 링크 기법(602)은 시작 픽셀을 선택하고, 시작 픽셀에 가장 가까운 픽셀을 검색하고, 이러한 두 픽셀을 링크하는 것을 포함한다. 이러한 예시적인 링크 기법(602)은 지점 클라우드(예를 들어, 지점 클라우드(600))에 포함된 모든 픽셀들이 링크될 때까지 계속될 수 있다. 결과적으로, 이러한 예시적인 링크 기법(602)은 차선 검출 모듈(104)이 이후의 단계에서 개선할 수 있는 차선 마킹 포지션들에 대한 대략적인 추정을 제공할 것이다.
[0084] 보다 구체적으로, 차선 검출 모듈(104)은 시작 픽셀(603)을 선택하고 시작 픽셀(603) 주위에 바운딩 박스(604)를 구성함으로써 예시적인 링크 기법(602)을 시작할 수 있다. 도 6b에 도시된 시작 픽셀(603)은 차량에 가장 근접한 픽셀이 아니며, 차선 검출 모듈(104)은 차량에 근접한 픽셀들이 시작 픽셀이 되게 우선 순위화할 수 있음을 이해해야 한다. 또한, 차선 검출 모듈(104)은 시작 픽셀(603) 주변의 임의의 지점에서, 임의의 적절한 크기로 바운딩 박스(604)를 구성할 수 있다.
[0085] 실시예들에서, 차선 검출 모듈(104)은 바운딩 박스(604)가 한 방향으로 바이어싱되도록 바운딩 박스(604)를 구성할 수 있다. 예를 들어, 차선 검출 모듈(104)은 바운딩 박스(604)가 일단에 시작 픽셀(603)을 포함하고 타단이 차량의 이동 방향(예를 들어, "순방향 바이어스")으로 차량으로부터 멀어지게 확장되도록 바운딩 박스(604)를 구성할 수 있다. 순방향 바이어스를 사용하여, 차선 검출 모듈(104)은 차량 전방에 위치된 픽셀들을 보다 쉽게 링크할 수 있고, 따라서 차량의 주행 방향으로 픽셀들을 함께 효율적으로 링크할 수 있다. 바운딩 박스(604)가 도 6b에 직사각형으로 도시되어 있지만, 바운딩 박스(604)는 원형, 타원형, 다각형, 또는 임의의 다른 적절한 형상으로 구성될 수 있다는 것을 이해해야 한다.
[0086] 바운딩 박스(604)를 구성한 후, 차선 검출 모듈(104)은 근접 픽셀들에 대해 바운딩 박스(604)에 의해 둘러싸인 영역을 검색할 수 있다. 차선 검출 모듈(104)은 바운딩 박스(604) 내에서 부근 픽셀(605)을 찾고, 부근 픽셀(605)과 시작 픽셀(603) 사이의 거리를 측정할 수 있다. 실시예들에서, 바운딩 박스(604)는 시작 픽셀(603)과 복수의 다른 픽셀들을 둘러쌀 수 있다. 이러한 실시예들에서, 차선 검출 모듈(104)은 복수의 다른 픽셀 각각의 위치를 파악하고, 시작 픽셀(603)과 각각의 복수의 다른 픽셀들 사이의 각각의 거리들을 측정하고, 시작 픽셀로부터의 각각의 최소 거리를 갖는 복수의 다른 픽셀의 각각의 픽셀을 결정할 수 있다. 그 후, 차선 검출 모듈(104)은 시작 픽셀로부터 각각의 최소 거리를 갖는 각각의 픽셀을 시작 픽셀에 링크할 수 있다. 그러나, 디스플레이 버블(bubble)(606)에 도시된 바와 같이, 차선 검출 모듈(104)이 바운딩 박스(604) 내에서 단일 픽셀(예를 들어, 부근 픽셀(605))만을 검출하는 경우, 모듈(104)은 시작 픽셀(603)을 부근 픽셀(605)과 자동으로 링크할 수 있다.
[0087] 일단 링크되면, 차선 검출 모듈(104)은 이후에 시작 픽셀(603) 및 부근 픽셀(605)을 링크된 그룹으로서 참조할 수 있다. 예를 들어, 도 6b에 도시된 바와 같이, 차선 검출 모듈(104)은 다른 픽셀, 예를 들어, 픽셀(607)이 공유하지 않는 유사한 패턴에 의해 링크된 그룹(603, 605)을 식별할 수 있다. 링크된 픽셀 그룹들은 차선 검출 모듈(104)이 함께 링크된 픽셀들을 정확하게 식별할 수 있도록 유사한 태그들, 컬러들, 및/또는 임의의 다른 적절한 표시에 의해 식별될 수 있음을 이해해야 한다.
[0088] 그 후, 차선 검출 모듈(104)은 예를 들어, 다른 부근 픽셀들(예를 들어, 픽셀(607))을 검색하기 위해 부근 픽셀(605) 주위에 바운딩 박스를 구성함으로써 예시적인 링크 기법(602)을 진행할 수 있다. 차선 검출 모듈(104)은 차선 검출 모듈(104)이 픽셀 주위에 바운딩 박스를 구성하고 바운딩 박스 내에 다른 픽셀이 나타나지 않을 때까지 예시적인 링크 기법(602)을 반복적으로 수행할 수 있다. 따라서, 차선 검출 모듈(104)은 각각의 시작 픽셀(608a 내지 608e)을 선택하고 픽셀들을 시작 픽셀들(608a 내지 608e)에 반복적으로 링크할 수 있는데, 이는 위에서 설명된 예시적인 링크 기법(602)과 일치하여 링크된 섹션들(609a 내지 609e)의 각각을 생성한다.
[0089] 대안적으로, 차선 검출 모듈(104)은 도 6c에 도시된 예시적인 링크 기법(610)에 기반하여 지점 클라우드(예를 들어, 지점 클라우드(600))로부터의 픽셀들을 함께 링크할 수 있다. 일반적으로, 예시적인 링크 기법(610)은 각각의 픽셀들을 둘러싸는 경계 영역에 기반하여 지점 클라우드의 픽셀들을 링크하는 차선 검출 모듈(104)과 관련된다. 예시적인 버블(611)에 도시된 바와 같이, 차선 검출 모듈(104)은 바운딩 영역(614)을 정의하는 관련 거리(613)를 갖는 픽셀(612)을 수신할 수 있다. 바운딩 영역(614)은 차선 마킹 경계들의 예측된 위치들을 나타낼 수 있다. 예를 들어, 픽셀(612)은 차선 마킹(예를 들어, 페인트 줄무늬) 내의 지점을 나타낼 수 있어, 차선 마킹 경계들은 개별 픽셀(612)의 경계들을 넘어 확장된다. 따라서, 차선 검출 모듈(104)은 부근 픽셀들에 대한 차선 마킹 경계들의 예측된 위치들을 정의하는 영역 내에서 검색할 수 있다. 픽셀이 바운딩 영역(614) 밖에 있는 경우, 차선 검출 모듈(104)은 픽셀이 픽셀(612)에 대응하는 특정 차선 마킹과 연관되지 않는다고 결론을 내릴 수 있다.
[0090] 예시적인 버블(611)에 도시된 바와 같이, 차선 검출 모듈(104)은 초기에 정의된 바운딩 영역(614) 내에서 임의의 부근 픽셀들을 찾지 않을 수 있다. 그러나, 차선 마킹들은 통상적으로 단일 픽셀에 의해 식별되는 영역보다 크므로, 차선 검출 모듈(104)은 픽셀(612)의 차선 마킹에 대응하는 더 많은 픽셀들을 검색하려는 시도에서 바운딩 영역(614)을 확장할 수 있다. 예를 들어, 차선 검출 모듈(104)은 바운딩 영역(614)에 영역 성장 알고리즘을 적용함으로써 바운딩 영역(614)을 확장할 수 있다.
[0091] 일단 확장되면, 차선 검출 모듈(104)은 바운딩 영역(614)을 분석하여 바운딩 영역(614)의 어느 경계도 교차하지 않는 픽셀들을 검색할 수 있다. 차선 검출 모듈(104)이 어느 경계도 교차하지 않는 바운딩 영역(614) 내의 픽셀을 찾는 경우, 차선 검출 모듈(104)은 2 개의 픽셀을 링크할 수 있다. 예를 들어, 차선 검출 모듈(104)은 픽셀(612)의 바운딩 영역(614)을 확장하고 바운딩 영역(614)의 경계들 내에 위치된 픽셀들을 반복적으로 링크할 수 있다. 몇몇 픽셀들(3 개 도시)을 링크한 후, 차선 검출 모듈(104)은 바운딩 영역(614)을 확장하여 픽셀(615)에 도달할 수 있다. 픽셀(615)이 바운딩 영역(614)의 어느 경계도 교차하지 않기 때문에, 차선 검출 모듈(104)은 픽셀(615)을 픽셀(612)에 링크된 픽셀들의 체인에 링크할 수 있다.
[0092] 그러나, 언급된 바와 같이, 예시적인 링크 기법(610)은 차선 검출 모듈(104)이 픽셀들을 바운딩 영역들에 기반하여 연결되는 것으로부터 배제하는 것을 초래할 수 있다. 예시하기 위해, 차선 검출 모듈(104)이 픽셀(616)에 도달하고 바운딩 영역(621)을 확장할 때, 차선 검출 모듈(104)은 바운딩 영역(621)에 의해 둘러싸이는 영역을 분석하고 픽셀(617 및 618)을 찾을 수 있다. 예시적인 버블(619)에 도시된 바와 같이, 픽셀(617)이 바운딩 영역(621) 내에 속하는 반면 픽셀(618)은 바운딩 영역(621)의 하나의 경계를 교차한다는 것이 분명하다. 따라서, 차선 검출 모듈(104)이 픽셀들(617, 618)을 분석할 때, 차선 검출 모듈(104)은 픽셀(617)을 픽셀(616)(유사한 패터닝으로 표시)과 링크하고 픽셀(618)을 픽셀(616)(상이한 패터닝으로 표시)로부터 연관 해제한다. 위에서 언급한 바와 같이, 링크된 픽셀 그룹들은 유사한 태그들, 컬러들 및/또는 임의의 다른 적절한 표시에 의해 식별될 수 있어, 차선 검출 모듈(104)이 함께 링크된 픽셀들을 정확하게 식별할 수 있다는 것을 이해해야 한다.
[0093] 픽셀(617)을 픽셀(616)과 링크한 후, 차선 검출 모듈(104)은 영역 성장 알고리즘을 픽셀(617)과 연관된 바운딩 영역(620)에 적용할 수 있고, 유사하게 영역 성장 알고리즘을 픽셀(618)과 연관된 별개의 바운딩 영역(622)에 적용하여 픽셀들(617, 616)을 포함하는 그룹과 별개의 링크된 픽셀 그룹을 생성한다. 이러한 방식으로, 차선 검출 모듈(104)은 예측된 바운딩 영역들에 기반하여 픽셀들을 반복적으로 검출하고 링크할 수 있다. 따라서, 차선 검출 모듈(104)은 바운딩 영역들(623a 내지 623c)과 연관된 픽셀들을 유사하게 링크할 수 있다.
[0094] 추가적으로 또는 대안적으로, 차선 검출 모듈(104)은 도 6d에 도시된 예시적인 링크 기법(624)에 기반하여 지점 클라우드(예를 들어, 지점 클라우드(600))로부터의 픽셀들을 함께 링크할 수 있다. 일반적으로, 예시적인 링크 기법(624)은 인접 픽셀들 간의 연결 방향들을 예측하고, 예측된 연결 방향들에 위치된 픽셀들을 링크하는 것을 포함한다. 실시예들에서, 픽셀에 대한 예측된 연결 방향은 예를 들어, 픽셀과 연관된 픽셀들의 링크된 섹션에 포함된 다른 픽셀들의 이전 연결 방향들에 기반한 픽셀의 사전 결정된 품질일 수 있다. 대안적으로, 예측된 연결 방향들은 차선 검출 모듈(104)에 의해 사용되는 기계 학습 모델에 기반한 픽셀의 할당된 품질일 수 있다.
[0095] 예를 들어, 예시적인 버블(625)에 도시된 바와 같이, 차선 검출 모듈(104)은 픽셀(626)을 다른 픽셀(627)에 링크하려고 시도할 수 있다. 픽셀(626)은 픽셀들(628)의 링크된 섹션과 연관될 수 있고, (픽셀(626)의 패터닝으로 표현된) 예측된 연결 방향을 가질 수 있다. 픽셀(626)에 대한 예측된 연결 방향은 픽셀(626)이 픽셀(626) 바로 앞에 위치된 픽셀에 연결될 가능성이 있음을 나타낼 수 있다. 픽셀(626)과 연관된 예측된 연결 방향에 따라, 차선 검출 모듈(104)은 부근의 연결 픽셀을 검색하기 위해 순방향 바이어싱된 픽셀(626) 주위에 바운딩 박스(629)를 구성할 수 있다. 도시된 바와 같이, 바운딩 박스(629)는 픽셀(627)을 포함할 수 있고, 차선 검출 모듈(104)은 2 개의 픽셀(626, 627)을 링크하기로 결정할 수 있다.
[0096] 그 후, 차선 검출 모듈(104)은 픽셀들(628)의 링크된 섹션으로의 픽셀(627)을 포함하고, 픽셀(627)에 대한 부근 픽셀들을 찾으려고 시도할 수 있다. 그러나, 픽셀(627)은 (픽셀(627)의 패터닝의 결여에 의해 나타낸) 예측된 연결 방향을 포함하지 않을 수 있다. 언급된 바와 같이, 각각의 픽셀은 차선 검출 모듈(104)에 의해 수신될 때 예측된 연결 방향을 포함할 수 있거나, 차선 검출 모듈(104)은 기계 학습 모델에 기반하여 도달 픽셀에 대해 하나를 생성할 수 있다. 따라서, 실시예들에서, 차선 검출 모듈(104)은 기계 학습 모델에 기반하여 픽셀(627)의 근접 반경 내에 픽셀들이 없기 때문에 픽셀(627)이 예측된 연결 방향을 갖지 않는다고 결정할 수 있다. 또한, 이러한 실시예들에서, 차선 검출 모듈(104)은 픽셀(627)의 근접 반경 내의 모든 픽셀들이 픽셀(628)의 링크된 섹션의 나머지로서 픽셀(627)로부터 충분히 유사한 방향에 있지 않기 때문에 픽셀(627)이 예측된 연결 방향을 갖지 않는다고 결정할 수 있다 예를 들어, 차선 검출 모듈(104)은 픽셀(627)의 바로 우측에 근접 픽셀이 있음을 검출할 수 있다. 그러나 픽셀들(628)의 링크된 섹션에 있는 모든 픽셀들이 실질적으로 선형 방식으로 링크되기 때문에, 차선 검출 모듈(104)은 픽셀(627)의 바로 우측에 있는 근접 픽셀이 픽셀들(628)의 링크된 섹션에 링크되어서는 안 된다고 결정할 수 있는데, 이는 차선 마킹의 방향으로 너무 가혹한 변화를 나타낼 것이기 때문이다.
[0097] 다른 예로서, 예시적인 버블(630)에 도시된 바와 같이, 차선 검출 모듈(104)은 픽셀(631)을 다른 픽셀(632)과 링크하려고 시도할 수 있다. 픽셀(631)은 픽셀들(633)의 링크된 섹션과 연관될 수 있고, (픽셀(631)의 패터닝으로 표현된) 예측된 연결 방향을 가질 수 있다. 픽셀(631)에 대한 예측된 연결 방향은 픽셀(631)이 픽셀(631)의 전방 및 우측에 위치된 픽셀에 연결될 가능성이 있음을 나타낼 수 있다. 픽셀(631)과 연관된 예측된 연결 방향에 따라, 차선 검출 모듈(104)은 부근의 연결 픽셀을 검색하기 위해 전방과 우측으로 바이어싱되는 픽셀(631) 주위에 바운딩 박스(634)를 구성할 수 있다. 도시된 바와 같이, 바운딩 박스(634)는 픽셀(632)을 포함할 수 있고, 차선 검출 모듈(104)은 2 개의 픽셀(631, 632)을 링크하기로 결정할 수 있다.
[0098] 그 후, 차선 검출 모듈(104)은 픽셀(632)을 픽셀들(633)의 링크된 섹션에 포함할 수 있고, 픽셀(632)에 대한 부근 픽셀들을 찾으려고 시도할 수 있다. 실시예들에서, 차선 검출 모듈(104)은 기계 학습 모델에 기반하여 픽셀(632)은 픽셀(631) 및 픽셀(633)의 링크된 섹션에 있는 다른 픽셀들과 유사하게 전방 및 우측으로 예측된 연결 방향을 갖는 것으로 결정할 수 있다. 그 후, 차선 검출 모듈(104)은 예측된 연결 방향들 및 결과적인 바운딩 박스들에 포함된 픽셀들에 기반하여 픽셀들(633)의 링크된 섹션에 픽셀들을 반복적으로 링크할 수 있다. 임의의 경우에, 차선 검출 모듈(104)은 픽셀들(634a 내지 634d)의 링크된 섹션들을 생성하기 위해 지점 클라우드(예를 들어, 지점 클라우드(600))로부터 픽셀들을 유사하게 연결할 수 있다.
[0099] 구현된 링크 기법(예를 들어, 예시적인 링크 기법들(602, 610 및 624))에 관계없이, 차선 검출 모듈(104)은 후속적으로 링크된 섹션들을 하위 섹션들로 하위 분할할 수 있다. 하위 분할은 더 많은 선형 하위 섹션들을 제공할 수 있어, 후속 프로세싱 작업들은 더 적은 프로세싱 시간 및 전력을 필요로 한다. 따라서, 차선 검출 모듈(104)은 도 6e에 도시된 예시적인 하위 분할 기법(636)을 수행할 수 있다. 도 6e에 도시된 바와 같이, 차선 검출 모듈(104)은 픽셀의 링크된 섹션(예를 들어, 도 6d의 픽셀들(634d)의 링크된 섹션)의 시작 픽셀(637) 및 끝 픽셀(638)을 식별함으로써 예시적인 하위 분할 기법(636)을 시작할 수 있다. 그 후, 차선 검출 모듈(104)은 시작 픽셀(637)과 끝 픽셀(638) 사이에 테스트 라인(639)을 구성할 수 있고, 테스트 라인(639)으로부터 픽셀의 링크된 섹션에서 각 픽셀의 거리를 측정할 수 있다.
[00100] 예를 들어, 예시적인 버블(640)에 도시된 바와 같이, 차선 검출 모듈(104)은 테스트 라인(639)으로부터 그 각각의 거리들(643, 644)을 측정함으로써 테스트 라인(639)을 참조하여 제1 픽셀(641) 및 제2 픽셀(642)을 분석할 수 있다. 차선 검출 모듈(104)은 측정된 거리들(643, 644)을 임계 거리와 비교할 수 있고, 임계 거리는 기계 학습 모델의 일부로서 사전 결정되거나 동적으로 결정될 수 있다. 차선 검출 모듈(104)이 제1 픽셀(641)과 연관된 거리(643)가 임계 거리보다 작다고 결정하면, 차선 검출 모듈(104)은 제1 픽셀(641)이 시작 픽셀(637) 및 거리 임계를 충족하는 그 사이의 임의의 다른 픽셀들을 갖는 하위 섹션(645a)에 링크되어야 한다고 결정할 수 있다. 대조적으로, 차선 검출 모듈(104)이 제2 픽셀(642)과 연관된 거리(644)가 임계 거리보다 크다고 결정하면, 차선 검출 모듈(104)은 제1 픽셀(641)과 상이한 하위 섹션(645b)에 제2 픽셀(642)을 포함할 수 있다.
[00101] 차선 검출 모듈(104)은 지점 클라우드에 포함된 픽셀들의 다른 모든 링크된 섹션들에 대해 예시적인 버블(640)에 도시된 예시적인 하위 분할 기법(636)을 유사하게 수행할 수 있다. 예를 들어, 차선 검출 모듈(104)은 시작 픽셀(646)과 끝 픽셀(647)이 있는 픽셀들의 링크된 섹션을 평가할 수 있다. 이러한 상황에서, 차선 검출 모듈(104)은 시작 픽셀(646)과 끝 픽셀(647) 사이의 모든 픽셀들이 실질적으로 선형이라고 결정할 수 있어, 시작 픽셀(646)과 끝 픽셀(647) 사이의 모든 픽셀들의 그룹화는 하위 섹션(648)으로 함께 그룹화될 것이다. 유사하게, 차선 검출 모듈(104)은 하위 섹션들(649a, 649b, 650a 내지 650c, 651, 652a 및 652b)을 평가하고 지정할 수 있다.
[00102] 하위 섹션들을 지정한 후, 차선 검출 모듈(104)은 도 6f에 도시된 바와 같이 각 하위 섹션에 대한 주요 구성 요소를 결정할 수 있다. 각 하위 섹션의 주요 구성 요소는 라인 또는 임의의 다른 고차 곡선일 수 있다. 차선 검출 모듈(104)은 주요 구성 요소 피팅 기법(653)에 따라 하위 섹션의 끝 픽셀들 사이의 주요 구성 요소를 피팅할 수 있다. 예를 들어, 차선 검출 모듈(104)은 하위 섹션(649a)의 시작 픽셀(654a) 및 끝 픽셀(654b)을 분석하여 주요 구성 요소(655)를 결정할 수 있다. 대안적으로, 차선 검출 모듈(104)은 (예를 들어, 라인 또는 곡선을 하위 섹션의 픽셀들에 피팅하는 것에 기반하여) 하위 섹션에 대한 주요 구성 요소를 결정하기 위해 하위 섹션의 모든 픽셀들을 분석할 수 있다. 도시된 바와 같이, 주요 구성 요소(655)는 시작 픽셀(654a)과 끝 픽셀(654b) 사이의 라인 피트와 유사한 기울기 및 차량의 주행 방향과 유사한 방향을 갖는다.
[00103] 또한, 더 적은 선형 하위 섹션들의 경우에도, 차선 검출 모듈(104)은 주요 구성 요소를 결정할 수 있다. 예로서, 차선 검출 모듈(104)은 주요 구성 요소(657)를 결정하기 위해 하위 섹션(650b)의 시작 픽셀(656a)과 끝 픽셀(656b) 사이의 라인을 피팅할 수 있다. 따라서, 모든 나머지 하위 섹션들(645a, 645b, 648, 649b, 650a, 650c, 651, 652a 및 652b)에 대해, 차선 검출 모듈(104)은 주요 구성 요소(658 내지 666)를 결정할 수 있다. 중요하게도, 차선 검출 모듈(104)은 본원에서 추가로 설명되는 바와 같이, 장래의 사용을 위해 메모리에서 주요 구성 요소를 생성하는 데 사용되는 시작 픽셀들(예를 들어, 654a, 656a) 및 끝 픽셀들(예를 들어, 654b, 656b)(본원에서 추가로 "제어 지점들"로 지칭됨)의 각각을 저장할 수 있다. 대안적으로, 차선 검출 모듈(104)은 각각의 주요 구성 요소의 시작 지점과 끝 지점을 제어 지점들로서 지정할 수 있다. 임의의 경우에, 차선 검출 모듈(104)은 하위 섹션들을 함께 링크하기 위해 각각의 하위 섹션에 대한 주요 구성 요소들을 이용할 수 있다.
[00104] 차선 검출 모듈(104)은 도 6g에 도시된 하위 섹션 연관 기법(667)에 따라 하위 섹션들을 함께 링크하도록 진행할 수 있다(본원에서 "하위 섹션들 연관"으로 지칭됨). 일반적으로, 하위 섹션 연관 기법(667)은 하위 섹션들의 이웃하는 제어 지점들 사이의 거리들 및 각도 차이들을 비교하는 차선 검출 모듈(104)을 포함한다. 예시적인 버블(668)에 도시된 바와 같이, 차선 검출 모듈(104)은 우선 2 개의 하위 섹션(649a, 649b)의 제어 지점들(670, 671) 사이의 거리(669)를 결정할 수 있다. 그 후, 차선 검출 모듈(104)은 거리(669)를 임계 거리와 비교하여 대응하는 하위 섹션들(649a, 649b)이 링크되어야 하는지를 결정할 수 있다.
[00105] 실시예들에서, 거리 임계값은 하위 거리 임계값 및 상위 거리 임계값을 포함할 수 있다. 이러한 실시예들에서, 거리(669)가 더 낮은 거리 임계값 미만이면, 차선 검출 모듈(104)은 2 개의 하위 섹션(649a, 649b)을 자동으로 연결할 것이다. 대조적으로, 거리(669)가 상위 거리 임계값보다 높으면, 차선 검출 모듈(104)은 자동으로 2 개의 하위 섹션(649a, 649b)에 연결하지 않을 것이다. 그러나, 차선 검출 모듈(104)이 거리(669)가 하위 거리 임계값 초과 및 상위 거리 임계값 미만이라고 결정하는 경우, 차선 검출 모듈(104)은 각도 임계값과 관련하여 제어 지점들(670, 671)을 분석할 수 있다.
[00106] 차선 검출 모듈(104)에 의해 수행되는 각도 임계값 분석의 예가 예시적인 버블(672)에 표시된다. 하위 섹션들(648, 649a)의 2 개의 제어 지점을 분석할 때, 차선 검출 모듈(104)은 제어 지점을 분리하는 거리(673)가 하위 거리 임계값 미만이고 상위 거리 임계값 초과인 것으로 결정할 수 있다. 따라서, 차선 검출 모듈(104)은 제어 지점들 사이의 거리(673)를 나타내는 라인과 각각의 하위 섹션(648, 649a)의 주요 구성 요소(655, 658) 사이의 각도 분리(674)를 비교할 수 있다. 제어 지점들 사이의 거리(673)를 나타내는 라인과 주요 구성 요소들(655, 658)의 각각 사이의 각도 분리(674)가 각도 임계값보다 작은 경우, 차선 검출 모듈(104)은 자동으로 하위 섹션들(648, 649a)을 연결할 수 있다.
[00107] 다른 예로서, 차선 검출 모듈(104)은 하위 섹션들(648 및 650b)을 연결하려고 시도할 수 있다. 제어 지점들 중 어느 세트 사이의 거리는 하위 거리 임계값 초과이고 상위 거리 임계값 미만이어서, 차선 검출 모듈(104)은 2 개의 하위 섹션(648, 650b) 사이의 각도 임계값 분석을 수행할 수 있다. 그러나, 하위 섹션(648)의 상위 제어 지점으로부터 하위 섹션(650b)의 하위 제어 지점으로 그려진 라인은 두 하위 섹션(648, 650b)의 주요 구성 요소들(658, 657)의 방향에 실질적으로 수직일 것이다. 따라서, 차선 검출 모듈(104)이 두 주요 구성 요소(658, 657)의 각도 분리를 두 하위 섹션(648, 650b)의 제어 지점들 사이에 그려진 라인과 비교하면, 차선 검출 모듈(104)은 각도 분리가 각도 임계값을 초과한다고 결정할 것이다. 2 개의 하위 섹션(648, 650b) 사이에 그려진 라인이 각도 임계값을 초과한다고 결정함으로써, 차선 검출 모듈(104)은 하위 섹션들(648, 650b)을 자동으로 연결하지 않을 것이다. 이러한 방식으로, 차선 검출 모듈(104)은, 도로에 대해 비현실적으로 각지거나 "날카로운" 차선 마킹을 나타내거나 또는 그렇지 않으면 자율 주행 차량으로 하여금 차선 마킹들 내에서 조작하기 위해 안전하지 않은 제어 동작들을 수행하게 하는 하위 섹션들을 연결하는 것을 피할 수 있다.
[00108] 차선 검출 모듈(104)은 각 하위 섹션의 제어 지점들을 유사하게 평가하여 하위 섹션들 간의 적절한 연관들을 결정할 수 있다. 따라서, 도시된 바와 같이, 차선 검출 모듈(104)은 하위 섹션들(648, 649a 및 649b); 연결 라인들(675a 및 675b)을 통한 하위 섹션들(650a, 650b 및 650c); 연결 라인들(675c 및 675d)을 통한 하위 섹션들(650c, 645a 및 645b); 및 연관 라인들(675e 및 675f)을 통한 하위 섹션들(651, 652a 및 652b)을 연결할 수 있다. 또한, 하위 섹션(650b) 및 하위 섹션(645a)으로의 하위 섹션(650c)의 연관에 의해 나타낸 바와 같이, 차선 검출 모듈(104)은 하나의 하위 섹션을 복수의 다른 하위 섹션들과 연관시키고 하나의 제어 지점을 복수의 다른 제어 지점들과 연관시킬 수 있다.
[00109] 마지막으로, 차선 검출 모듈(104)은 링크된 하위 섹션들의 제어 지점들을 통해 스플라인을 피팅할 수 있다. 도 6h에 도시된 바와 같이, 차선 검출 모듈(104)은 링크된 하위 섹션들(예를 들어, 하위 섹션(648))에 의해 표시되는 차선 마킹들을 나타내는 스플라인(678)에 피팅되도록 제어 지점들(677a 내지 677f)을 분석할 수 있다. 유사하게, 차선 검출 모듈(104)은 스플라인(680a 내지 680c 및 682)을 각각 피팅하기 위해 제어 지점들(679a 내지 679e, 679e 내지 679f, 679e 내지 679j 및 681a 내지 681f)을 분석할 수 있다. 일반적으로, 차선 검출 모듈(104)은 스플라인을 생성하기 위해 임의의 적절한 스플라이닝 방법을 사용할 수 있고, 실시예들에서, 차선 검출 모듈(104)은 제어 지점들을 통해 스플라인을 생성하기 위해 캣멀-롬(Catmull-Rom) 스플라인 방법을 사용할 수 있다.
[00110] 스플라인을 피팅하기 위해 제어 지점들(677a 내지 677f)만을 사용하는 것은 스플라인을 생성하는 데 통상적으로 사용되는 지점들의 수를 크게 감소시키고, 따라서 결과적인 스플라인(678)을 생성하기 위한 시스템의 프로세싱 요구를 크게 감소시킨다. 따라서, (각각의 하위 섹션의 픽셀들을 사용하는 대신) 각각의 하위 섹션의 제어 지점들만을 사용하여, 도 6h에 도시된 예시적인 스플라이닝 기법(676)은 차선 마킹들을 나타내는 스플라인을 피팅하는 데 필요한 시간 및 프로세싱 전력을 감소시킴으로써 통상의 차선 식별 기법들에 비해 기법적 개선을 달성한다.
[00111] 다른 실시예들에서, 차선 검출 모듈(104)은 그래프 이론 기법을 통해 하위 섹션 연관 및 스플라이닝을 수행할 수 있다. 차선 검출 모듈(104)은 각 하위 섹션의 제어 지점들을 사용하여 그래프를 구성함으로써 시작할 수 있다. 예를 들어, 차선 검출 모듈(104)은 제어 지점들을 노드들로서 이용할 수 있고 그래프를 생성하기 위해 각각의 노드 사이에 라인들을 구성할 수 있다. 각각의 노드를 연결하는 라인들은 그래프의 에지들을 구성할 수 있으며, 그래프는 모든 노드가 에지에 의해 모든 다른 노드에 연결됨을 의미하는 "클리크(clique)" 또는 "완전한 그래프"일 수 있다. 또한, 차선 검출 모듈(104)은 노드의 노드들의 각 쌍 사이에 스플라인을 피팅함으로써 각 에지를 형성할 수 있다. 차선 검출 모듈(104)은 나선을 따른 거리 s의 함수로서 곡률 K가 K(s) = a0 + a1s + a2s2 + a3s3으로 표현되는 입체 나선과 같은 임의의 적절한 스플라인을 사용할 수 있다.
[00112] 차선 검출 모듈(104)이 그래프를 생성한 후, 차선 검출 모듈(104)은 그래프의 각 에지에 대한 비용을 결정할 수 있다. 차선 검출 모듈(104)은 몇몇 제약들에 기반하여 비용을 결정할 수 있다. 예를 들어, 첫 번째 제약은 장벽을 가로지르는 에지에 페널티를 부여하여 이러한 에지가 높은 연관 비용을 갖도록 하는 것일 수 있다. 분류 동안, 차선들과 관련된 픽셀들이 식별되면 장벽들도 식별된다. 장벽들은 도로의 에지/경계에 있는 섹션들 또는 다른 방향들로 가는 도로들 사이의 영역에 대응한다. 따라서, 차선 검출 모듈(104)은 장벽을 가로지르는 임의의 에지에 높은 비용을 적용할 수 있다.
[00113] 두 번째 제약은 차선 마킹들을 통과하는 에지들에 인센티브를 부여하는 것일 수 있다. 일반적으로, 식별된 차선 마킹을 따르거나 또는 그렇지 않으면 식별된 차선 마킹과 실질적으로 평행한 에지는, 현실에 존재하는 차선 마킹들 간의 연결을 나타내므로 낮은 비용을 나타낸다. 대응하여, 차선 검출 모듈(104)은 식별된 차선 마킹들을 따르는 에지들에 낮은 비용을 부여할 수 있다.
[00114] 세 번째 제약은 모든 에지와 연관된 운전 가능성(drivability)을 평가하는 것일 수 있다. 차선 검출 모듈(104)은 도로의 유형을 고려하여 에지의 날카로움, 곡률 등에 기반하여 에지들에 비용을 적용할 수 있다. 고속도로의 경우, 날카로운 에지에 높은 비용이 적용된다(예를 들어, 급격한 횡방향 변화는 높은 비용을 가짐). 대조적으로, 도시 환경의 경우, 날카로운 에지들은 차량들이 이러한 급격한 횡방향 변화를 합리적으로 수행할 수 있는 증가된 능력으로 귀결되는 주행의 더 낮은 속도로 인해 비교적 낮은 비용을 갖는다. 따라서, 차선 검출 모듈(104)은 운전 환경에 기반하여 각각의 에지에 대해 더 높거나 더 낮은 비용 평가를 적용할 수 있다.
[00115] 차선 검출 모듈(104)이 그래프를 확립하고 모든 비용들을 그래프 노드들에 적용하면, 차선 검출 모듈(104)은 그래프에 걸쳐 최저-비용 경로들을 결정할 수 있다. 차선 검출 모듈(104)은 그래프에서 소스 노드 및 타겟 노드를 지정할 수 있어, 차선 검출 모듈(104)은 그래프를 소스 노드에서 타겟 노드로 횡단할 것이다. 차선 검출 모듈(104)은 그 후 차량에 대한 관심 영역(예를 들어, 차량의 현재 포지션으로부터 +/-100 m)을 식별하고, 차량 후방의 100 m에 소스 노드를 확립하고 차량 전방의 +100 m에 타겟 노드를 확립할 수 있다. 차량 후방에 소스 노드를 확립하는 것은 링크된 차선 마킹들의 일관성을 보장하여 높아진 예측 기능을 산출할 수 있다.
[00116] 마지막으로, 차선 검출 모듈(104)은 다양한 노드들을 통해 그래프를 횡단하는 최저-비용 경로들을 찾기 위해 그래프 이론을 적용할 수 있다. 예를 들어, 그래프는 행들과 열들이 노드에 대응하고 행렬의 각 셀이 대응하는 비용인 행렬로 나타낼 수 있다. 또한, 차선 검출 모듈(104)은 모든 노드가 최대 2 개의 진입 에지 또는 최대 2 개의 진출 에지를 갖도록 차선 분할 및 병합을 설명하기 위해 그래프에 제약을 적용할 수 있다. 차선 검출 모듈(104)은 최저-비용 경로(예를 들어, 다익스트라(Dijkstra)의 알고리즘)를 찾기 위해 임의의 표준 그래프-횡단 기법을 이용할 수 있다. 적절한 그래프-횡단 기법의 적용에 이어, 차선 검출 모듈(104)은 도로의 차선 마킹들에 대응하는 최저-비용 경로들의 세트를 생성할 수 있다. 따라서, 최저-비용 경로들은 그래프에 포함된 각 노드를 동시에 커버하면서 그래프를 횡단하는 저비용 경로들의 세트를 나타낼 수 있다. 각각의 저비용 경로들은 하나 이상의 노드들의 쌍들을 포함할 수 있으며, 노드들의 각각의 쌍은 스플라인에 의해 함께 연결될 수 있다. 저비용 경로의 노드들의 쌍들 사이의 스플라인들은 차선의 표현을 형성하기 위해 함께 연결될 수 있다.
[00117] 적용된 스플라인 기법에 관계없이, 차선 검출 모듈(104)이 지점 클라우드(예를 들어, 지점 클라우드(600))에 피팅되는 하나 이상의 스플라인을 결정하면, 차선 검출 모듈(104)은 지점 클라우드 및 연관된 스플라인들을 인지 신호들(103)에 포함할 수 있다. 도 1을 참조하여 앞서 언급한 바와 같이, 인지 신호들은 차량 제어 구성 요소(107) 및 차선 추적 및 예측 모듈(105)로 송신될 수 있다. 따라서, 차선 추적 및 예측 모듈(105)은 차량이 도로를 따라 전방으로 주행할 때 도로 차선의 위치를 추적 및 예측하는 데 사용하기 위한 하나 이상의 스플라인을 수신할 수 있다.
[00118] 따라서, 차선 추적 및 예측 모듈(105)은 도 7a에 도시된 예시적인 차선 마킹 확장 기법(700)을 수행할 수 있다. 일반적으로, 예시적인 차선 마킹 확장 기법(700)은 차량의 시뮬레이팅된 모션, 이전 차선 마킹 검출들 및 이전 차선 마킹 예측들에 기반하여 (차량의 주행 방향으로) 차량으로부터 더 떨어진 차선 검출 모듈(104)로부터 수신된 스플라인을 확장하는 것을 포함한다. 차량으로부터 멀어지게 스플라인을 확장하는 것과 차량의 시뮬레이팅된 모션이 일련의 포지션 모델(702, 704, 706)에 도시되어 있다. 도 7a를 참조하여 수행되는 모든 프로세스 및 동작들은 이전의 또는 차량의 임의의 실제 이동 없이 발생할 수 있다는 것을 이해해야 한다.
[00119] 포지션 모델(702)을 참조하면, 차선 추적 및 예측 모듈(105)은 도로 차선 마킹을 나타내는 피팅된 스플라인(708)을 나타내는 인지 신호(103)에 포함된 데이터를 수신할 수 있다. 차선 추적 및 예측 모듈(105)은 또한 피팅된 스플라인(708)을 포함하여 차량(712) 센서들(예를 들어, 도 1의 센서 1, 센서 2, 센서 N)의 시야의 적어도 일부를 가로질러 확장되는 거리 기준 라인(710a 내지 710f)의 제1 세트를 표시 및/또는 구성할 수 있다. 거리 기준 라인들(710a 내지 710f)의 제1 세트는 차선 추적 및 예측 모듈(105)에 의해 차량(712)에 대해 선택된 거리를 나타내기 위해 사용되는 디지털 구성들일 수 있고, 차량의 실제 환경(예를 들어, 환경(380))에서 투영되거나 달리 렌더링되지 않을 수 있음을 이해해야 한다.
[00120] 포지션 모델(704)에 도시된 바와 같이, 차선 추적 및 예측 모듈(105)은 피팅된 스플라인(708) 및 거리 기준 라인들(710a 내지 710f)의 제1 세트에 대해 차량(712)의 포지션을 전진시킬 수 있다. 예를 들어, 차선 추적 및 예측 모듈(105)은 포지션 모델(702)에 도시된 위치로부터 제1 거리 기준 라인(710a) 바로 위까지 차량(712)을 재배치할 수 있다. 추가적으로 또는 대안적으로, 차선 추적 및 예측 모듈(105)은 차량(712)을 이동시키지 않고 거리 기준 라인들(710a 내지 710f)의 제1 세트 및 피팅된 스플라인(708)을 집합적으로 시프트시킬 수 있다. 임의의 경우에, 차선 추적 및 예측 모듈(105)은 차량(712)이 재배치되면 위치 모델(706)에 도시된 바와 같이 피팅된 스플라인(708)을 확장시키도록 진행될 수 있다.
[00121] 포지션 모델(706)은 일반적으로 차량(712) 센서의 범위를 벗어난 거리의 차선 마킹 위치들의 차선 추적 및 예측 모듈(105)로부터의 예측을 나타낸다. 포지션 모델(706)은 차량(712), 거리 기준 라인들(710b 내지 710g)의 제2 세트 및 연장된 스플라인(714)을 포함한다. 단순화를 위해, 거리 기준 라인들(710b 내지 710g)의 제2 세트는 거리 기준 라인들(710a 내지 710f)의 제1 세트로부터의 몇몇 거리 기준 라인들(예를 들어, 710b 내지 710f)을 포함한다. 그러나, 거리 라인들(710b 내지 710g)(예를 들어, 710g)의 제2 세트 중 적어도 하나는 차선 추적 및 예측 모듈(105)이 포지션 모델(706)을 생성할 때 차량(712) 센서들의 범위를 벗어난 거리를 나타낼 수 있다. 따라서, 거리 기준 라인들(710b 내지 710g)의 제2 세트는 거리 기준 라인들(710a 내지 710g)의 제1 세트로부터의 거리 기준 라인들 중 일부를 포함하거나 전혀 포함하지 않을 수 있다는 것을 이해해야 한다.
[00122] 따라서, 차선 추적 및 예측 모듈(105)은 이전 차선 마킹 검출들 및 차선 마킹 위치들의 이전 예측들에 기반하여 차량(712) 센서들의 범위를 넘어 차선 마킹들의 위치를 예측하도록 구성될 수 있다. 예를 들어, 차선 추적 및 예측 모듈(105)은 차량(712) 및 피팅된 스플라인(708)의 전진 모션을 분석하여 차선 마킹들이 차량(712)에 대해 오른쪽으로 휘어져 있음을 인식할 수 있다. 이전의 차선 마킹 위치 예측들에 기반하여, 차선 추적 및 예측 모듈(105)은 이러한 곡률을 해석하여 임의의 장래에 검출된 차선 마킹들이 차량(712)의 위치에 대해 더 우측에 위치될 수 있음을 나타낼 수 있다.
[00123] 또한, 실시예들에서, 차선 추적 및 예측 모듈(105)은 피팅된 스플라인(708)을 이전의 스플라인과 유사한 것으로 인식할 수 있다. 예를 들어, 차선 추적 및 예측 모듈(105)은 위치 정보(예를 들어, GPS 좌표들) 및/또는 스플라인 비교 알고리즘(예를 들어, 스플라인 곡률, 스플라인 길이, 유사한 스플라인들의 수학적 공식 등을 비교)을 이용하여 피팅된 스플라인(708)을 이전 스플라인과 연관시킬 수 있다. 이러한 이전 스플라인이 식별되면, 차선 추적 및 예측 모듈(105)은 피팅된 스플라인(708)(예를 들어, 확장된 스플라인(714))과 관련된 임의의 예측들을 이전 스플라인의 예측된 스플라인 확장들 또는 관찰된 차선 마킹 위치들과 비교할 수 있다. 본원에 사용된 바와 같이, "이전" 또는 "유사한" 스플라인은 상술한 스플라인 생성 기법 및 본원에 설명된 예시적인 스플라인 확장 기법들에 의해 생성 및/또는 확장/예측된 예시적인 스플라인들 이전의 시간에 예를 들어, 차선 추적 및 예측 모듈(105)에 의해 생성된 스플라인을 참조할 수 있다.
[00124] 따라서, 차선 추적 및 예측 모듈(105)은 확장된 스플라인(714)을 생성하기 위해 이전 차선 마킹 검출들 및 차선 마킹 위치들의 이전 예측들을 이용할 수 있다. 실시예들에서, 확장된 스플라인(714)은 피팅된 스플라인(708) 및 확장된 스플라인 부분(예를 들어, 거리 라인들(710f 내지 710g) 사이에서 확장되는 확장된 스플라인(714)의 부분)을 포함할 수 있다. 대안적으로, 도시된 바와 같이, 확장된 스플라인(714)은 차선 추적 및 예측 모듈(105)에 의해 생성된 새로운 독립형 스플라인일 수 있다. 차선 추적 및 예측 모듈(105)은 예를 들어, 피팅된 스플라인(708)의 나머지 제어 지점들(예를 들어, 거리 라인들(710b 내지 710f) 내의 피팅된 스플라인(708) 제어 지점들)과 차량(712) 센서들의 도달을 넘어선 거리의 하나 이상의 예측된 제어 지점들 사이에 스플라인을 피팅함으로써, 확장된 스플라인(714)을 새로운 독립형 스플라인으로서 생성할 수 있다. 예측된 제어 지점들은 상술한 임의의 데이터에 기반하여 차선 마킹들의 가능성 있는 포지션들과 관련된 차선 추적 및 예측 모듈(105)의 예측을 나타낼 수 있다.
[00125] 차선 추적 및 예측 모듈(105)은 예측된 결과들(예를 들어, 확장된 스플라인(714))을 검출된 결과들과 비교함으로써 위에서 설명된 예측 기법들을 개선할 수 있다. 예를 들어, 위에서 설명된 예측들 이후의 어떤 시간에, 차량(712)은 거리 라인들(710a 및 710b) 사이의 갭에 의해 표현되는 거리를 횡단할 수 있다. 거리 라인들(710f, 710g) 사이의 갭으로 표현되는 거리 내의 물체들은 그 후 차량(712) 센서들의 범위 내에 있을 수 있다. 따라서, 차량(712)의 인지 구성 요소들(예를 들어, 차선 마킹 검출 모듈(104))은 이러한 물체들을 나타내는 데이터를 수신 및 분석하여 도로 상의 검출된 차선 마킹들에 대응하는 새로운 스플라인을 생성할 수 있다.
[00126] 일반적으로, 예측된 결과들을 검출된 결과들과 비교하는 것은 각각의 데이터 세트들을 가장 근접하게 나타내는 방식으로 결과들의 두 세트를 정량화하는 것을 포함한다. 이것은 검출된 결과들이 차량의 물리적 환경에서 차선 마킹들을 나타내는 픽셀들(예를 들어, 픽셀(601))일 수 있고, 예측된 결과들은 상술한 예측 기법들에 따라 휴리스틱(heuristic) 원리 및 이전 관찰들에서 추론된 데이터일 수 있기 때문에 어려운 것으로 판명될 수 있다. 따라서, 차선 추적 및 예측 모듈(105)은 예측된 결과들 및 검출된 결과들의 통계적 해석들을 이용하여 작동 가능한 수학적 공식을 달성할 수 있다.
[00127] 예를 들어, 도 7b를 참조하면, 차선 추적 및 예측 모듈(105)은 예측된 차선 마킹 포지션 모델(720)을 생성할 수 있다. 예측된 차선 마킹 포지션 모델(720)은 거리 라인들(722)의 세트를 포함할 수 있으며, 여기서 각각의 거리 라인은 차량으로부터의 떨어진 거리를 나타낸다. 예측된 차선 마킹 포지션 모델(720)은 또한 제1 예측된 스플라인(724a) 및 제2 예측된 스플라인(724b)을 포함할 수 있다. 제1 예측된 스플라인(724a) 및 제2 예측된 스플라인(724b) 각각의 전부 또는 일부는 도로 차선 마킹들의 예측된 위치들을 나타낼 수 있다. 위에서 언급한 바와 같이, 도로 차선 마킹들의 예측된 위치가 아닌 제1 예측된 스플라인(724a) 또는 제2 예측된 스플라인(724b) 중 어느 하나의 임의의 부분은 도로 차선 마킹들의 사전 검출된 위치들을 나타낼 수 있다.
[00128] 중요하게는, 제1 예측된 스플라인(724a) 및 제2 예측된 스플라인(724b)의 예측된 부분들은 차량 센서들로부터 수신된 데이터에 기반하지 않을 수 있다. 따라서, 차선 추적 및 예측 모듈(105)은 스플라인들의 예측된 부분들을 생성하는 데 사용되는 임의의 제어 지점들의 위치를 정확하게 나타내지 못할 수 있다. 그러나, 차선 추적 및 예측 모듈(105)은 분포 모델(730)에 도시된 바와 같이, 스플라인들(724a, 724b)의 분포 플롯들을 생성할 수 있다.
[00129] 분포 모델(730)은 유닛 라인들의 세트(732a) 및 횡방향 분할들의 세트(732b)를 포함할 수 있다. 유닛 라인들의 세트(732a)는 차선 추적 및 예측 모듈(105)의 분석의 맥락에서 측정을 위한 임의의 적절한 유닛의 이산 세트를 나타낼 수 있다. 예를 들어, 유닛 라인들의 세트(732a)는 횡방향 분할들의 각각의 쌍 내에 포함된 대응하는 스플라인(724a, 724b)의 퍼센티지 영역을 나타낼 수 있다.
[00130] 횡방향 분할들의 세트(732b)는 차량 센서 수평 관심 필드를 가로지르는 별개의 횡방향 거리들의 세트를 나타낼 수 있다. 예를 들어, 라이다 시스템이 도 3에 도시된 바와 같이 관심 필드를 스캐닝할 때, 차량의 인지 구성 요소들은 라이다 시스템의 각도 변위를 관심 필드를 가로질러 대응하는 횡방향 거리와 상관시킬 수 있다. 따라서, 차량의 인지 구성 요소들은 횡방향 분할들(732b)의 세트를 기록할 수 있고, 차선 추적 및 예측 모듈(105)은 분포 모델(730)을 생성할 때 유닛 라인의 세트(732a) 위에 횡방향 분할들의 세트(732b)를 오버레이(overlay)할 수 있다.
[00131] 유닛 라인들의 세트(732a) 및 횡방향 분할들의 세트(732b) 모두는 차량(예를 들어, 차량(712))에 대한 이산 거리를 나타내기 위해 차선 마킹 검출 모듈(104) 및/또는 차선 추적 및 예측 모듈(105)에 의해 생성된 디지털 구성들일 수 있다. 이러한 구성들(732a, 732b)은 예시의 목적으로만 사용되며, 차량의 실제 환경(예를 들어, 환경(380))에서 투영되거나 달리 렌더링되지 않을 수 있다.
[00132] 분포 모델(730)은 또한 분포들의 세트(734)를 포함할 수 있다. 분포들의 세트(734)는 제1 분포(736a) 및 제2 분포(736b)를 포함할 수 있다. 제1 분포(736a)는 제1 예측된 스플라인(724a)에 대응할 수 있고, 제2 분포(736b)는 제2 예측된 스플라인(724b)에 대응할 수 있다. 2 개의 분포(예를 들어, 736a, 736b)를 포함하는 것으로 도 7b에 도시되어 있지만, 차선 추적 및 예측 모듈(105)은 임의의 개수의 예측된 스플라인 및 대응하는 분포들을 생성할 수 있음을 이해해야 한다. 실시예들에서, 분포들의 세트(734)의 각각의 분포는 가우시안 커널(Gaussian kernel)일 수 있다. 또한, 실시예들에서, 분포들의 세트(734)의 각 분포는 각 분포가 동일한 영역을 둘러싸도록 정규화(normalize)될 수 있다.
[00133] 이러한 맥락에서, 제1 분포(736a)는 제1 예측된 스플라인(724a)에 "대응"한다고 할 수 있는데, 그 이유는 횡방향 분할들의 각각의 개별 쌍 내의 제1 분포(736a)에 의해 경계화된 영역의 각 퍼센티지가 횡방향 분할들의 각각의 개별 쌍에 의해 경계화된 제1 예측된 스플라인(724a)의 각 퍼센티지와 동일할 수 있기 때문이다. 예를 들어, 제2 예측된 스플라인(724b)이 유사하게 횡방향 분할들의 쌍 내의 스플라인의 많은 부분을 포함하므로, 제2 분포(736b)는 주로 횡방향 분할들의 한 쌍 내에 집중된 큰 피크 부분을 가질 수 있다. 도시된 바와 같이, 횡방향 분할들의 세트(732b)는 예측된 차선 마킹 포지션 모델(720)에 포함되지 않을 수 있다. 그럼에도 불구하고, 차선 추적 및 예측 모듈(105)은 분포 모델(730)을 생성하기 위해 예측된 차선 마킹 포지션 모델(720)을 분석할 때 횡방향 분할들의 세트(732b)를 생성하는 데 사용되는 데이터에 액세스할 수 있다.
[00134] 대응하여, 차량의 인지 구성 요소들은 업데이트된 포지션 모델(740)을 생성할 수 있다. 업데이트된 포지션 모델(740)은 거리 라인들의 세트(722), 횡방향 분할들의 세트(732b), 차선 마킹 표시자들의 제1 세트(742a) 및 차선 마킹 표시자들의 제2 세트(742b)를 포함할 수 있다. 차선 마킹 표시자들의 제1 세트(742a) 및 차선 마킹 표시자들의 제2 세트(742b)는 검출된 차선 마킹들의 위치들을 나타낼 수 있으며, 차선 마킹 검출 모듈(104)에 의해 생성되었을 수 있다. 도시된 바와 같이, 차선 마킹 표시자들의 제1 세트(742a) 및 차선 마킹 표시자들의 제2 세트(742b)에 포함된 차선 마킹 표시자들 각각은 횡방향 분할들의 쌍에 의해 정의된 바와 같이, 업데이트된 포지션 모델(740)의 영역 내에 속한다.
[00135] 유용하게도, 차선 마킹 표시자들의 제1 세트(742a) 및 차선 마킹 표시자들의 제2 세트(742b)는 쉽게 정량화될 수 있는 데이터 세트를 나타낸다. 차선 추적 및 예측 모듈(105)은 분포 모델(730)을 생성하는 것과 유사하게 횡방향 분할들의 세트(732b)를 이용하여 횡방향 분할들의 각각의 상들에 의해 정의되는 바와 같이, 업데이트된 포지션 모델(740)의 각각의 영역에 존재하는 차선 마킹 표시자들의 개수를 카운트할 수 있다. 각각의 차선 마킹 표시자가 카운트된 후, 차선 추적 및 예측 모듈(105)은 히스토그램 모델(750)에 의해 도시된 바와 같이, 데이터를 나타내기 위해 히스토그램을 생성할 수 있다.
[00136] 히스토그램 모델(750)은 유닛 라인들의 세트(752), 횡방향 분할들의 세트(732b) 및 히스토그램들의 세트(754)를 포함할 수 있다. 단위 라인들의 세트(752)는 횡방향 분할들의 각각의 쌍에 포함된 차선 마킹 표시자들의 개수를 나타낼 수 있다. 히스토그램들의 세트(754)는 제1 히스토그램(756a) 및 제2 히스토그램(756b)을 포함할 수 있다. 제1 히스토그램(756a)은 차선 마킹 표시자들의 제1 세트(742a)에 대응할 수 있고, 제2 분포(754b)는 차선 마킹 표시자들의 제2 세트(742b)에 대응할 수 있다. 2 개의 히스토그램(예를 들어, 756a, 756b)을 포함하는 것으로 도 7b에 도시되어 있지만, 차선 추적 및 예측 모듈(105)은 수신된 데이터 세트들(예를 들어, 742a, 742b)의 개수에 대응하는 임의의 적절한 개수의 히스토그램들을 생성할 수 있음을 이해해야 한다.
[00137] 이러한 맥락에서, 제1 히스토그램(756a)은 차선 마킹 표시자들의 제1 세트(742a)에 "대응"한다고 할 수 있는데, 그 이유는 횡방향 분할들의 각각의 쌍 내에 포함된 차선 마킹 표시자들의 제1 세트(742a)로부터의 차선 마킹 표시자들의 개수가 유닛 라인들의 세트(752)에 의해 나타낸 바와 같이, 횡방향 분할들의 각각의 쌍 내에 포함된 제1 히스토그램(756a)의 개별 막대의 높이와 동일할 수 있기 때문이다. 예를 들어, 제2 히스토그램(756b)은 횡방향 분할들의 쌍 내의 상이한 높이들의 3개의 막대를 포함할 수 있는데, 그 이유는 차선 마킹 표시자들의 제2 세트(742b)가 유사하게 횡방향 분할들의 쌍 내의 차선 마킹 표시자들의 상이한 개수를 포함하기 때문이다.
[00138] 분포들의 세트(734) 및 히스토그램들의 세트(754)의 생성에 이어, 차선 추적 및 예측 모듈(105)은 예측된 결과들(예를 들어, 분포들의 세트(734))을 검출된 결과들(예를 들어, 히스토그램들의 세트(754))와 비교하도록 진행할 수 있다. 실시예들에서, 차선 추적 및 예측 모듈(105)은 수학적으로 다음과 같이 표현되는 두 세트의 기능적 실시예를 컨벌빙함으로써 예측된 결과들을 검출된 결과들과 비교할 수 있다:
Figure pct00001
(1)
여기서, i는 예측된 결과들과 검출된 결과들의 각각의 스플라인을 나타내고, G(i)는 분포들의 세트(734)로부터의 분포를 나타내고, H(i)는 히스토그램들의 세트(754)로부터의 히스토그램을 나타내고, L은 예측된 결과들과 검출된 결과들에 포함된 모든 스플라인들에 대한 G(i) 및 H(i)의 컨벌루션으로부터의 우도 스코어를 나타낸다.
[00139] 일반적으로, 우도 스코어 L은 예측된 결과들과 검출된 결과들 사이의 핏-품질(quality-of-fit)을 나타낼 수 있다. 예측된 결과들과 검출된 결과들 간의 오버랩이 높을수록, 우도 스코어 L이 높을 수 있다. 예를 들어, 차선 추적 및 예측 모듈(105)이 결과적인 검출된 결과들(예를 들어, 차선 마킹 표시자들의 제1 세트(742a) 및 차선 마킹 표시자들의 제2 세트(742b))과 비교하였을 때 높은 우도 스코어 L을 산출하는 예측된 스플라인들의 세트(예를 들어, 제1 예측된 스플라인(724a) 및 제2 예측된 스플라인(724b))를 생성하는 것으로 가정한다. 높은 우도 스코어 L은 차선 추적 및 예측 모듈(105)이 차선 마킹 위치들의 매우 근접한 근사값을 생성했음을 나타낼 수 있고, 결과적으로 차선 추적이 예측 모듈(105)은 높은 우도 스코어 L을 사용하여 장래의 예측들에 영향을 미칠 수 있다. 유사하게, 차선 추적 및 예측 모듈(105)은 임의의 적절한 개수의 임의의 품질의 우도 스코어 L(예를 들어, 높은 우도 스코어, 평균/중간 우도 스코어, 낮은 우도 스코어)을 이용하여 임의의 후속 예측들에 영향을 미칠 수 있다.
[00140] 위에서 설명된 차선 검출 기능을 수행하기 위해, 컴퓨팅 시스템(예를 들어, 차선 마킹 검출 모듈(104))은 도 8에 도시된 흐름도에 따라 방법(800)을 구현할 수 있다. 본 방법(800)은 차선 마킹들과 연관된 픽셀들의 세트를 수신함으로써 시작된다(블록 802). 예를 들어, 도 1의 차선 마킹 검출 모듈(104)은 하나 이상의 센서(101)로부터 픽셀들의 세트를 수신할 수 있다. 하나 이상의 센서들(101)이 픽셀들의 세트 중 각각의 픽셀을 자동으로 카테고리화할 수 있어, 차선 마킹 검출 모듈(104)은 차선 마킹들과 연관된 픽셀들을 인식할 수 있다. 추가적으로 또는 대안적으로, 차선 마킹 검출 모듈(104)은 차량 환경으로부터 다양한 물체들을 포함하는 픽셀들의 세트를 수신할 수 있고, 차선 마킹 검출 모듈(104)은 이후 차선 마킹들과 연관된 픽셀들을 카테고리화할 수 있다. 블록 802는 예를 들어, 도 1의 차선 마킹 검출 모듈(104) 또는 임의의 적절한 프로세서에 의해 수행될 수 있다.
[00141] 블록 804에서, 차선 마킹 검출 모듈(104) 또는 적절한 프로세서는 픽셀들의 세트를 복수의 그룹들로 파티셔닝할 수 있다. 복수의 그룹들 각각은 하나 이상의 제어 지점들과 연관될 수 있다. 차선 마킹 검출 모듈(104) 또는 다른 적절한 프로세서는 임의의 적절한 방식으로 픽셀들의 세트를 파티셔닝할 수 있다.
[00142] 예를 들어, 실시예들에서, 차선 마킹 검출 모듈(104) 또는 적절한 프로세서는 픽셀들의 세트로부터의 픽셀들을 픽셀들의 하나 이상의 링크된 섹션들로 반복적으로 링크함으로써 픽셀들의 세트를 파티셔닝하는 것을 시작할 수 있다(예를 들어, 도 6b 내지 도 6d에 도시됨). 차선 마킹 검출 모듈(104)은 그 후 픽셀들의 하나 이상의 링크된 섹션들의 각각의 링크된 섹션에 대한 주요 구성 요소를 결정할 수 있다(예를 들어, 도 6f에 도시됨). 각각의 주요 구성 요소는 하나 이상의 제어 지점들 중의 제어 지점을 포함할 수 있다. 일반적으로, 픽셀들의 각각의 링크된 섹션에 대한 주요 구성 요소는 하나 이상의 제어 지점들에 의해 픽셀들의 링크된 섹션에 포함된 지점을 연결하기에 적절한 라인 또는 임의의 다른 고차 곡선일 수 있다. 실시예들에서, 픽셀들의 각각의 링크된 섹션에 대한 주요 구성 요소는 픽셀들의 각각의 링크된 섹션에 대한 제어 지점들에 의해 경계화될 수 있다.
[00143] 이전 예에 계속해서, 그리고 실시예들에서, 차선 마킹 검출 모듈(104) 또는 적절한 프로세서는 각각의 주요 구성 요소에 대응하는 각각의 제어 지점들에 기반하여 제어 지점들의 세트를 정의할 수 있다. 차선 마킹 검출 모듈(104)은 (예를 들어, 도 6g에 도시된 바와 같이) 그 후 픽셀들의 링크된 섹션들을 연결하기 위해 연관 알고리즘을 실행할 수 있다. 연관 알고리즘은 제어 지점들의 각각의 쌍들 사이의 끝점 각도와 제어 지점들의 각각의 쌍들 사이의 끝점 거리를 결정하는 것을 포함할 수 있다. 따라서, 차선 마킹 검출 모듈(104)은 픽셀들의 다른 링크된 섹션들에 대한 제어 지점들의 쌍들을 식별하여 제어 지점들의 각각의 쌍 사이의 거리 및 각도들을 결정할 수 있다. 차선 마킹 검출 모듈(104)은 그 후 제어 지점들의 각각의 개별 쌍에 대한 끝점 각도를 임계 끝점 각도와 비교하고 제어 지점들의 각각의 개별 쌍에 대한 끝점 거리를 임계 끝점 거리와 비교할 수 있다. (i) 제어 지점들의 각각의 쌍에 대한 끝점 거리가 임계 끝점 거리 이하이고 (ii) 제어 지점들의 각각의 쌍에 대한 끝점 각도가 임계 끝점 각도 이하인 것으로 결정하는 것에 응답하여, 차선 마킹 검출 모듈(104)은 각각의 제어 지점들을 통해 픽셀들의 링크된 섹션들을 연관(예를 들어, 연결)시킬 수 있다.
[00144] 다른 예로서, 차선 마킹 검출 모듈(104) 또는 적절한 프로세서는 링크 알고리즘을 실행함으로써 픽셀들의 세트를 파티셔닝하는 것을 시작할 수 있다. 링크 알고리즘은 픽셀들의 세트의 제1 픽셀 주위에 바운딩 박스를 생성하는 것을 포함할 수 있다. 실시예들에서, 바운딩 박스는 직사각형일 수 있고, 제1 픽셀에 대한 순방향 바이어스를 포함할 수 있다. 위에서 언급한 바와 같이, 차선 마킹 검출 모듈(104)은 차량으로부터 주행 방향으로(예를 들어, 멀어지게) 확장되는 방향으로 픽셀들을 링크할 수 있다. 따라서, 차선 마킹 검출 모듈(104)은 차량의 모션과 관련하여 가능한 관심 영역을 설명하기 위해 순방향 바이어스를 갖는 바운딩 박스를 생성할 수 있다.
[00145] 이 예에 추가하여, 그런 다음, 차선 마킹 검출 모듈(104)은 제2 픽셀을 찾기 위해 바운딩 박스에 의해 둘러싸이는 영역을 스캐닝할 수 있다. 제2 픽셀은 (차량의 모션과 관련하여) 제1 픽셀 바로 앞에 위치될 수 있거나, 제2 픽셀은 바운딩 박스 내에 남아 있는 동안 제1 픽셀 바로 앞에서 임의의 양만큼 변위될 수 있다. 또한, 바운딩 박스는 복수의 픽셀을 포함할 수 있어, 차선 마킹 검출 모듈(104)은 제1 픽셀 이외의 복수의 픽셀로부터 제2 픽셀을 결정할 수 있다. 해당 예에서, 차선 마킹 검출 모듈(104)은 예를 들어, 제1 픽셀로부터 바운딩 박스 내의 서로의 픽셀의 거리에 기반하여 제2 픽셀을 결정할 수 있다. 차선 마킹 검출 모듈(104)은 제1 픽셀로부터 최단 거리에 있는 다른 픽셀이 제2 픽셀임을 자동으로 결정할 수 있다. 그러나, 차선 마킹 검출 모듈(104)은 임의의 적절한 방식으로 제2 픽셀을 결정할 수 있다는 것을 이해해야 한다.
[00146] 제2 픽셀을 결정한 후, 차선 마킹 검출 모듈(104)은 제1 픽셀과 제2 픽셀을 링크할 수 있다. 픽셀들의 세트에 포함된 각 픽셀이 적어도 하나의 다른 픽셀에 링크되는 것을 보장하기 위해, 차선 마킹 검출 모듈(104)은 픽셀들의 세트의 각 픽셀이 픽셀들의 세트의 다른 픽셀에 링크될 때까지 링크 알고리즘을 반복적으로 수행할 수 있다. 실시예들에서, 차선 마킹 검출 모듈(104)은 픽셀들의 세트의 각 픽셀을 픽셀들의 세트의 최대 2개의 다른 픽셀에만 링크할 수 있다.
[00147] 또한, 실시예들에서, 차선 마킹 검출 모듈(104)은 픽셀들의 링크된 섹션들을 파티셔닝하기 위해 파티셔닝 알고리즘을 실행할 수 있다. 파티셔닝 알고리즘은 픽셀들의 세트의 시작 픽셀과 픽셀들의 세트의 끝 픽셀 사이에 라인을 구성하는 것을 포함할 수 있다(예를 들어, 도 6e에 도시됨). 차선 마킹 검출 모듈(104)은 그 후 라인으로부터 시작 픽셀과 끝 픽셀 사이의 각 픽셀의 거리를 결정할 수 있다. 각 픽셀에 대응하는 거리에 기반하여, 차선 마킹 검출 모듈(104)은 시작 픽셀과 끝 픽셀 사이의 각 픽셀을 복수의 그룹 중 하나의 그룹으로 파티셔닝할 수 있다. 또한, 차선 마킹 검출 모듈(104)은 픽셀들의 세트의 각 픽셀이 복수의 그룹 중 하나의 그룹에 포함될 때까지 파티셔닝 알고리즘을 반복적으로 수행한다.
[00148] 블록 806에서, 차선 마킹 검출 모듈(104) 또는 다른 적절한 프로세서는 복수의 그룹들의 제어 지점들을 횡단하는 스플라인을 생성할 수 있다. 일반적으로, 스플라인은 차선의 경계를 설명한다. 스플라인은 라인 또는 임의의 고차 곡선일 수 있으며, 임의의 적절한 스플라인 기법에 의해 생성될 수 있다. 예를 들어, 차선 마킹 검출 모듈(104)은 하나 이상의 제어 지점들만을 이용하는 스플라인 기법을 실행할 수 있다. 실시예들에서, 스플라인 기법은 캣멀-롬 스플라인 기법일 수 있다. 이러한 방식으로, 차선 마킹 검출 모듈(104)은 통상의 기법들에 비해 스플라이닝 프로세스에서 사용되는 지점들의 수를 줄임으로써 차선 마킹들을 식별하는 데 필요한 계산 자원들을 크게 감소시킨다.
[00149] 그러나, 실시예들에서, 컴퓨팅 시스템(예를 들어, 차선 마킹 검출 모듈(104))은 도 6c에 도시된 것과 유사한 방식으로 수신된 픽셀들을 함께 링크할 수 있다. 따라서, 컴퓨팅 시스템은 도 9에 도시된 흐름도에 따라 방법(900)을 구현할 수 있다. 방법(900)은 도로 표면의 이미지를 수신함으로써 시작되며, 여기서 이미지는 복수의 픽셀로 구성된다(블록 902). 블록 902는 예를 들어, 도 1의 차선 마킹 검출 모듈(104) 또는 임의의 적절한 프로세서에 의해 수행될 수 있다.
[00150] 이미지는 차선 마킹들의 복수의 세트(예를 들어, 차선들의 복수의 쌍들을 정의)에 대응하는 픽셀들을 포함할 수 있어, 차선 마킹 검출 모듈(104)이 복수의 픽셀의 그룹을 생성해야 하다. 따라서, 블록 904에서, 차선 마킹 검출 모듈(104)은 차선 마킹들에 대응하는 차선 마킹 픽셀들을 식별함으로써 픽셀들의 복수의 그룹을 결정하는 것을 시작할 수 있다. 차선 마킹 검출 모듈(104)은 임의의 적절한 방법을 통해 차선 마킹 픽셀들을 식별할 수 있지만, 실시예들에서, 기계 학습 모델을 이미지에 적용할 수 있다. 기계 학습 모델은 이미지의 어떤 픽셀들이 픽셀들의 제1 그룹 또는 픽셀들의 제2 그룹과 연관될 것인지 예측하도록 구성될 수 있다. 추가적으로 또는 대안적으로, 차선 마킹 검출 모듈(104)은 차선 마킹들에 대응하는, 이미지 내의 픽셀들에 관한, 오퍼레이터로부터의 표시들을 적용할 수 있다.
[00151] 차선 마킹 픽셀들이 식별되면, 차선 마킹 검출 모듈(104)은 차선 마킹 픽셀들에 대한 좌측 경계 및 우측 경계를 추정할 수 있다(블록 906). 좌측 및 우측 경계들은 실질적으로 차선 마킹 픽셀들에 의해 나타내어지는 차선의 방향과 실질적으로 정렬될 수 있다. 예를 들어, 차선 마킹 검출 모듈(104)은 위에 언급한 기계 학습 모델을 사용하여 각각의 예측들을 생성함으로써 각각의 그룹에 대한 좌측 및 우측 경계들을 추정할 수 있다. 추가로 이 예에서, 차선 마킹 검출 모듈(104)은 도로 세그먼트화와 관련된 예측들과 동시에 좌측 및 우측 경계들과 관련된 예측들을 생성하도록 기계 학습 모델을 구성할 수 있다. 따라서, 차선 마킹 검출 모듈(104)은 도로 세그먼트화 및 차선 경계 예측 기능들을 병렬로 수행함으로써 차선 마킹들을 보다 효율적으로 결정할 수 있다.
[00152] 일반적으로, 세그먼트화는 이미지를 복수의 세그먼트로 파티셔닝하는 것을 말하며, 각각은 동일한 물체 또는 이미지의 일부를 묘사할 가능성이 높다. 보다 구체적으로, 도로 세그먼트화는 도로의 일부(예를 들어, 고속도로, 다리 등)를 나타낼 가능성이 있는 부근 픽셀들의 세트를 결정하는 것을 지칭한다. 따라서, 차선 마킹 검출 모듈(104)은 예를 들어, 자동차 타이어를 묘사할 가능성이 있는 부근의 픽셀로부터 고속도로의 표면을 묘사할 가능성이 있는 픽셀을 분리하기 위해 세그먼트화를 수행할 수 있어, 이러한 픽셀들은 후속 이미지 프로세싱의 목적을 위해 다른 세그먼트에 속한다.
[00153] 블록 908에서, 차선 마킹 검출 모듈(104)은 좌측 경계 및 우측 경계 내의 픽셀들을 대응하는 그룹과 연관시킬 수 있다. 예를 들어, 차선 마킹 검출 모듈(104)은 차선들의 제1 쌍을 분리하는 차선 마킹들과 연관된 픽셀들의 제1 그룹 또는 차선들의 제2 쌍을 분리하는 차선 마킹들과 연관된 픽셀들의 제2 그룹을 연관시킬 수 있다. 실시예들에서, 차선 마킹 검출 모듈(104)은 초기에 차선 마킹 픽셀만을 포함하는 클러스터들을 성장시키기 위해 영역 성장 알고리즘을 적용할 수 있다. 또한, 차선 마킹 검출 모듈(104)은 영역 성장 알고리즘을 제한하여 제1 그룹의 픽셀들이 제2 그룹의 어느 경계를 교차하는 것을 방지할 수 있다.
[00154] 다른 예로서, 도로 표면의 이미지가 차선들의 배향에 실질적으로 수직인 복수의 행을 포함한다고 가정한다. 특정 행의 차선 마킹 픽셀에 대해, 차선 마킹 검출 모듈(104)은 인접 행의 어느 다음-행 픽셀에 그 픽셀이 연결되는지 추정할 수 있다. 일반적으로, 다음-행 픽셀은 (i) 차선 마킹 픽셀 바로 아래, (ii) 마킹 픽셀 바로 아래 및 좌측에 1 픽셀, 또는 (iii) 마킹 픽셀의 바로 아래 및 우측에 1 픽셀일 수 있지만; 마킹 픽셀로부터의 임의의 적절한 변위가 될 수 있다. 차선 마킹 검출 모듈(104)은 그 후 연결된 픽셀들을 따라 제1 그룹 또는 제2 그룹과 연관된 픽셀들의 클러스터들을 성장시킬 수 있다.
[00155] 추가적으로 또는 대안적으로, 차선 마킹 검출 모듈(104)은 (i) 이전의 복수의 픽셀 및 (ii) 제1 인접-행 픽셀이 (a) 제2 인접-행 픽셀 바로 아래, (b) 제2 인접-행 픽셀의 바로 아래 및 좌측에 1 픽셀 또는 (c) 제2 인접-행 픽셀 바로 아래 및 우측에 1 픽셀인 경우 이전의 복수의 픽셀의 제1 인접-행 픽셀 및 제2 인접-행 픽셀이 연결된다는 하나 이상의 표시를 사용하여 훈련된 기계-학습 모델을 적용할 수 있다.
[00156] 임의의 경우에, 본 개시내용의 컴퓨팅 시스템들은 차선 마킹들의 위치를 예측 및/또는 추적하기 위해 상술한 스플라인 생성 기법들을 이용할 수 있다. 차선 마킹들의 위치를 예측 및/또는 추적하는 것은 도 10에 도시된 흐름도에 따라 방법(1000)을 구현하는 컴퓨팅 시스템을 수반할 수 있다. 본 방법(1000)은 차선 마킹과 연관된 픽셀들의 세트를 수신함으로써 시작된다(블록 1002). 예를 들어, 컴퓨팅 시스템(예를 들어, 차선 마킹 검출 모듈(104))은 상술한 방법들에 따라 픽셀들의 세트를 수신할 수 있다. 유사하게, 상술한 방법들에 따르면, 차선 마킹 검출 모듈(104)은 픽셀들의 세트에 기반하여 차선의 경계를 설명하는 스플라인을 생성할 수 있다(블록 1004).
[00157] 블록 1006에서, 컴퓨팅 시스템(예를 들어, 차선 추적 및 예측 모듈(105))은 이미징 시스템이 이동하는 방향으로 스플라인의 예측된 확장을 생성할 수 있다. 스플라인의 예측된 확장은 스플라인의 적어도 일부의 곡률에 기반할 수 있다. 또한, 스플라인의 예측된 확장은 도로의 형상, 방향 또는 곡률에 대한 정보를 포함하는 맵 데이터에 추가로 기반할 수 있다. 예를 들어, 맵 데이터는 전방 도로가 우측으로 휘어짐을 나타낼 수 있으며, 따라서, 우측으로의 곡률이 스플라인의 예측된 확장에 적용될 수 있다. 실시예들에서, 픽셀들의 세트는 도로의 제1 부분에 대해 제1 시간에 생성된 픽셀들의 제1 세트일 수 있다. 이러한 실시예들에서, 차선 마킹 검출 모듈(104)은 예를 들어, 하나 이상의 센서(101)로부터 차선 마킹들과 연관된 픽셀들의 제2 세트를 수신할 수 있다. 그 후, 차선 마킹 검출 모듈(104)은 차선의 경계를 설명하는 업데이트된 스플라인을 생성하고, 스플라인의 예측된 확장을 업데이트된 스플라인과 비교하여 우도 스코어를 결정할 수 있다.
[00158] 상술한 바와 같이, 차선 마킹 검출 모듈(104)은 (i) 업데이트된 스플라인으로부터 도출된 가우시안 커널 및 (ii) 픽셀들의 제2 세트를 나타내는 히스토그램의 각각의 값들을 컨벌빙함으로써 우도 스코어를 결정할 수 있다. 또한, 업데이트된 스플라인은 복수의 업데이트된 스플라인을 포함할 수 있어, 컨벌루션이 컨벌빙된 값들의 세트를 생성한다. 그 후, 차선 마킹 검출 모듈(104)은 컨벌빙된 값들의 세트에 걸쳐 합산함으로서 우도 스코어를 결정할 수 있다.
[00159] 실시예들에서, 차선 추적 및 예측 모듈(105)은 이미징 시스템이 이동하는 방향으로 스플라인의 예측된 복수의 확장을 생성할 수 있다. 차선 추적 및 예측 모듈(105)은 스플라인의 적어도 일부의 곡률에 기반하여 복수의 예측된 확장을 생성할 수 있다. 추가로 이러한 실시예들에서, 차선 추적 및 예측 모듈(105)은 기계 학습 모델을 사용하여 복수의 예측된 확장들을 생성하고, 스플라인의 복수의 예측된 확장들 각각을 업데이트된 스플라인과 비교하여 복수의 우도 스코어들을 결정할 수 있다. 차선 추적 및 예측 모듈(105)은 그 후 복수의 우도 스코어들을 분석함으로써 기계 학습 모델을 조정할 수 있다.
[00160] 실시예들에서, 차선 추적 및 예측 모듈(105)은 입자-필터(particle-filter) 기법을 적용하여 스플라인의 예측된 확장을 생성할 수 있다. 대체로, 차선 추적 및 예측 모듈(105)은 차량 센서의 범위를 넘어 위치하는 차선 마킹들과 연관된 픽셀들의 위치를 예측할 수 있고 스플라인들의 연관된 이전의 예측된 확장들과 비교하여 차선 마킹 위치들의 이전 관측들에 기반하여 스플라인의 예측된 확장의 기하 형태를 추정할 수 있다. 입자-필터 기법은 복수의 예측된 스플라인들을 생성하는 것을 포함할 수 있으며, 여기서 각각의 예측된 스플라인은 (i) 제1 스플라인 및 (ii) 제1 스플라인의 예측된 확장들을 포함한다. 각각의 제1 스플라인은 차선 마킹들과 연관된 수신된 픽셀들의 세트에 기반하여 생성될 수 있고, 제1 스플라인의 각각의 예측된 확장은 제1 스플라인의 적어도 일부의 곡률에 적어도 부분적으로 기반할 수 있다. 각각의 예측된 스플라인은 입자로 지칭될 수 있고, 각각의 예측된 스플라인들에 대해 우도 스코어가 결정될 수 있다. 복수의 예측된 스플라인들은 이들의 연관된 우도 스코어들에 기반하여 함께 결합될 수 있고, 결합된 스플라인은 예측된 차선 경계에 대응할 수 있다. 예를 들어, 복수의 예측된 스플라인들은 예측된 값 또는 가중 평균에 기반하여 함께 결합될 수 있으며, 여기서 각각의 예측된 스플라인은 자신의 우도 스코어에 따라 가중화된다. 이전 반복으로부터의 입자 중 적어도 일부는 후속 차선-경계 예측에 대응하는 후속의 결합된 스플라인을 예측하기 위해 (지점 클라우드 데이터의 후속 세트와 함께) 후속 반복에서 사용될 수 있다.
[00161] 실시예들에서, 차선 추적 및 예측 모듈(105)은 스플라인의 예측된 확장에 잡음 신호를 적용할 수 있다. 복수의 예측된 스플라인이 생성될 수 있으며, 여기서 각각의 예측된 스플라인은 (i) 제1 스플라인 및 (ii) 제1 스플라인의 예측된 확장을 포함한다. 잡음 신호 형태의 섭동이 각각의 제1 스플라인들 및/또는 예측된 확장들의 각각에 추가될 수 있다. 잡음 신호는 예측된 확장들의 각각에 적용될 수 있으며, 예측된 확장들의 곡률량의 변화를 포함할 수 있다. 예를 들어, 예측된 확장들 중 일부에 곡률 증가가 적용될 수 있고, 다른 예측된 확장들에 곡률 감소가 적용될 수 있다. 예측된 확장들로부터 곡률을 추가하거나 제거하는 잡음 신호는 해당 순간에 곡률의 변화가 알려지지 않은 전방 차선의 변화하는 곡률을 설명할 수 있다. 다른 예로서, 전방 도로의 형상, 방향 또는 곡률을 나타내는 맵 데이터가 이용 가능하다면, 잡음 신호는 맵 데이터에 기반하여 바이어싱되거나 시프트될 수 있다. 예를 들어, 맵 데이터가 전방 도로가 좌측으로 휘어져 있음을 나타내는 경우, 잡음 신호는 예측된 확장들에 좌측 방향으로의 바이어스를 갖는 곡률을 적용하도록 구성될 수 있다.
[00162] 도로 상의 차선들의 경계들을 검출하기 위한 방법에 관한 다양한 예시적인 양상들이 아래에서 설명된다.
[00163] 양상 1. 도로 상의 차선들의 경계들을 검출하기 위한 방법으로서, 본 방법은, 하나 이상의 프로세서들에 의해, 이미징 시스템으로부터, 차선 마킹들과 연관된 픽셀들의 세트를 수신하는 단계; 하나 이상의 프로세서들에 의해, 픽셀들의 세트를 복수의 그룹들로 파티셔닝하는 단계 ― 상기 복수의 그룹들 각각은 하나 이상의 제어 지점들과 연관됨 ―; 및 하나 이상의 프로세서들에 의해, 복수의 그룹들의 제어 지점들을 횡단하는 스플라인을 생성하는 단계 ― 스플라인은 차선의 경계를 설명함 ―를 포함한다.
[00164] 양상 2. 양상 1의 방법에 있어서, 픽셀들의 세트를 복수의 그룹들로 파티셔닝하는 단계는, 하나 이상의 프로세서들에 의해, 픽셀들의 세트로부터의 픽셀들의 하나 이상의 링크된 섹션들로 픽셀들을 반복적으로 링크하는 단계; 및 하나 이상의 프로세서들에 의해, 픽셀들의 하나 이상의 링크된 섹션을 복수의 그룹들로 파티셔닝하는 단계를 추가로 포함한다.
[00165] 양상 3. 양상 2의 방법에 있어서, 픽셀들의 링크된 섹션을 복수의 그룹들로 파티셔닝하는 단계는, 하나 이상의 프로세서들에 의해, 복수의 그룹들의 각각의 그룹에 대한 주요 구성 요소를 결정하는 단계 ― 각각의 주요 구성 요소는 하나 이상의 제어 지점들 중 적어도 하나의 제어 지점을 포함함 ―; 및 하나 이상의 프로세서들에 의해, 각각의 주요 구성 요소에 기반하여 복수의 그룹들의 그룹들을 연관시키는 단계를 추가로 포함한다.
[00166] 양상 4. 양상 3의 방법에 있어서, 각각의 그룹에 대한 주요 구성 요소를 결정하는 단계는 하나 이상의 프로세서들에 의해, 주요 구성 요소 라인을 각각의 그룹에 포함된 픽셀들에 피팅(fitting)하는 단계를 추가로 포함하고, 주요 구성 요소 라인은 2 개의 제어 지점에 의해 경계화된다.
[00167] 양상 5. 양상 4의 방법에 있어서, 각각의 주요 구성 요소에 대응하는 각각의 2 개의 제어 지점은 제어 지점들의 세트를 정의하고, 픽셀들의 세트를 복수의 그룹들로 파티셔닝하는 단계는 하나 이상의 프로세서들에 의해 연관 알고리즘을 실행시키는 단계를 추가로 포함하고, 연관 알고리즘은 2 개의 상이한 그룹으로부터 제어 지점들의 각각의 쌍들 사이의 종점 거리를 결정하는 단계; 제어 지점들의 각각의 개별 쌍에 대한 종점 거리를 최소 임계 종점 거리와 비교하는 단계; 및 제어 지점들의 각각의 쌍에 대한 종점 거리가 최소 임계 종점 거리 이하인 것으로 결정하는 것에 응답하여, 제어 지점들의 각각의 쌍들을 포함하는 2 개의 그룹을 연관시키는 단계를 포함한다.
[00168] 양상 6. 양상 4의 방법에 있어서, 연관 알고리즘은 제어 지점들의 각각의 쌍들 사이의 종점 각도를 결정하는 단계; (i) 제어 지점들의 각각의 개별 쌍에 대한 종점 각도를 임계 종점 각도와 비교하고 (ii) 제어 지점들의 각각의 개별 쌍에 대한 종점 거리를 최소 임계 종점 거리 및 최대 임계 종점 거리와 비교하는 단계; 및 (i) 제어 지점들의 각각의 쌍에 대한 종점 각도가 임계 종점 각도 이하이고 (ii) 제어 지점들의 각각의 쌍에 대한 종점 거리가 최소 임계 종점 거리 초과이고 최대 임계 종점 거리 미만이라는 결정에 응답하여, 제어 지점들의 각각의 쌍들을 포함하는 2 개의 그룹을 연관시키는 단계를 추가로 포함한다.
[00169] 양상 7. 양상 4의 방법에 있어서, 각각의 주요 구성 요소에 대응하는 각각의 2 개의 제어 지점은 제어 지점들의 세트를 정의하고, 픽셀들의 세트를 복수의 그룹들로 파티셔닝하는 단계는 하나 이상의 프로세서들에 의해, 그래프-기반 연관 알고리즘을 실행시키는 단계를 추가로 포함하고, 연관 알고리즘은 제어 지점들의 세트의 각각의 제어 지점을 그래프의 노드에 할당하는 단계; 그래프의 노드들의 각각의 쌍 사이에 에지를 형성하는 단계; 그래프의 각각의 에지에 대한 비용을 결정하는 단계; 소스 노드 및 타겟 노드를 그래프에 추가하는 단계; 및 소스 노드로부터 타겟 노드로 그래프를 횡단하는 하나 이상의 저비용 경로를 결정하는 단계를 포함하고, 저비용 경로들의 각각에 따른 제어 지점들은 차선에 대응한다.
[00170] 양상 8. 양상 7의 방법에 있어서, 그래프의 노드들의 각각의 쌍 사이에 에지를 형성하는 단계는 노드들의 쌍 사이에 스플라인을 피팅(fitting)하는 단계에 대응한다.
[00171] 양상 9. 양상 7의 방법에 있어서, 각각의 에지에 대한 비용을 결정하는 단계는, 도로 장벽을 가로지르는 에지에 대해 더 높은 비용을 할당하는 단계; 하나 이상의 차선 마킹을 따르는 에지에 더 낮은 비용을 할당하는 단계; 또는 주행 환경 측면에서 높은 선명도에 대응하는 에지에 더 높은 비용을 할당하는 단계 중 하나 이상을 포함한다.
[00172] 양상 10. 양상 1의 방법에 있어서, 픽셀들의 세트를 복수의 그룹들로 파티셔닝하는 단계는 하나 이상의 프로세서들에 의해, 링크 알고리즘을 실행시키는 단계를 추가로 포함하고, 링크 알고리즘은 하나 이상의 프로세서들에 의해, 픽셀들의 세트의 제1 픽셀 주위의 바운딩 박스를 생성하는 단계; 하나 이상의 프로세서들에 의해, 제2 픽셀을 찾기 위해 바운딩 박스에 의해 둘러싸이는 영역을 스캐닝하는 단계; 및 하나 이상의 프로세서들에 의해, 제1 픽셀 및 제2 픽셀을 링크하는 단계를 포함한다.
[00173] 양상 11. 양상 10의 방법에 있어서, 바운딩 박스는 직사각형이고, 바운딩 박스는 제1 픽셀에 대해 순방향 바이어스를 포함한다.
[00174] 양상 12. 양상 10의 방법에 있어서, 하나 이상의 프로세서들에 의해, 픽셀들의 세트의 각각의 픽셀이 픽셀들의 세트의 다른 픽셀에 링크될 때까지 링크 알고리즘을 반복적으로 수행하는 단계를 추가로 포함하고, 픽셀들의 세트의 각각의 픽셀은 픽셀들의 세트의 최대 2 개의 다른 픽셀에 링크되고 픽셀들의 세트의 각각의 픽셀은 픽셀들의 하나 이상의 링크된 섹션 중 하나의 일부이다.
[00175] 양상 13. 양상 1의 방법에 있어서, 픽셀들 세트를 복수의 그룹들로 파티셔닝하는 단계는 하나 이상의 프로세서들에 의해, 파티셔닝 알고리즘을 실행시키는 단계를 추가로 포함하고, 파티셔닝 알고리즘은, 하나 이상의 프로세서들에 의해, 픽셀들의 링크된 섹션의 시작 픽셀과 픽셀들의 링크된 섹션의 끝 픽셀 사이의 라인을 구성하는 단계; 하나 이상의 프로세서들에 의해, 라인으로부터 시작 픽셀과 끝 픽셀 사이의 각각의 픽셀의 거리를 결정하는 단계; 하나 이상의 프로세서들에 의해, 임계 수보다 많은 픽셀이 라인으로부터 임계 거리를 넘어 위치되는 것으로 결정하는 단계; 및 하나 이상의 프로세서들에 의해 그리고 임계 수보다 큰 픽셀이 임계 거리를 넘어 위치된다는 결정에 응답하여 픽셀들의 링크된 섹션을 픽셀들의 2 개 이상의 개별 링크된 섹션들로 분리하는 단계를 포함한다.
[00176] 양상 14. 양상 13의 방법에 있어서, 하나 이상의 프로세서들에 의해, 픽셀들의 세트의 각각의 픽셀이 복수의 그룹 중 하나의 그룹에 포함될 때까지 파티셔닝 알고리즘을 반복적으로 수행하는 단계를 추가로 포함한다.
[00177] 양상 15. 양상 1의 방법에 있어서, 스플라인을 생성하는 단계는 하나 이상의 프로세서들에 의해, 스플라인 기법을 실행시키는 단계를 추가로 포함하고, 스플라인 기법은 하나 이상의 제어 지점들만을 이용한다.
[00178] 양상 16. 양상 15의 방법에 있어서, 스플라인 기법이 캣멀-롬(Catmull-Rom) 스플라인 기법이다.
[00179] 양상 17. 양상 1의 방법에 있어서, 차선 마킹들과 연관된 픽셀들의 세트를 식별하는 단계를 추가로 포함하고, 하나 이상의 프로세서들에 의해, 이미징 시스템으로부터, 도로 표면의 이미지 ― 이미지는 픽셀들의 세트로 구성됨 ―를 수신하는 단계; 및 하나 이상의 프로세서들에 의해, 픽셀들의 세트 내에서 차선들의 제1 쌍을 분리하는 차선 마킹들과 연관된 픽셀들의 제1 그룹 및 차선들이 제2 쌍을 분리하는 차선 마킹들과 연관된 픽셀들의 제2 그룹을 결정하는 단계를 포함하고, 제1 그룹 및 제2 그룹의 각각에 대해, 차선 마킹들에 대응하는 차선 마킹 픽셀들을 식별하는 단계, 좌측 및 우측 경계들이 차선 마킹 픽셀들에 의해 표시되는 차선의 방향으로 실질적으로 정렬되도록 차선 마킹 픽셀들에 대해 좌측 경계 및 우측 경계를 추정하는 단계, 및 좌측 경계 및 우측 경계 내의 픽셀들을 대응하는 그룹과 연관시키는 단계를 포함한다.
[00180] 양상 18. 양상 17의 방법에 있어서, 좌측 경계 및 우측 경계 내에서 연관시키는 단계는 초기에 차선 마킹 픽셀들만을 포함하는 클러스터를 성장시키기 위해 영역 성장 알고리즘을 적용하는 단계를 포함한다.
[00181] 양상 19. 양상 18의 방법에 있어서, 영역 성장 알고리즘을 적용하는 단계는 제1 그룹의 픽셀이 제2 그룹의 어느 하나의 경계를 교차하는 것을 방지하는 단계를 포함한다.
[00182] 양상 20. 양상 17의 방법에 있어서, 픽셀들의 제1 그룹 및 제2 그룹을 결정하는 단계는 이미지에 기계 학습 모델을 적용하는 단계를 포함하고, 기계 학습 모델은 이미지의 어느 픽셀들이 픽셀들의 제1 그룹 또는 픽셀들의 제2 그룹과 연관될 것인지를 예측하도록 구성되고; 각각의 그룹에 대한 좌측 및 우측 경계를 추정하는 단계는 기계 학습 모델을 사용하여 각각의 예측들을 생성하는 단계를 포함한다.
[00183] 양상 21. 양상 20의 방법에 있어서, 도로 세그먼트화(segmentation)와 관련된 예측들과 동시에 좌측 및 우측 경계에 관련된 예측들을 생성하도록 기계 학습 모델을 구성하는 단계를 추가로 포함한다.
[00184] 양상 22. 양상 20의 방법에 있어서, 기계 학습 모델을 적용하는 단계는, 차선 마킹들에 대응하는, 이미지 내의 픽셀들에 관한, 오퍼레이터로부터의 표시들을 특징 라벨(feature label)들로서 적용하는 단계를 포함한다.
[00185] 양상 23. 양상 17의 방법에 있어서, 이미지는 차선들의 배향에 실질적으로 수직인 복수의 행을 포함하고; 본 방법은 특정 행의 차선 마킹 픽셀에 대해, 인접 행 픽셀의 어느 다음-행 픽셀이 연결되는지 추정하는 단계를 추가로 포함하며, 다음-행 픽셀은 (i) 차선 마킹 픽셀 바로 아래에 있거나, (ii) 마킹 픽셀의 바로 아래 및 좌측에 1 픽셀, 또는 (iii) 마킹 픽셀의 바로 아래 및 우측에 1 픽셀이다.
[00186] 양상 24. 양상 23의 방법에 있어서, 연결된 픽셀들을 따라 제1 그룹 또는 제2 그룹과 연관된 픽셀들의 클러스터들을 성장시키는 단계를 추가로 포함한다.
[00187] 양상 25. 양상 23의 방법에 있어서, 인접 행 픽셀의 어느 다음-행 픽셀이 연결되는지 추정하는 단계는 제1 인접-행 픽셀이 (a) 제2 인접-행 픽셀 바로 아래에, (b) 제2 인접-행 픽셀 바로 아래 및 좌측에 1 픽셀, 또는 (c) 제2 인접-행 픽셀 바로 아래 및 우측에 1 픽셀일 때 (i) 이전의 복수의 픽셀 및 (ii) 이전의 복수의 픽셀의 제1 인접-행 픽셀 및 제2 인접-행 픽셀이 연결된다는 하나 이상의 표시를 사용하여 훈련된 기계 학습 모델을 적용하는 단계를 포함한다.

Claims (20)

  1. 도로 상의 차선을 추적하기 위한 방법으로서,
    하나 이상의 프로세서들에 의해, 이미징 시스템으로부터, 차선 마킹(lane marking)들과 연관된 픽셀들의 세트를 수신하는 단계; 및
    상기 하나 이상의 프로세서들에 의해, (i) 제1 스플라인(spline) 및 (ii) 상기 이미징 시스템이 이동하고 있는 방향으로의 상기 제1 스플라인의 예측된 확장을 포함하는 예측된 스플라인을 생성하는 단계를 포함하고,
    상기 제1 스플라인은 차선의 경계를 설명하고 상기 픽셀들의 세트에 기반하여 생성되고;
    상기 제1 스플라인의 상기 예측된 확장은 상기 제1 스플라인의 적어도 일부의 곡률에 적어도 부분적으로 기반하여 생성되는,
    도로 상의 차선을 추적하기 위한 방법.
  2. 제1 항에 있어서,
    상기 제1 스플라인의 상기 예측된 확장을 생성하는 것은, 상기 도로의 형상, 방향 또는 곡률을 포함하는 맵 데이터(map data)에 추가로 기반하는,
    도로 상의 차선을 추적하기 위한 방법.
  3. 제1 항에 있어서,
    상기 픽셀들의 세트는 상기 도로의 제1 부분에 대해 제1 시간에 생성된 픽셀들의 제1 세트이고,
    상기 방법은,
    상기 하나 이상의 프로세서들에 의해, 상기 이미징 시스템으로부터, 차선 마킹들과 연관된 픽셀들의 제2 세트를 수신하는 단계;
    상기 하나 이상의 프로세서들에 의해, 상기 차선의 경계를 설명하는 업데이트된 스플라인을 생성하는 단계; 및
    우도 스코어(likelihood score)를 결정하기 위해, 상기 예측된 스플라인을 상기 픽셀들의 제2 세트와 비교하는 단계를 더 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  4. 제3 항에 있어서,
    상기 우도 스코어를 결정하기 위해, 상기 예측된 스플라인을 상기 픽셀들의 제2 세트와 비교하는 단계는,
    (i) 상기 예측된 스플라인으로부터 도출된 가우시안 커널(Gaussian kernel) 및 (ii) 상기 픽셀들의 제2 세트를 나타내는 히스토그램의 각각의 값들을 컨벌빙(convolving)하는 단계 ― 상기 컨벌루션은 컨벌빙된 값들의 세트를 생성함 ―;
    상기 우도 스코어를 결정하기 위해, 상기 컨벌빙된 값들의 세트에 걸쳐 합산하는 단계를 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  5. 제4 항에 있어서,
    각각의 가우시안 커널은 면적(area)에 대해 정규화(normalize)되는,
    도로 상의 차선을 추적하기 위한 방법.
  6. 제3 항에 있어서,
    상기 우도 스코어는 상기 예측된 스플라인과 연관된 운전 가능성(drivability)의 척도에 추가로 기반하고, 상기 운전 가능성의 척도는 상기 예측된 스플라인의 적어도 일부의 곡률에 기반하는,
    도로 상의 차선을 추적하기 위한 방법.
  7. 제3 항에 있어서,
    (i) 차선 마킹들과 연관된 픽셀들의 이전 세트, (ii) 상기 픽셀들의 이전 세트에 기반한 제1 스플라인들의 이전 세트 및 (iii) 업데이트된 스플라인들의 이전 세트를 사용하여 스플라인들의 예측된 확장들을 생성하기 위해 기계 학습 모델을 훈련시키는 단계; 및
    상기 제1 스플라인의 상기 예측된 확장을 생성하기 위해 상기 픽셀들의 세트에 상기 기계 학습 모델을 적용하는 단계를 더 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  8. 제7 항에 있어서,
    상기 기계 학습 모델을 적용하는 단계는, 상기 차선 마킹들에 대응하는, 이미지 내의 상기 픽셀들에 관한, 오퍼레이터로부터의 표시들을 특징 라벨(feature label)들로서 적용하는 단계를 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  9. 제1 항에 있어서,
    상기 예측된 스플라인을 생성하는 단계는 복수의 예측된 스플라인들을 생성하는 단계를 포함하고, 각각의 예측된 스플라인은 제1 스플라인, 및 상기 제1 스플라인의 적어도 일부의 곡률에 적어도 부분적으로 기반하는, 상기 이미징 시스템이 이동하고 있는 방향으로의 상기 제1 스플라인의 예측된 확장을 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  10. 제9 항에 있어서,
    상기 제1 스플라인의 상기 예측된 확장은 기계 학습 모델을 사용하여 생성되고, 상기 예측된 스플라인을 픽셀들의 제2 세트와 비교하는 것은 복수의 우도 스코어들을 결정하기 위해 상기 복수의 예측된 스플라인들 각각을 상기 픽셀들의 제2 세트와 비교하는 것을 포함하고,
    상기 방법은,
    상기 복수의 우도 스코어들의 분석에 기반하여 상기 기계 학습 모델을 조정하는 단계를 더 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  11. 제1 항에 있어서,
    상기 예측된 스플라인을 생성하는 단계는 입자-필터(particle-filter) 기법을 적용하는 단계를 포함하고,
    상기 입자-필터 기법은:
    복수의 입자들을 생성하는 것 ― 각각의 입자는, (i) 제1 스플라인 및 (ii) 상기 제1 스플라인의 예측된 확장을 포함하는 예측된 스플라인을 포함하고, 상기 제1 스플라인의 상기 예측된 확장은 상기 제1 스플라인의 적어도 일부의 곡률에 적어도 부분적으로 기반함 ―; 및
    상기 복수의 예측된 스플라인들 각각에 대한 우도 스코어를 결정하는 것을 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  12. 제11 항에 있어서,
    상기 입자-필터 기법은:
    연관된 우도 스코어들에 따라 상기 복수의 입자들을 결합함으로써, 상기 차선의 경계의 위치를 결정하는 것을 더 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  13. 제12 항에 있어서,
    상기 복수의 입자들을 결합하는 것은:
    상기 차선의 경계의 상기 위치를 결정하기 위해, 상기 예측된 스플라인들의 가중 평균을 결정하는 것을 포함하며,
    각각의 예측된 스플라인은 자신의 연관된 우도 스코어에 따라 가중화되는,
    도로 상의 차선을 추적하기 위한 방법.
  14. 제1 항에 있어서,
    상기 예측된 스플라인을 생성하는 단계는:
    복수의 예측된 스플라인들을 생성하는 단계 ― 각각의 스플라인은 (i) 제1 스플라인 및 (ii) 상기 제1 스플라인의 적어도 일부의 곡률에 적어도 부분적으로 기반하는, 상기 제1 스플라인의 예측된 확장을 포함함 ―; 및
    각각의 예측된 확장에 특정 잡음 신호를 추가함으로써, 예측된 확장들 각각에 섭동(perturbation)을 적용하는 단계를 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  15. 제14 항에 있어서,
    상기 특정 잡음 신호를 추가하는 것은, 상기 예측된 스플라인들의 제1 부분에 대한 예측된 확장의 곡률량을 증가시키고 그리고 상기 예측된 스플라인들의 제2 부분에 대한 예측된 확장의 곡률량을 감소시키는 것을 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  16. 제14 항에 있어서,
    상기 특정 잡음 신호를 추가하는 것은, 상기 도로의 형상, 방향 또는 곡률을 포함하는 맵 데이터에 기반하여, 상기 예측된 스플라인들의 제1 부분에 대한 예측된 확장의 곡률량을 증가 또는 감소시키는 것을 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  17. 제14 항에 있어서,
    상기 복수의 예측된 스플라인들은 적어도 50 개의 예측된 스플라인들을 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  18. 제1 항에 있어서,
    상기 하나 이상의 프로세서들에 의해, 상기 픽셀들의 세트를 복수의 그룹들로 파티셔닝하는 단계 ― 상기 복수의 그룹들 각각은 하나 이상의 제어 지점(control point)들과 연관됨 ―; 및
    상기 하나 이상의 프로세서들에 의해, 상기 복수의 그룹들의 상기 제어 지점들을 횡단(traverse)하는 스플라인을 생성하는 단계 ― 상기 스플라인은 차선의 경계를 설명함 ― 를 더 포함하는,
    도로 상의 차선을 추적하기 위한 방법.
  19. 제18 항에 있어서,
    상기 스플라인을 생성하는 단계는 상기 하나 이상의 프로세서들에 의해 스플라인 기법을 실행시키는 단계를 더 포함하고, 상기 스플라인 기법은 상기 하나 이상의 제어 지점들만을 이용하는,
    도로 상의 차선을 추적하기 위한 방법.
  20. 제19 항에 있어서,
    상기 스플라인 기법은 캣멀-롬(Catmull-Rom) 스플라인 기법인,
    도로 상의 차선을 추적하기 위한 방법.
KR1020227026499A 2020-01-06 2021-01-06 이미징 시스템들을 위한 차선 검출 및 추적 기법들 KR20220134754A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202062957650P 2020-01-06 2020-01-06
US62/957,650 2020-01-06
US16/924,139 US11688155B2 (en) 2020-01-06 2020-07-08 Lane detection and tracking techniques for imaging systems
US16/924,139 2020-07-08
US16/925,190 2020-07-09
US16/925,190 US11551547B2 (en) 2020-01-06 2020-07-09 Lane detection and tracking techniques for imaging systems
PCT/US2021/012288 WO2021201946A2 (en) 2020-01-06 2021-01-06 Lane detection and tracking techniques for imaging systems

Publications (1)

Publication Number Publication Date
KR20220134754A true KR20220134754A (ko) 2022-10-05

Family

ID=76655542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227026499A KR20220134754A (ko) 2020-01-06 2021-01-06 이미징 시스템들을 위한 차선 검출 및 추적 기법들

Country Status (7)

Country Link
US (3) US11688155B2 (ko)
EP (1) EP4087764A4 (ko)
JP (1) JP7437512B2 (ko)
KR (1) KR20220134754A (ko)
CN (1) CN115151467A (ko)
AU (1) AU2021246857A1 (ko)
WO (1) WO2021201946A2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764187B (zh) * 2018-06-01 2022-03-08 百度在线网络技术(北京)有限公司 提取车道线的方法、装置、设备、存储介质以及采集实体
US11781875B2 (en) * 2019-08-21 2023-10-10 Toyota Motor Engineering & Manufacturing North America, Inc. Apparatus and method for forming and analyzing connected roads
JP6946495B2 (ja) * 2020-03-04 2021-10-06 本田技研工業株式会社 車両制御装置及び車両制御方法
DE102020213337A1 (de) * 2020-10-22 2022-04-28 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zu einer autonomen Navigation einer bewegbaren Robotereinheit und Robotersystem mit der Robotereinheit
US11164014B1 (en) * 2020-11-09 2021-11-02 Hayden Ai Technologies, Inc. Lane violation detection using convolutional neural networks
US11417036B1 (en) * 2021-05-19 2022-08-16 Adobe Inc. Systems for generating indications of perceptual linear regions of vector objects
US11972617B2 (en) * 2021-06-16 2024-04-30 Sesame Technologies Inc. Hybrid lane model
EP4242691A1 (en) * 2022-03-08 2023-09-13 Hyundai Mobis Co., Ltd. Method and apparatus for detecting lane using lidar
US11551459B1 (en) * 2022-06-27 2023-01-10 Plusai, Inc. Ambiguous lane detection event miner
CN115147801B (zh) * 2022-08-29 2022-12-23 北京百度网讯科技有限公司 车道线识别方法、装置、电子设备及存储介质
US20240202218A1 (en) * 2022-12-14 2024-06-20 Here Global B.V. Method, apparatus, and system for providing linear feature detection of cartographic features

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805442B1 (en) * 2000-12-05 2010-09-28 Navteq North America, Llc Method and system for representation of geographical features in a computer-based system
EP2285109B1 (en) * 2008-05-29 2018-11-28 Fujitsu Limited Vehicle image processor, and vehicle image processing system
US8300052B1 (en) 2008-09-24 2012-10-30 Autodesk, Inc. Application of bevel curves to splines
US8762046B2 (en) * 2008-10-01 2014-06-24 Navteq B.V. Creating geometry for advanced driver assistance systems
KR101121777B1 (ko) 2010-04-14 2012-06-12 숭실대학교산학협력단 차선 감지 방법
JP5796947B2 (ja) * 2010-10-08 2015-10-21 三菱重工業株式会社 自律走行制御装置及びそれを備えた自律走行車両
CN102722705B (zh) * 2012-06-12 2014-04-30 武汉大学 一种基于ransac算法的多车道线检测方法
CN102772705A (zh) 2012-06-14 2012-11-14 张文秀 一种速效通络消肿止痛酊及其制备方法
US20150165973A1 (en) * 2012-06-14 2015-06-18 Toyota Jidosha Kabushiki Kaisha Lane Separation Mark Detection Apparatus and Drive Support System
US20140095062A1 (en) * 2012-09-28 2014-04-03 Hewlett-Packard Development Company, L.P. Road Maps from Clusters of Line Segments of Multiple Sources
US9423261B2 (en) 2013-02-19 2016-08-23 Here Global B.V. Path curve confidence factors
KR101455835B1 (ko) 2014-06-16 2014-11-04 주식회사 지티 영상을 이용한 차선인식 및 추적시스템, 이를 이용한 차선인식 및 추적방법
JP6492469B2 (ja) * 2014-09-08 2019-04-03 株式会社豊田中央研究所 自車走行レーン推定装置及びプログラム
US9530062B2 (en) * 2014-12-23 2016-12-27 Volkswagen Ag Fused raised pavement marker detection for autonomous driving using lidar and camera
CN106407893B (zh) 2016-08-29 2019-11-22 东软集团股份有限公司 一种检测车道线的方法、装置和设备
US10832471B2 (en) * 2017-03-27 2020-11-10 Mitsubishi Electric Research Laboratories, Inc. Fast T-spline fitting system and method
US11254329B2 (en) 2017-04-24 2022-02-22 Mobileye Vision Technologies Ltd. Systems and methods for compression of lane data
EP3401182B1 (en) * 2017-05-09 2020-09-09 Veoneer Sweden AB Apparatus for lane detection
CA3027627C (en) * 2017-07-13 2021-08-10 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for trajectory determination
US10274961B2 (en) * 2017-07-26 2019-04-30 GM Global Technology Operations LLC Path planning for autonomous driving
CN108216229B (zh) 2017-09-08 2020-01-10 北京市商汤科技开发有限公司 交通工具、道路线检测和驾驶控制方法及装置
CN111095291B (zh) 2018-02-27 2024-04-09 辉达公司 由自动驾驶车辆实时检测车道和边界
CN111868801B (zh) * 2018-03-23 2023-06-06 三菱电机株式会社 路径生成装置及车辆控制***
CN111902694A (zh) 2018-04-03 2020-11-06 御眼视觉技术有限公司 用于确定导航参数的***和方法
US10229346B1 (en) * 2018-09-04 2019-03-12 StradVision, Inc. Learning method, learning device for detecting object using edge image and testing method, testing device using the same
US11049275B2 (en) * 2018-11-21 2021-06-29 Samsung Electronics Co., Ltd. Method of predicting depth values of lines, method of outputting three-dimensional (3D) lines, and apparatus thereof

Also Published As

Publication number Publication date
JP2023510734A (ja) 2023-03-15
EP4087764A2 (en) 2022-11-16
US20210206380A1 (en) 2021-07-08
US20230334816A1 (en) 2023-10-19
WO2021201946A2 (en) 2021-10-07
WO2021201946A3 (en) 2021-12-09
US11551547B2 (en) 2023-01-10
AU2021246857A1 (en) 2022-07-28
CN115151467A (zh) 2022-10-04
JP7437512B2 (ja) 2024-02-22
US20210209941A1 (en) 2021-07-08
US11688155B2 (en) 2023-06-27
EP4087764A4 (en) 2024-02-14

Similar Documents

Publication Publication Date Title
KR20220134754A (ko) 이미징 시스템들을 위한 차선 검출 및 추적 기법들
US10754037B2 (en) Processing point clouds of vehicle sensors having variable scan line distributions using voxel grids
US10394243B1 (en) Autonomous vehicle technology for facilitating operation according to motion primitives
CN110531376A (zh) 用于港口无人驾驶车辆的障碍物检测和跟踪方法
US20220107414A1 (en) Velocity determination with a scanned lidar system
US11391842B2 (en) Adaptive scan pattern with virtual horizon estimation
US20230152458A1 (en) Lidar System with Gyroscope-Aided Focus Steering
CN116583762A (zh) 使用强化机器学习来生成激光雷达扫描图案
US20230152466A1 (en) Lidar System with Scene Dependent Focus Intensity
US20230393280A1 (en) Retrofit light detection and ranging (lidar)-based vehicle system to operate with vision-based sensor data

Legal Events

Date Code Title Description
A201 Request for examination