CN114845913A - 基于物体运动的自顶向下场景预测 - Google Patents
基于物体运动的自顶向下场景预测 Download PDFInfo
- Publication number
- CN114845913A CN114845913A CN202080089929.XA CN202080089929A CN114845913A CN 114845913 A CN114845913 A CN 114845913A CN 202080089929 A CN202080089929 A CN 202080089929A CN 114845913 A CN114845913 A CN 114845913A
- Authority
- CN
- China
- Prior art keywords
- trajectory
- environment
- examples
- template
- predicted
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 59
- 238000010801 machine learning Methods 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000013528 artificial neural network Methods 0.000 claims description 53
- 238000004422 calculation algorithm Methods 0.000 claims description 47
- 239000013598 vector Substances 0.000 claims description 30
- 230000001133 acceleration Effects 0.000 claims description 20
- 230000003993 interaction Effects 0.000 claims description 13
- 230000007613 environmental effect Effects 0.000 abstract description 4
- 238000012549 training Methods 0.000 description 38
- 230000008569 process Effects 0.000 description 35
- 230000015654 memory Effects 0.000 description 24
- 230000008447 perception Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000011449 brick Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010238 partial least squares regression Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000012628 principal component regression Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000002310 reflectometry Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 241000237519 Bivalvia Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 235000020639 clam Nutrition 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
- G06V20/582—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
- G06V20/584—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/26—Techniques for post-processing, e.g. correcting the recognition result
- G06V30/262—Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
- G06V30/274—Syntactic or semantic context, e.g. balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30236—Traffic on road, railway or crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Probability & Statistics with Applications (AREA)
- Electromagnetism (AREA)
- Game Theory and Decision Science (AREA)
- Business, Economics & Management (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Image Analysis (AREA)
Abstract
本公开讨论了用于基于物体运动确定针对环境的自顶向下表示的预测的技术。第一车辆(比如自动驾驶车辆)的传感器可以捕获环境的传感器数据,该环境可以包括与第一车辆分离的物体(例如,车辆、行人、自行车)。用于表示物体和环境的自顶向下视图的多通道图像可以部分地基于传感器数据生成。环境数据(物体范围、速度、车道位置、人行横道等)也可以被编码于图像中。可以生成表示随时间变化的环境的多个图像,并将该多个图像输入预测系统,该预测系统被配置为输出与每个物体相关联的轨迹模板(例如,未来运动的一般意图)和预测轨迹(例如,更为准确的预测运动)。预测系统可以包括被配置为输出轨迹模板和预测轨迹的机器学习模型。
Description
相关专利申请的交叉引用
本PCT国际专利申请是2019年12月18日提交的、题为“Predicition on Top-DownScens based on Motion Data(基于物体运动的自顶向下场景预测)”的美国专利16/719,780的延续案并要求该美国专利的优先权权益,其全部内容通过引用并入本文。
背景技术
预测技术可以用于确定环境中实体的未来状态。也就是说,预测技术可以用于确定特定实体在未来可能如何表现。当前的预测技术通常涉及基于物理的建模或道路规则仿真,以预测环境中实体的未来状态。
附图说明
参照附图来描述详细说明。在附图中,参考标记的最左侧数字标识该参考标记首次出现的附图。在不同附图中使用相同参考标记来表示相似或相同的组件或特征。
图1是根据本公开的示例的用于接收传感器数据、将表示环境的多通道图像输入到机器学习模型中、以及接收与环境中的物体相关联的轨迹(trajectory)模板和预测轨迹的示例过程的图解流程图。
图2A描绘了用于实现本文所描述的技术的示例系统的方框图。
图2B描绘了用于训练机器学习模型来实现本文所描述的技术的示例训练组件的方框图。
图3描绘了根据本公开的示例的示例预测系统的方框图,该示例预测系统包括被配置为确定与物体相关联的所确定的轨迹模板所关联的预测轨迹的网络。
图4是根据本公开的示例的示例预测系统的方框图,该示例预测系统包括被配置为基于轨迹模板确定预测轨迹的网络。
图5描绘了根据本公开的示例的用于确定物体存在于车辆环境中、确定与物体相关联的轨迹模板和预测轨迹、以及部分基于预测轨迹控制车辆的示例过程。
图6描绘了根据本公开的示例的用于基于与物体相关联的联合历史纪录(jointhistory)来确定与环境中检测到的物体相关联的预测轨迹的示例过程。
具体实施方式
本文讨论了用于基于环境的自顶向下表示来确定环境中物体的预测轨迹的技术。例如,自动驾驶车辆的传感器可以捕获环境的传感器数据,该环境可以包括与该自动驾驶车辆分离的物体,比如,其他车辆、自行车骑行者、行人等。可以至少部分地基于传感器数据生成从自顶向下的角度来表示环境的图像。在一些示例中,所述图像可以包括与环境和/或物体相关联的语义信息。关于物体,这种语义信息可以包括具有范围的边界框(例如,将边界框识别为与车辆相关联)、与边界框相关的运动信息(例如,速度、加速度等)、分类信息(边界框是否代表车辆、自行车骑行者、行人等)。关于环境,所述图像可以包括指示道路网络数据的语义信息(例如,与道路网络相关联的标识符,(例如,限速、道路数据(例如,车道宽度、车道尽头(lane end)、停车线、交通信号灯等)、交通信号灯状态等)。在一些示例中,这种图像可以包括多通道图像,在该多通道图像中,任何一条或多条上述信息可以被存储在该多通道图像的单独通道中。
可以生成表示随时间变化的环境的多个图像,并将该多个图像输入预测系统(例如,机器学习模型),所述预测系统被配置为输出代表未来物体运动的轨迹模板(例如,物体将行进的大致方向、物体意图的分类)以及与每个物体相关联的预测轨迹。在一些示例中,预测系统可以被配置为输出热图,该热图包括与物体在未来的可能位置相关联的预测概率。所预测的轨迹和/或预测概率可以输出到规划系统以控制自动驾驶车辆的操作。
自动驾驶车辆所捕获的传感器数据可以包括激光雷达数据、雷达数据、图像数据、飞行时间数据等。在一些实例中,传感器数据可以被提供给感知系统,该感知系统被配置为确定与物体相关联的分类(例如,车辆、行人、自行车等)。感知系统可以被配置为基于传感器数据确定与物体相关联的运动信息。传感器数据和基于传感器数据的数据可以采用环境的自顶向下表示来表示。例如,自顶向下表示可以将物体表示为二维边界框以及物体的分类(例如,车辆、骑自行车者、行人等),该二维边界框表示物体在环境中的位置以及物体的范围(例如,长度、宽度等)。比如速度信息(例如,运动学信息)的运动信息可以被表示为与边界框相关联的速度向量,但是也可以考虑其他表示。
在一些示例中,输入到预测系统的图像可以由多通道图像的各个通道表示,其中每个通道可以表示关于物体和物体所在环境的不同信息。例如,通道可以代表但不限于以下一项或多项:道路网络信息(例如,指示车道、人行横道、停车线、车道分隔线、停止标志、交叉路口、交通信号灯等的语义标签)、交通信号灯状态(例如,红灯、黄灯、绿灯等)、与每个物体相关联的边界框、与每个物体在x方向和y方向上关联的速度、与每个物体关联的加速度,物体的灯状态(例如,左转、右转、剎车、倒车、危险、无灯等)等。
在各种示例中,预测系统可以接收表示环境中的物体的历史运动的多个图像(多通道图像)。在一些示例中,预测系统可以确定表示环境中的物体的联合历史纪录的特征图。在一些示例中,预测系统可以部分地基于与每个物体相关联的联合历史纪录和/或位置来确定与每个物体相关联的特征向量。
在一些示例中,预测系统可以利用特征图和/或特征向量来生成与每个物体相关联的至少一个轨迹模板和至少一个预测轨迹。轨迹模板(或模式)可以表示物体意图的分类(留在车道、变换车道等)。意图的分类可以包括对物体未来运动的粗略估计(例如,预测的未来行进方向),比如,物体是否会继续前进、停止、左转或右转、留在车道等。在各种示例中,与两个或更多个物体相关联的意图分类可以包括联合意图。在这些示例中,与第一物体相关联的轨迹模板可以依赖于与第二物体相关联的轨迹模板。例如,车辆和行人可能会接近具有人行横道的交叉路口。向行人让路的车辆轨迹模板可能依赖于在人行横道处穿行的行人轨迹模板。
所预测的轨迹可以表示物体未来运动的更为精确的轨迹(或者更为精确的估计)。在一些示例中,未来运动可以表示为物体在未来一个或多个时间点的一个或多个未来位置。在一些示例中,所预测的轨迹可以基于轨迹模板。在一些示例中,所预测的轨迹可以基于如利用先前捕获的传感器数据所确定的、物体在环境内的历史运动。
在一些示例中,预测系统可以包括被训练来输出一个或多个轨迹模板和/或一个或多个预测轨迹的机器学习模型。在一些示例中,输出可以包括在环境中检测到的每个物体的轨迹模板和预测轨迹。在一些示例中,与所检测到的物体相关联的轨迹模板和预测轨迹可以表示所预测的物体的未来运动,它们(和自动驾驶车辆)可以在环境中彼此交互作用。例如,机器学习模型可以在未来的一个或多个时间点(例如,1秒、2秒、8秒等)输出与每个物体(例如,其他车辆、自行车骑行者、行人等)相关联的坐标(例如,x坐标和y坐标)。
在一些示例中,机器学习模型可以输出与物体相关联的坐标以及与每个坐标相关联的概率信息。在一些示例中,概率信息可以被表示为与阈值概率水平相关联的椭圆或其他多边形(例如,物体在特定时间的位置在被表示为椭圆的区域内的概率为75%)。在一些示例中,概率信息可以包括与环境中的物体的位置相关联的概率分布。在一些示例中,可以通过在机器学习模型输出的多个坐标之间进行内插来生成预测轨迹。
在一些示例中,机器学习模型可以输出与预测概率相关联的热图,比如,如在2018年10月4日提交的、题为“Trajectory Predicition on Top-Down Scenes(自顶向下场景的轨迹预测)”的美国专利16/151,607、2019年7月5日提交的、题为“Predicition on Top-Down Scens based on Action Data(基于动作数据的自顶向下场景预测)”的美国专利16/504,147、及2017年11月8日提交的、题为“Probabilistic Heat Maps for BehaviorPredicition(行为预测的概率热图)”的美国专利15/807,521中所描述的,每个申请的全部内容通过引用并入本文。热图可以表示自动驾驶车辆附近的环境的离散区域。例如,热图可以表示64×64的网格(或J×K大小的网格),该网格表示自动驾驶车辆周围100米×100米的区域。当然,热图可以代表任何大小的区域,并且可以代表该区域中的任何数量的离散部分,如上述通过引用并入的美国专利申请中所描述的。
在各种示例中,预测系统可以被配置为基于机器学习模型输出的热图来确定预测轨迹线。在这些示例中,预测系统可以分析热图来确定与热图的单元相关联的最高概率(或高于阈值的概率),以确定预测轨迹。在各种示例中,预测系统可以基于成本及/或多种约束来确定预测轨迹,比如,使用上述通过引用并入的美国专利申请中所描述的技术。
在一些示例中,机器学习模型可以包括卷积神经网络(CNN),卷积神经网络可以包括一个或多个循环神经网络(RNN)层,比如但不限于长短期记忆(LSTM)层。可以使用无监督和/或有监督学习算法来训练与预测系统相关联的机器学习模型。在一些示例中,可以使用无监督学习算法训练机器学习模型来确定轨迹模板。在一些示例中,机器学习模型可以利用聚类算法(例如,k-means、分层聚类等)来确定轨迹模板。在至少一些示例中,可以利用反射关于行进方向的轨迹和/或从轨迹中去除横向偏差中的一个或多个,增加具有模板的轨迹的数量。在一些示例中,机器学习模型可以基于一个或多个物体位置来确定轨迹模板。在这些示例中,机器学习模型可以确定与物体在未来的某个时间的位置相关联的概率分布。机器学习模型可以将一种或多种聚类算法应用于表示概率分布的网格来确定与物体相关联的轨迹模板。
在一些示例中,可以使用比如一种或多种回归算法的有监督学习算法训练机器学习模型来确定预测轨迹。在各种示例中,物体的预测轨迹可以基于与物体相关联的轨迹模板。在一些示例中,机器学习模型可以包括被配置为确定轨迹模板和/或预测轨迹的一个或多个网络。在一些示例中,可以基于与物体相关联的分类来确定网络。例如,可以利用第一网络来确定行人的第一轨迹模板和/或第一预测轨迹,并且可以利用第二网络来确定车辆的第二轨迹模板和/或第二预测轨迹。
在一些示例中,机器学习模型可以包括被配置为确定针对不同意图的预测轨迹的单个网络。在一些示例中,机器学习模型可以包括被配置为确定与不同意图相关联的预测轨迹的不同网络。例如,机器学习模型可以包括被配置为利用第一轨迹模板确定物体的轨迹的第一网络、被配置为利用第二轨迹模板确定物体的轨迹的第二网络等等。
本文讨论的技术可以以多种附加方式改进计算设备的功能。在一些示例中,将环境和环境中的物体表示为自顶向下视图可以表示环境的简化表示,以用于生成预测轨迹。在一些示例中,该图像可以在不提取环境的特定特征的情况下表示环境,这可以简化预测系统的生成以及至少一个预测轨迹的后续生成。
此外,图像可以表示环境中的物体之间的交互作用,比如,在包括物体之间的交互作用的联合历史纪录中。联合历史纪录中所捕获的物体之间的交互作用可以改进与物体相关联的预测轨迹的准确性。通过将与多个物体相关联的物体数据一起包括在多通道图像中,可以明确地确定或隐含地确定这些交互作用。在一些示例中,评估基于联合历史纪录确定的轨迹模板和/或预测轨迹可以允许自动驾驶车辆生成更为准确和/或更为安全的轨迹以供自动驾驶车辆穿越环境。在至少一些示例中,基于环境的自顶向下编码的条件预测可以最小化(改进)与物体相关联的概率分布函数的扩展,从而产生更为安全的系统决策。本文讨论了针对计算机功能的这些和其他改进。
本文描述的技术可以以多种方式实现。下面将参考以下附图提供示例实施方式。尽管在自动驾驶车辆的上下文中进行讨论,但本文所描述的方法、装置和系统可以应用于各种系统(例如,传感器系统或机器人平台),并且不限于自动驾驶车辆。在一个示例中,类似的技术可以用于驾驶员控制的车辆中,其中,这种系统可以提供执行各种操作是否安全的指示。在另一个示例中,这些技术可以用于航空或航海上下文中,或者用于涉及与系统未知的行为相关联的物体或实体的任何系统中。此外,传感器数据可以包括任何二维数据、三维数据或多维数据,比如,图像数据(例如,立体相机、飞行时间数据等))、激光雷达数据、雷达数据、声纳数据等。此外,本文描述的技术可以与真实数据(例如,使用一个或多个传感器捕获的数据)、仿真数据(例如,由仿真器所生成的数据)或两者的任何组合一起使用。
图1是根据本公开的示例的用于接收传感器数据、将表示环境的多通道图像输入机器学习模型、以及接收与环境中的物体相关联的轨迹模板和预测轨迹的示例过程100的图解流程图。
在操作102,该过程可以包括接收表示环境中的物体的传感器数据。在一些示例中,可以从自动驾驶车辆的感知系统接收传感器数据。例如,传感器数据可以包括但不限于与物体相关联的边界框、与物体相关联的速度和/或加速度信息、与物体相关联的分类信息等中的一项或多项。在一些示例中,传感器数据可以由自动驾驶车辆上的一个或多个传感器捕获。在一些示例中,传感器数据可以由一个或多个远程传感器捕获,比如,与另一车辆相关联的传感器、安装在环境中的传感器等。例如,传感器数据可以包括由激光雷达传感器、雷达传感器、图像传感器、飞行时间传感器、声纳传感器中的一个或多个、和/或与自动驾驶车辆、另一车辆和/或环境相关联的任何其他传感器所捕获的数据。在至少一些示例中,可以接收其它环境数据(例如,比如车道、参考线、人行横道、交通设备及/或标志等的环境编码部分的地图数据)。
示例104例示了其中自动驾驶车辆106(例如,车辆106)正在穿越环境的环境。在一些示例中,车辆106可以执行过程100的操作,其可以包括捕获环境的传感器数据。出于讨论的目的,捕获(或使用)传感器数据的车辆可以是被配置为根据美国国家高速公路交通安全管理局发布的5级分类(L5)运行的自动驾驶车辆,L5描述了在整个行程中能够执行所有安全关键功能的车辆,其中,驾驶员(或乘客)在任何时候都不会被期望对车辆进行控制。在这种示例中,由于车辆可以被配置为控制从起动到停止的所有功能,包括所有停车功能,因而车辆中可以是无人占用。这仅是一个示例,并且本文所描述的系统和方法可以并入任何陆上、空中或水上交通工具中,包括那些从需要始终由驾驶员人工控制的交通工具到那些部分或完全自主控制的交通工具。与车辆相关的其它细节在本公开全文中进行描述。
物体108也位于环境中。在一些示例中,物体108可以表示车辆、行人、自行车等。示例104中所示的环境可以包括可驾驶区域和不可驾驶区域。在一些示例中,操作102可以包括在环境中定位车辆106并且访问与环境相关联的地图数据。例如,地图数据可以包括地图元素,比如,车道标记、车道边界、一个或多个车道参考(例如,与车道相关联的中心线和/或可用(例如,合法的)车道之间的路线)。地图元素的其他示例可以包括但不限于车道元素、自行车道元素、人行横道元素、交叉路口元素、车道分隔线元素、交通信号灯元素、停车标志元素、停车线元素、让行标志元素、让行线元素、停车道元素、私人车道(driveway)元素、减速带元素、行人穿越区域(例如,虚拟人行横道)、轨迹航路点(例如,已知轨迹)、乘客上车点、标志位置元素、地理围栏元素等。
在各种示例中,操作102可以包括基于与车辆106相关联的位置和/或地图数据来确定与自动驾驶车辆106相关联的规划路线110。在例示性示例中,规划路线110可以包括从当前车道112穿过交叉路口到达与地图数据相关联的目标车道114。
在一些示例中,在操作102中捕获的传感器数据可以用于确定关于物体108的信息,该信息包括但不限于物体的类型(例如,指示比如车辆、行人、自行车等的物体分类的语义信息)。在一些示例中,操作102可以包括确定物体108的类型、与物体108相关联的边界框、和/或与物体108相关联的运动信息,如本文所讨论的。
在操作116,该过程可以包括将表示环境的自顶向下视图的多通道图像输入到机器学习模型,该多通道图像至少部分地基于传感器数据。在图像118、120和122中例示了这种多通道图像的示例。在一些示例中,图像118、120和122可以表示示例104中描绘的随时间变化的环境。例如,图像118可以表示TN时的环境,图像120可以表示TN+1时的环境,以及图像122可以表示T0时的环境。例如,图像118可以表示过去2秒的环境,图像120可以表示过去1秒的环境,以及图像122可以表示当前时间(例如,时间=0)的环境。当然,图像118、120和122可以表示任何时间段的环境,并且不限于上述示例中使用的例示性时间。
在例示性示例中,图像118可以表示TN时的环境,并且可以包括第一通道124、第二通道126和第三通道128。在一些示例中,第一通道124可以表示自动驾驶车辆106和/或物体108(比如环境中的物体108(1)和108(2))的边界框、位置、范围(例如,长度和宽度)等。可以理解的是,图像118可以包括任何时候的环境中的任意数量的静态物体(例如,建筑物、树木、路缘、人行道、地图元素等)或动态物体(例如,能够移动的物体),并且不限于示例中(被表示为边界框)的两个物体108(1)和108(2)。
图像118还可以包括分别与物体108(1)和108(2)相关联的速度信息130(1)和130(2)(例如,运动学信息、运动信息)。在例示性示例中,速度信息130(1)和130(2)表示为与对应物体相关联的速度向量。尽管在速度的上下文中进行讨论,但是速度信息130(1)和130(2)可以表示与加速度(例如,一段时间内的平均值、在该段时间中观察到的最大加速度等)、转向角、距参考线或障碍物的距离相关联的信息等。
如可以理解的,物体108(1)和/或108(2)可以与随时间变化的不同位置和/或运动相关联。因此,图像120可以包括与速度信息130(1)相同或不同的速度信息132(1),并且图像122可以包括可以与速度信息130(1)和/或132(1)相同或不同的速度信息134(1)。类似地,与物体108(2)相关联的速度信息(比如,速度信息130(2))随时间变化可以相同或不同,比如,如图像120和122中所表示的。
在一些示例中,第二通道126可以表示与车辆106相关联的规划路线110。例如,第二通道126可以例示与规划路线110相关联的当前车道112和/或目标车道114。在一些示例中,第三通道128可以表示与车辆106附近的环境相关联的地图数据。在各种示例中,第三通道128可以包括与地图上所标明的区域相关联的数据以及与地图上未标明的区域(例如,车道、停车场等)相关联的数据。与地图上未标明的区域相关联的数据可以包括缺乏与该区域相关联的信息的指示、该区域的大致尺寸等。例如,第三通道可以包括与道路以及包括通向该道路的私人车道的地图上未标明区域相关联的数据。
如上所述,图像120和122可以表示不同时刻(例如,时刻TN+1和时刻T0)的环境。在一些示例中,图像120和122的特征(aspect)可以类似于图像118的特征。例如,图像120和122可以包括第一通道124、第二通道126和第三通道128,但是这仅仅是一个示例,并且本文中设想了附加通道和/或与每个通道相关联的附加信息。
如可以理解的,操作116可以包括生成或确定多通道图像,如本文所讨论的。结合在上文通过引用并入本文的美国专利16/151,607,讨论生成或确定多通道图像的示例。
在操作136中,该过程可以包括从机器学习模型接收与物体(例如物体108(1)和108(2))相关联的轨迹模板和预测轨迹,该轨迹模板和预测轨迹基于多通道图像。示例138例示了分别与物体108(1)和108(2)相关联的轨迹模板140和142。示例144例示了分别与物体108(1)和108(2)相关联的预测轨迹146和148。
轨迹模板140或142可以表示相关联的物体108(1)或108(2)的未来运动意图的分类(例如,所预测的未来行进方向、运动类别等)。意图的分类可以包括对物体108(1)或108(2)的未来运动的粗略估计,比如,物体108(1)或108(2)是否会继续前进、停止、左转或右转等。在各种示例中,与两个或更多个物体108(1)和108(2)相关联的意图的分类可以包括联合意图。在这些示例中,与第一物体108(1)相关联的轨迹模板140可以依赖于与第二物体108(2)相关联的轨迹模板142(2),反之亦然。例如,第一物体108(1)可以包括接近交叉路口的车辆,第二物体108(2)(行人)也正在接近该交叉路口。轨迹模板140(1)和142(2)可以表示物体108(1)和108(2)中的一个或两个向另一者让行。
在各种示例中,机器学习模型可以被配置为基于与物体108(1)和108(2)相关联的一个或多个可能的未来运动(例如,可能的轨迹模板140和142),确定与物体108(1)和108(2)相关联的轨迹模板140(1)和142(2)。示例138例示了与物体108(1)相关联的两个可能的轨迹模板140(1)和140(2)以及与物体108(2)相关联的三个可能的轨迹模板142(1)、142(2)和142(3)。在各种示例中,可能的轨迹模板140和142可以表示物体108(1)和108(2)的各种可能的未来运动。在一些示例中,可能的轨迹模板140和142可以基于与其相关联的地图数据和/或地图元素,比如,多通道图像中包括的那些元素,如上所述。例如,与物体108(1)相关联的可能轨迹模板140可以与人行横道元素相关联。在一些示例中,可能的轨迹模板140和142可以与地图数据和/或地图元素无关。
尽管示例138例示了机器学习模型所考虑的各种可能的轨迹模板140和142,但是要理解的是,机器学习模型可以输出分别与物体108(1)和108(2)相关联的所确定出的轨迹模板140(1)和142(2)。因此,在操作136,该过程可以包括接收与物体108(1)相关联的轨迹模板140(1)以及与物体108(2)相关联的轨迹模板142(2)。
在各种示例中,机器学习模型可以被训练来基于物体的类型(例如,行人、车辆、骑自行车者等)和/或与环境相关联的一个或多个场景(例如,高速公路、汇合处(例如,道路分叉处、四向交叉路口等)),确定轨迹模板140(1)和142(2)。在这些示例中,可以利用与不同类型的物体相关联的训练数据(例如,物体数据)和/或与不同场景相关联的训练数据(例如,场景数据、环境数据,(例如,比如车道、参考线、人行横道、交通设备及/或标志等的环境编码部分的地图数据)等)来训练机器学习模型。可以在比如图像118、120和122的多通道图像中将物体的类型和/或场景提供给机器学习模型。例如,图像118、120和122可以将物体108(1)表示为车辆,将物体108(2)表示为行人,并将场景表示为四向交叉路口。基于确定为车辆和行人正在接近四向交叉路口,机器学习模型可以确定与其相关联的轨迹模板140(1)和142(2)。
在各种示例中,可以使用无监督学习算法训练机器学习模型来确定轨迹模板140(1)和142(2)。在一些示例中,机器学习模型可以使用聚类算法来确定轨迹模板140(1)和142(2)。在至少一个示例中,机器学习模型可以使用k-means聚类算法。
在各种示例中,机器学习模型可以基于所确定的与物体108(1)和108(2)相关联的轨迹,确定对应的轨迹模板140(1)和142(2)。在一些示例中,所确定的轨迹可以包括物体108(1)或108(2)各自随时间的平均轨迹。在一些示例中,所确定的轨迹可以包括聚类轨迹,其中,聚类中心基于物体108(1)或108(2)各自随时间的平均运动。在各种示例中,轨迹可以与地图数据和/或与其相关联的地图元素无关。在这些示例中,可以基于运动空间中的观测结果来确定轨迹,而与地图数据无关。例如,与物体108(1)相关联的第一轨迹可以基于所观测到的物体108(1)的运动,而与物体正在行驶的车道所关联的数据、道路网络数据等无关。对于另一示例,车辆可以从地图上未标明的区域(例如,私人车道、停车场等)进入环境。机器学习模型可以处理与车辆相关联的传感器数据,以基于所观测到的车辆随时间的运动来确定与其相关联的轨迹。在各种示例中,不依赖于地图数据和/或地图元素来确定与物体108相关联的轨迹可以在例如乱穿马路的人、车辆进出垂直停车位等的情况下,改进在具有有限的车道标记(或没有车道标记)的地方处的车辆安全操作。在这些示例中,本文所描述的技术提高了在环境100中运行的车辆和物体108的安全性。
在一些示例中,机器学习模型可以基于所观测到的物体108(1)和108(2)随时间的运动(例如,从时间TN到T0),确定与物体108(1)相关联的第一物体轨迹和与物体108(2)相关联的第二物体轨迹。在各种示例中,物体轨迹可以被变换为物体108(1)和108(2)各自的主体框架。在这些示例中,可以减少物体轨迹的方差(variance)。在一些示例中,可以绕着与物体108(1)和108(2)相关联的主体的y轴反射各自的物体轨迹。在这些示例中,可以进一步减少物体轨迹的方差。在各种示例中,轨迹模板140(1)和142(2)可以基于聚类分配(例如,将数据点分配给类簇)来导出。在一些示例中,轨迹模板140(1)和142(2)可以基于在应用聚类算法的迭代之间数据点的质心的小于阈值的变化来确定。
在各种示例中,机器学习模型可以基于在预测范围结束时(例如,未来2秒、8秒等)与物体108(1)和108(2)相关联的预测位置,确定对应的轨迹模板140(1)和142(2)。在一些示例中,机器学习模型可以被配置为生成热图,该热图表示与其相关联的预测位置及/或概率。在至少一些示例中,这些预测位置可以包括与预测范围和/或所指定/提供的任何其他时间段的结束相关联的那些位置。然而,在这些示例中,与粗略模板轨迹相关联的多个广泛热图(或输出概率)可能会被用于规划车辆通过环境的轨迹的规划系统所使用。在各种示例中,机器学习模型可以被配置为基于在T=0时与物体108(1)和108(2)相关联的所确定的轨迹来确定预测位置。在各种示例中,预测位置可以与基于网格的栅格(bin)相关联。在一些示例中,机器学习模型可以执行分类问题来确定不同轨迹模板140和142的概率分布。在本文描述的任何示例中,这种模板轨迹模型的输出可以包括所有可能模板上的分布。作为非限制性示例,网络中的用于输出模板的最后一层可以包括softmax函数,其中指定每个模板的概率。因此,各种物体可能相对高的概率具有一个或多个模板(例如,接近左侧车道中的交叉路口的车辆可能与行进通过和转弯具有相同的经过模板处理后的轨迹)。
在一些示例中,不同的轨迹模板140和142可以与网格的不同栅格相关联。在这些示例中,网格可以包括足够的分辨率,使得不同的轨迹模板140和142中的每个与不同的栅格相关联。在各种示例中,可以将一种或多种无监督学习算法(例如,聚类算法)应用于栅格来确定轨迹模板140(1)和142(2)。
在各种示例中,机器学习模型可以被训练来确定与物体108(1)相关联的预测轨迹146以及与物体108(2)相关联的预测轨迹148。预测轨迹146和148可以表示物体108(1)和108(2)各自的未来运动的精确轨迹。在一些示例中,未来运动可以被表示为物体在未来一个或多个时间点的一个或多个未来位置。在一些示例中,预测轨迹146和148可以是分别基于轨迹模板140(1)和142(2)。
在各种示例中,预测轨迹146和148可以基于机器学习模型输出的热图来确定,比如使用上述通过引用并入的美国专利申请中描述的技术。在这些示例中,可以分析热图以确定与热图的单元相关联的最高概率,从而确定预测轨迹146或148。例如,预测轨迹146和148可以使用用于表示物体108在预测范围结束时的预测位置和/或与预测位置相关联的概率的热图确定。
在各种示例中,机器学习模型可以使用回归算法,基于历史数据(例如,在时刻T=0之前的时刻与物体108(1)和108(2)相关联的位置)来确定预测轨迹146和148。在一些示例中,机器学习模型可以执行与物体108(1)和108(2)中的每一个相关联的对应物体回归。在这些示例中,预测轨迹146和148可以基于不同的回归分析来确定。
在各种示例中,机器学习模型可以被配置为基于与物体108(1)和108(2)相关联的联合历史纪录(例如,基于多通道图像),确定与每个物体108(1)和108(2)相关联的特征向量。在一些示例中,例如通过将特征向量和对应的轨迹模板140(1)和142(2)级联,可以对特征向量执行对应的物体回归。在这些示例中,预测轨迹146和148可以基于与物体108(1)或108(2)相关联的特征向量和轨迹模板140(1)或142(2)的级联。
图2A描绘了用于实现本文所描述的技术的示例系统200的方框图。在至少一个示例中,系统200可以包括车辆202,比如车辆106。
车辆202可以包括一个或多个车辆计算设备204(也称为车辆计算设备204或一个或多个车辆计算设备204)、一个或多个传感器系统206、一个或多个发射器208、一个或多个通信连接210、至少一个直接连接(direct connection)212和一个或多个驱动系统214。
车辆计算设备204可以包括一个或多个处理器216以及与一个或多个处理器216可通信地耦合的存储器218。在所例示的示例中,车辆202是自动驾驶车辆;然而,车辆202可以是任何其他类型的车辆。在所例示的示例中,车辆计算设备204的存储器218存储定位组件220、感知组件222、一个或多个地图224、一个或多个系统控制器226、包括图像生成组件230的预测组件228、机器学习组件232、训练组件234以及规划组件236。尽管出于例示目的,在图2A中被描述为驻留在存储器218中,但是可以预见的是,定位组件220、感知组件222、一个或多个地图224、一个或多个系统控制器226、预测组件228、图像生成组件230、机器学习组件232、训练组件234和规划组件236可以附加地或可替代地可由车辆202访问(例如,远程存储,比如存储在计算设备238上)。
在至少一个示例中,定位组件220可以包括从传感器系统206接收数据以确定车辆202的位置和/或方位(例如,x-位置、y-位置、z-位置、横滚角、俯仰角或偏航角中的一个或多个)的功能。例如,定位组件220可以包括和/或请求/接收环境地图,并且可以在地图内连续确定自动驾驶车辆的位置和/或方位。在一些实例中,定位组件220可以使用SLAM(即时定位和地图构建)、CLAMS(同时校准、定位和地图构建)、相对SLAM(Relative SLAM)、束调整、非线性最小二乘优化等来接收图像数据、激光雷达数据、雷达数据、IMU数据、GPS数据、轮式编码器数据等,以准确地确定自动驾驶车辆的位置。在一些实例中,定位组件220可以将数据提供给车辆202的各种组件,以确定用于生成轨迹和/或用于生成或接收地图数据的自动驾驶车辆的初始位置,如本文所讨论的。
在一些实例中,感知组件222可以包括用于执行物体检测、分段和/或分类的功能。在一些示例中,感知组件222可以提供经过处理的传感器数据,该经过处理的传感器数据指示存在位于车辆202附近的实体和/或作为实体类型的实体分类(例如,汽车、行人、自行车骑行者、建筑物、树木、路面、路缘、人行道、未知物等)。在其它示例或替代示例中,感知组件222可以提供经过处理的传感器数据,该经过处理的传感器数据指示与所检测的实体(例如,被跟踪的物体)和/或该实体所处环境相关联的一个或多个特征。在一些示例中,与实体相关联的特征可以包括但不限于x位置(全局位置和/或局部位置)、y位置(全局位置和/或局部位置)、z位置(全局位置和/或局部位置)、方位(例如,横滚角、俯仰角,偏航角)、实体类型(例如,分类)、实体的速度、实体的加速度、实体的范围(尺寸)等。与环境相关联的多个特征可以包括但不限于:环境中另一实体的存在性,环境中另一实体的状态、一天中的某个时间、一周中的一天、季节、天气状况、黑暗/明亮的指示等。
存储器218还可以包括可由车辆202用于在环境中导航的一个或多个地图224。出于讨论的目的,地图可以是任意数量的数据结构,这些数据结构被建模为二维、三维或N维,其能够提供有关环境的信息,比如但不限于拓扑结构(比如交叉路口)、街道、山脉、道路、地形和总体环境。在一些实例中,地图可以包括但不限于:纹理信息(例如,颜色信息(例如,RGB颜色信息、Lab颜色信息、HSV/HSL颜色信息)等)、强度信息(例如,激光雷达信息、雷达信息等);空间信息(例如,投影到网格上的图像数据、单独的“面元”(例如,与单独的颜色和/或强度相关联的多边形)),反射率信息(例如,镜面反射率信息、回射率信息、BRDF信息、BSSRDF信息等)。在一个示例中,地图可以包括环境的三维网格。在一些实例中,地图可以以砖格(tiled)格式储存,使得地图的各个砖格表示环境的离散部分,并且可以根据需要加载到工作存储器中,如本文所讨论的。在至少一个示例中,一张或多张地图224可以包括至少一张地图(例如,图像和/或网格)。在一些示例中,可以至少部分地基于地图224来控制车辆202。也就是说,地图224可以与定位组件220、感知组件222、预测组件228和/或规划组件236结合使用,以确定车辆202的位置,识别环境中的物体,生成与物体和/或车辆202相关联的预测概率,和/或生成路线和/或轨迹来在环境内导航。
在一些示例中,一个或多个地图224可以存储在可经由网络240访问的远程计算设备(比如计算设备238)上。在一些示例中,可以基于例如特性(例如,实体的类型、一天中的时间、一周中的一天、一年中的季节等)来存储多个地图224。存储多个地图224可以具有类似的存储器要求,但是可以提高访问地图中的数据的速率。
在至少一个示例中,车辆计算设备204可以包括一个或多个系统控制器226,系统控制器226可被配置为控制车辆202的转向、推进、剎车、安全、发射器、通信和其他系统。这些系统控制器226可以与驱动系统214的对应系统和/或车辆202的其他组件通信,和/或控制驱动系统214的对应系统和/或车辆202的其他组件。
通常,预测组件228可以生成环境中的物体的预测轨迹。例如,预测组件228可以为与车辆202相距阈值距离内的车辆、行人、自行车骑行者等生成一个或多个预测轨迹。在一些示例中,预测组件228可以被配置为基于所观测到的行为和所预测的行为,为物体生成轨迹模板和预测轨迹,如本文所讨论的。
在一些示例中,图像生成组件230可以包括用于生成表示场景的自顶向下视图的图像的功能。图像生成组件230所生成的这种图像的示例在图1中被示出为图像118、120和122。
在一些示例中,图像生成组件230可以生成表示车辆202周围区域的图像。在一些示例中,所述区域可以至少部分地基于传感器可视区域(例如,传感器范围)、滚动时域(receding horizon)、与动作相关联的区域(例如,穿过交叉路口)等。在至少一个示例中,所述图像可以表示车辆202周围的100米×100米的区域,但是可以考虑任何区域。图像生成组件230可以从感知组件222接收关于环境中的物体的数据,并且可以从定位组件220、感知组件222和一个或多个地图224接收关于环境自身的数据。图像生成组件230可以生成环境的自顶向下视图,包括环境中的物体(例如,如本文所讨论的由边界框表示)、关于物体的语义信息(例如,分类类型)、运动信息(例如,速度信息、加速度信息等)等。图像生成组件230可以进一步生成图像中的图像元素(例如,符号或其他表示),图像元素表示物体和环境的各种属性。图像元素包括但不限于:一个或多个速度向量、一个或多个加速度向量、灯光指示(例如,物体的剎车灯、物体的转向信号灯等,被表示为各自的指示状态)、交通信号灯信息(例如,交通信号灯的状态)、车道信息(例如,该车道是否是左转专用车道、右转专用车道等)等。
在一些示例中,图像生成组件230可以生成包括环境的语义信息的一个或多个图像,如本文中详细讨论的。如本文所讨论的,图像生成组件230所生成的图像可以表示关于环境和环境中的物体的状态的初始信息(prior information),该信息可以用于生成轨迹模板和/或预测轨迹。
在本文讨论的任何示例中,图像生成组件230可以生成具有多个通道的图像,其中每个通道表示一些信息(语义信息或其他信息)。
在一些示例中,机器学习组件232(也称为机器学习模型组件232)可以包括用于接收图像生成组件230所生成的图像并且生成一个或多个轨迹模板和/或预测轨迹的功能,如本文所讨论的。
在一些实例中,机器学习组件232可以包括一个或多个机器学习模型,该机器学习模型被训练来基于输入到机器学习模型中的自顶向下图像输出一个或多个轨迹模板和/或预测轨迹。在一些示例中,用于输出轨迹模板和/或预测轨迹的机器学习组件232包括CNN,CNN可以包括或者不包括一个或多个RNN层,例如LSTM层。
在一些示例中,机器学习组件232所输出的轨迹模板可以表示物体的未来运动的意图的分类(例如,所预测的未来行进方向、运动类别等)。意图的分类可以包括对物体未来运动的粗略估计,比如物体是否将会继续前进、停止、左转或右转等。在一些示例中,可以不依赖于一个或多个地图224所提供的地图数据来确定轨迹模板。在各种示例中,机器学习组件232所输出的预测轨迹可以表示物体的未来运动的轨迹,比如,由物体的一个或多个未来位置表示的轨迹。
在一些示例中,可以基于机器学习组件232所生成的热图来确定预测轨迹。在这些示例中,预测组件228可以被配置为基于机器学习组件232所输出的热图来确定预测轨迹。在一些示例中,热图可以表示自动驾驶车辆附近的环境的离散区域。在一些示例中,热图所表示的区域可以对应于输入到机器学习组件232的图像所表示的区域。当然,热图可以表示任何大小的区域,并且可以表示该区域中的任意数量的离散部分。在一些情况下,热图的一部分可以称为热图的单元。每个单元可以包括预测概率,该预测概率表示在与热图对应的时间物体将会处于环境中的对应位置的概率。在一些实例中,机器学习模型可以输出多个热图,其中,所述多个热图中的热图可以表示在未来特定时间(例如,0.5秒、1秒、3秒、5秒、10秒等)与物体相关联的概率预测。
在各种示例中,训练组件234可以被配置为在车辆202的运行期间(例如,当车辆在线时)训练机器学习组件232。在一些示例中,训练组件234可以基于物体实际执行的动作来确定用于训练的真值(ground truth)。该真值可以包括物体穿过环境的实际轨迹。在一些示例中,训练组件234可以将真值(例如,所执行的动作)与轨迹模板和/或预测轨迹进行比较。基于该比较,训练组件234可以被配置为训练机器学习组件232,以输出准确的轨迹模板和/或预测轨迹,所输出的轨迹模板和/或预测轨迹可以提供给规划组件236来控制车辆202。
通常,规划组件236可以确定供车辆202遵循来穿越环境的路径。该路径可以包括从第一位置(例如,当前位置)行进到第二位置(例如,目标位置)的路线。出于本讨论的目的,路线可以是用于在两个位置之间行驶的路点(waypoint)序列。作为非限制性示例,路点包括街道、交叉路口、全球定位系统(GPS)坐标等。在一些示例中,规划组件236可以被配置为生成用于沿着从第一位置到第二位置的路线的至少一部分引导自动驾驶车辆202的指令。
在至少一个示例中,规划组件236可以确定如何将自动驾驶车辆从路点序列中的第一路点引导到路点序列中的第二路点。在一些示例中,指令可以包括轨迹或轨迹的一部分。在一些示例中,可以根据滚动时域技术来基本上同时地生成(例如,在技术容差内)多个轨迹,其中,所述多个轨迹中的一个被选择来供车辆202进行导航。在各种示例中,可以基于轨迹模板和/或预测组件228所确定的预测轨迹,确定供车辆穿越环境的轨迹。
在一些示例中,机器学习组件232可以将轨迹模板和/或预测轨迹直接提供给规划组件236。规划组件236随后可以选择或确定车辆202要执行的动作,和/或可以生成供车辆202遵循的轨迹。
在一些实例中,本文所讨论的组件中的一些或所有组件的方面可以包括任何模型、算法和/或机器学习算法。例如,在一些实例中,存储器218(和下文所讨论的存储器242)中的多个组件可以被实现为神经网络。
如本文所述,示例性神经网络是受生物学启发的算法,其将输入数据传递通过一系列连接层来产生输出。神经网络中的每层也可以包括另一神经网络,或者可以包括任意数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以使用机器学习,机器学习可以是其中基于学习到的参数生成输出的一大类算法。
尽管在神经网络的上下文中进行讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于回归算法(例如,普通最小二乘回归(OLSR)、线性回归、逻辑回归、逐步回归、多元自适应回归样条(MARS)、局部估计散点图平滑(LOESS))、基于实例的算法(例如,岭回归、最小绝对收缩和选择运算符(LASSO),弹性网络、最小角度回归(LARS))、决策树算法(例如,分类和回归树(CART)、迭代二分法3(ID3)、卡方自动交互检测(CHAID)、决策树桩、条件决策树)、贝叶斯算法(例如,朴素贝叶斯、高斯朴素贝叶斯、多项朴素贝叶斯、平均单依赖估计量(AODE)、贝叶斯信念网络(BNN)、贝叶斯网络)、聚类算法(例如,k-平均值、k-中位数、期望最大化(EM)、分层聚类)、关联规则学习算法(例如,感知机、反向传播、霍普菲尔德网络、径向基函数网络(RBFN))、深度学习算法(例如,深度玻尔兹曼机(DBM)、深度信念网络(DBN),卷积神经网络(CNN),堆栈自动编码器)、降维度算法(例如,主成分分析(PCA)、主成分回归(PCR)、偏最小二乘回归(PLSR)、萨蒙映射、多维度缩放(MDS)、投影追踪、线性判别分析(LDA)、混合判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA))、集成算法(例如,提升法、引导聚集算法(Bagging)、自适应增强、堆栈泛化(混合)、梯度提升机(GBM)、梯度增强回归树(GBRT),随机森林)、SVM(支持向量机)、有监督学习、无监督学习、半监督学习等。
架构的其它示例包括神经网络,比如ResNet50、ResNet101、VGG、DenseNet、PointNet等。
在至少一个示例中,传感器系统206可以包括激光雷达传感器、雷达传感器、超声波换能器、声纳传感器、位置传感器(例如,GPS、指南针等)、惯性传感器(例如,惯性测量单元(IMU)、加速度计、磁力计、陀螺仪等)、相机(例如RGB、IR、强度、深度等)、飞行时间传感器、麦克风、轮式编码器、环境传感器(例如,温度传感器、湿度传感器、光传感器、压力传感器等)等。传感器系统206可以包括这些或其他类型的传感器中的每一个的多个实例。例如,激光雷达传感器可以包括位于车辆202的角落、前部、后部、侧面和/或顶部的单独的激光雷达传感器。作为另一个示例,相机传感器可以包括布置在车辆202的外部和/或内部周围的各个位置处的多个相机。传感器系统206可以向车辆计算设备204提供输入。附加地或可替代地,传感器系统206可以经由一个或多个网络240,以特定频率,在经过预定时间之后,近乎实时地等向一个或多个计算设备238发送传感器数据。
如上所述,车辆202还可以包括用于发射光和/或声音的一个或多个发射器208。该示例中的发射器208包括用于与车辆202的乘客通信的内部音频发射器和视频发射器。作为示例而非限制,内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或强制反馈)、机械执行器(例如,安全带张紧器、座椅定位器、头枕定位器等)等。该示例中的发射器208还包括多个外部发射器。作为示例而非限制,该示例中的外部发射器包括用于发信号通知行驶方向或车辆动作的其他提示(例如,指示灯、标志、灯阵列等)的灯,以及用于与行人或其他附近车辆进行听觉通信的一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等),,所述音频发射器中的一个或多个包括声束偏转技术。
车辆202还可以包括一个或多个通信连接210。通信连接210实现车辆202与一个或多个其他本地或远程计算设备之间的通信。例如,通信连接210可以促进与车辆202上的其他本地计算设备和/或驱动系统214之间的通信。此外,通信连接210可以允许车辆202与其他附近的计算设备(例如,其他附近的车辆、交通信号等)进行通信。通信连接210还可以使能车辆202与远程遥控操作计算设备或其他远程服务进行通信。
通信连接210可以包括物理接口和/或逻辑接口,用于将车辆计算设备204连接到另一个计算设备或网络,例如网络240。例如,通信连接210可以比如经由IEEE802.11标准定义的频率、比如蓝牙的短程无线频率、蜂巢式通信(例如,2G、3G、4G、4G LTE、5G等)或使能相应计算设备与其他计算设备交互的任何合适的有线或无线通信协议,实现基于Wi-Fi的通信。
在至少一个示例中,车辆202可以包括一个或多个驱动系统214。在一些示例中,车辆202可以包括单个驱动系统214。在至少一个示例中,如果车辆202包括多个驱动系统214,则各个驱动系统214可以被放置于车辆202的相对端处(例如,前部和后部等)。在至少一个示例中,驱动系统214可以包括用于检测驱动系统214和/或车辆202周围环境的状况的一个或多个传感器系统。作为示例而非限制,传感器系统可以包括用于感测驱动系统的车轮转动的一个或多个轮式编码器(例如,旋转编码器),用于测量驱动系统的方位和加速度的惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等),相机或其他图像传感器、用于声学检测驱动系统周围物体的超声波传感器、激光雷达传感器、雷达传感器等。比如轮式编码器的一些传感器是驱动系统214独有的。在一些情况下,驱动系统214上的传感器系统可以重叠或补充车辆202的对应系统(例如,传感器系统206)。
驱动系统214可以包括许多车辆系统,其包括高压电池、用于驱动车辆的电机、用于将来自电池的直流电转换成交流电以供其他车辆系统使用的逆变器、包括转向电机和转向齿条(其可以是电动的)的转向系统、包括液压执行器或电动执行器的剎车系统,包括液压组件和/或气动组件的悬挂系统、用于分配剎车力以减轻牵引力损失并保持控制稳定性的控制系统、HVAC系统、照明系统(例如,用于照亮车辆外部环境的头灯/尾灯等照明系统)、以及一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气组件,比如DC/DC转换器、高压接头、高压电缆、充电系统、充电端口等)。此外,驱动系统214可以包括驱动系统控制器,该驱动系统控制器可以接收和预处理来自传感器系统的数据,并且控制各种车辆系统的操作。在一些示例中,驱动系统控制器可以包括一个或多个处理器以及与一个或多个处理器可通信耦合的存储器。存储器可以存储一个或多个组件来执行驱动系统214的各种功能。此外,驱动系统214还包括一个或多个通信连接,该通信连接使得相应驱动系统能够与一个或多个其他本地计算设备或远程计算设备进行通信。
在至少一个示例中,直接连接212可以提供物理接口来将一个或多个驱动系统214与车辆202的车身耦合。例如,直接连接212可以允许在驱动系统214和车辆之间传递能量、液体、空气、数据等。在一些实例中,直接连接件212可以进一步将驱动系统214可释放地固定到车辆202的车身。
在一些示例中,车辆202可以经由网络240将传感器数据发送到一个或多个计算设备238。在一些示例中,车辆202可以将原始传感器数据发送到计算设备238。在其他示例中,车辆202可以将经过处理后的传感器数据和/或传感器数据的表示发送到计算设备238。在一些示例中,车辆202可以以特定频率、在经过预定时间段之后、近实时地等将传感器数据发送到计算设备238。在一些情况下,车辆202可以将(原始的或处理的)传感器数据作为一个或多个日志文件发送到计算设备238。
计算设备238可以包括处理器244和存储训练组件246的存储器242。在一些示例中,训练组件246可以包括用于训练机器学习模型以输出轨迹模板和/或预测轨迹的功能。机器学习模型可以包括第一网络或第一组网络以及第二网络或第二组网络,第一网络或第一组网络被配置为输出轨迹模板和/或表示未来某个时间(例如,预测范围的结束)的预测物体位置的热图,第二网络或第二组网络被配置为输出预测轨迹。在一些示例中,第二组网络可以包括被配置为基于与轨迹模板相关联的分类来确定预测轨迹的网络。在一些示例中,可以使用一个或多个聚类算法训练第一网络或第一组网络,并且可以使用一个或多个回归算法训练第二网络或第二组网络。
在一些示例中,训练组件246可以包括用于训练机器学习模型以输出包括预测概率的一个或多个热图的功能。例如,训练组件246可以接收表示环境的自顶向下视图的一组图像。在一些情况下,该组图像可以表示在一段时间(例如5秒、7秒、10秒、20秒等)内穿越环境的一个或多个物体。该组图像中的至少一部分可以用作输入来训练机器学习模型,并且该组图像的至少一部分可以用作训练机器学习模型的真值信息。作为非限制性示例,可以将图像序列中的第一组图像(例如,3个、4个、5个或更多)输入到机器学习模型中。在一些实例中,车辆202的路径和/或路线(例如,轨迹)也可以是训练的输入(例如,可被编码为多通道图像的通道)。接着,可以将图像序列中紧接在第一组图像之前的的第二组图像(或与其相关联的轨迹信息-例如,通过从多个图像中提取多个位置和/或速度)用作训练模型的真值。因此,通过提供物体穿越环境的轨迹记录的图像,预测组件228可以被训练来输出轨迹模板、预测轨迹和/或包括预测概率的热图,如本文所讨论的。
在一些示例中,训练组件246可以包括已经由仿真器生成的训练数据。例如,仿真训练数据可以表示车辆与环境中的物体碰撞或几乎与环境中的物体碰撞的示例以提供附加的训练示例。
下文结合图2B以及在整个本公开内容中讨论训练组件246的其它细节。
车辆202的处理器216和计算设备238的处理器244可以是能够执行用于处理数据和执行如本文所述的操作的指令的任何合适的处理器。作为示例而非限制,处理器216和244可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、或用于处理电子数据以将该电子数据转换为可存储在寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,集成电路(例如,ASIC等)、门阵列(例如,FPGA等)和其他硬件设备也可以被认为是处理器,只要它们被配置为实现编码指令。
存储器218和242是非暂时性计算机可读介质的示例。存储器218和242可以存储操作系统和一个或多个软件应用程序、指令、程序和/或数据,以实现本文描述的方法和归属于各种系统的功能。在各种实施方式中,存储器可以使用任何合适的存储器技术来实现,比如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器或能够存储信息的任何其他类型的存储器。本文所描述的架构、系统和单独元素可以包括许多其他逻辑组件、编程组件和物理组件,其中附图中所示的那些仅仅是与本文的讨论相关的示例。
在一些实例中,存储器218和242可以至少包括工作存储器和储存存储器。例如,工作存储器可以是用于存储要由处理器216和244操作的数据的具有有限容量的高速存储器(例如,缓存)。在一些实例中,存储器218和242可以包括储存存储器,储存存储器可以是用于长期存储数据的具有相对较大容量的低速存储器。在一些情况下,处理器216和244可以不直接对存储在储存存储器中的数据进行操作,并且可能需要将数据加载到工作存储器中以基于数据执行操作,如本文所讨论的。
应注意,虽然图2被例示为分布式系统,但在替代示例中,车辆202的组件可以与计算设备238相关联,和/或计算设备238的组件可以与车辆202相关联。也就是说,车辆202可以执行与计算设备238相关联的功能中的一个或多个功能,反之亦然。
图2B描绘了用于训练机器学习模型以实现本文所描述的技术的示例训练组件的方框图248。
在一些示例中,训练数据250可以包括车辆在其穿过环境时所捕获的数据。在各种示例中,训练数据250可以包括与训练数据中的每个物体相关联的物体的类型(例如,行人、车辆、自行车骑行者等)。在一些示例中,训练数据250可以包括对应于与环境相关联的一个或多个场景(例如,高速公路、汇合处(例如,道路分叉处、四向交叉路口等)的信息。在这些示例中,机器学习组件232可以被训练来基于与不同类型的物体和/或不同场景相关联的数据确定轨迹模板和预测轨迹。在一些示例中,输入252可以是至少部分地基于训练数据250。
包括一个或多个多通道图像的输入252可以被输入到机器学习组件232。如上所述,机器学习组件232可以使用一种或多种无监督学习算法(比如聚类算法)来确定与物体相关联的轨迹模板。
在一些示例中,机器学习组件232可以包括ResNet架构。在一些示例中,机器学习组件232可以包括ResNet架构作为基础构架。
在一些示例中,输出特征图可以经过1×1的卷积以获得最终通道维度,其可以被双线性(或以其他方式)上采样(例如,经由上采样组件254)以匹配输入分辨率,其被表示为输出256(例如,轨迹模板和预测估计)。
在一些示例中,可以使用sigmoid函数的交叉熵损失来将机器学习组件232输出的对数几率(logit)与训练数据250(例如表示占用地图的真值)进行比较。
交叉熵损失和/或概率质量组件258可以包括用于将输出的多个对数几率与训练数据250进行比较的功能。接着,可以根据以下函数在训练数据250中的已占用像素和未占用像素之间平衡所得损失矩阵:
其中,Li是根据未来第i步的sigmoid函数的交叉熵损失获得的损失矩阵。N是预测的未来步数。术语loccupied和lunoccupied是用于表示物体在未来的占用地图和非占用地图的指标矩阵,,并且noccupied和nunoccupied表示未来的已占用单元和未占用单元的数量。跨占用平衡可以确保相等数量(或大致相等)的已占用梯度和未占用梯度通过反向传播进行传递,并且预测组件228可以不偏向于将所有单元预测为被占用或将所有单元预测为未被占用。
上方等式(1)中指定的密集分段代价可能不会保留场景中实体的总数。在一些示例中,交叉熵损失和/或概率质量组件258可以包括附加代价以最小化场景中的预测组件228所预测的总概率质量(例如,与热图相关联的概率的总和、与所预测的未来位置相关联的总概率分布)与已占用单元的实际数量之间的差值:
其中,φi表示未来第i步的占用地图。通过添加概率质量组件,预测组件228可以在可用单元之间分发总概率质量而不产生附加的概率质量。例如,如果自动驾驶车辆具有两种可能的模式,那么网络就可以在两种模式之间分发占用概率而不增加任何附加的占用概率。
此外,约束或以其他方式管理场景的质量限制了网络将其它物体添加到环境中的可用性,这可以简化处理过程。
图3例示了根据本公开的示例的包括轨迹网络302的预测系统300,轨迹网络302被配置为确定与所确定的与物体相关联的轨迹模板306相关联的预测轨迹304。
如图所示,预测系统300中的第一网络308(所例示的网络A)可以接收表示车辆环境的一个或多个图像310。如本文所述,图像310可以包括多通道图像。图像可以包括但不限于物体数据(例如,表示在环境中检测到的物体的边界框、与物体相关联的速度信息(x方向和y方向)、与物体相关联的加速度信息(x方向和y方向)、物体的类型(例如,车辆、行人、自行车骑行者、踏板车、滑板等)、与边界框相关联的指示灯闪烁状态(例如,左转、右转、剎车、倒车、危险、无灯等)等、道路网络信息(例如,用于指示车道、人行横道、停车标志、交叉路口、交通信号灯等的语义标签)、环境中的一个或多个场景(例如,高速公路、汇合处(例如,道路分叉处、四向交叉路口等)、交通信号灯状态(例如,红灯、黄灯、绿灯等)、车辆数据(例如,路线、轨迹等)等。在这种图像中,关于物体和环境的语义信息可以被编码于一个或多个通道中,如本文中详细讨论的。
第一网络308可以被配置为接收图像310,并且生成表示环境的全局特征图312。在各种示例中,第一网络308可以包括神经网络。在至少一个示例中,第一网络308可以包括CNN,但是本文可以考虑其他类型的网络。在各种示例中,特征图312可以表示环境中所检测到的物体的联合历史纪录。联合历史纪录可以包括物体之间的依赖关系(例如,一个物体对另一个物体的反应)。联合历史纪录可以包括独立的物体(例如,独立于其他物体运行的物体)。
在各种示例中,预测系统300可以被配置为基于特征图312确定一个或多个每一物体的特征314。在一些示例中,每一物体的特征314可以表示为与每个所检测到的物体相关联的特征向量。在各种示例中,每一物体的特征314可以基于与特征图312中表示的每个物体相关联的空间位置。
在各种示例中,每一物体的特征314可以输入到模板网络316中。在这些示例中,模板网络316可以被配置为部分地基于所输入的每一物体的特征314来输出与每个检测到的物体相关联的轨迹模板306(例如一个或多个轨迹模板306)。在各种示例中,模板网络316可以包括神经网络。在一些示例中,模板网络316可以包括密集神经网络。在至少一个示例中,可以使用无监督学习算法来训练模板网络316,但是可以使用与本公开一致的任何类型的机器学习。
在各种示例中,轨迹模板306和每一物体的特征314可以组合(例如,级联)并输入到轨迹网络302中。轨迹网络302可以被配置为输出与每个检测到的物体相关联的预测轨迹304。在各种示例中,轨迹网络302可以包括神经网络。在一些示例中,轨迹网络302可以包括密集神经网络。可以使用无监督学习算法和/或有监督学习算法来训练轨迹网络302,但是可以使用与本公开一致的任何类型的机器学习。在例示性示例中,单个轨迹网络302可以被配置为针对每个所输出的轨迹模板306确定预测轨迹304。在其他示例中,如图4所示,预测系统300可以包括两个或多个轨迹网络302,每个轨迹网络被配置为确定针对特定轨迹模板306的预测轨迹304。
在各种示例中,预测系统可以包括训练组件320,比如,训练组件234,训练组件被配置为基于所观测到的数据(例如,真值物体轨迹322)训练预测系统的至少一个网络。在各种示例中,训练组件320可以在步骤324从真值物体轨迹322中提取轨迹模板。在一些示例中,真值物体轨迹322可以包括在车辆运行(例如,车辆在环境中运行)期间由感知系统观测到的轨迹(例如,实际物体轨迹)。这些轨迹模板可以例如基于例如将运动广泛地分类为几种类型的运动(保持不动、改变车道、留在车道上、左转、右转等)来确定。
在一些示例中,在步骤326,可以级联从真值物体轨迹322中提取(在步骤324)的轨迹模板,并且级联后的数据可以用于训练轨迹网络302和/或模板网络316。
在各种示例中,可以联合训练模板网络316和轨迹网络302。在这些示例中,轨迹模板306可以在训练中加强预测轨迹304,反之亦然。
图4例示了根据本公开的示例的示例预测系统400,该示例预测系统400包括第一轨迹网络402和第二轨迹网络408,第一轨迹网络402被配置为基于轨迹模板406中的第一轨迹模板以确定第一预测轨迹404,第二轨迹网络408被配置为基于轨迹模板406中的第二轨迹模板确定第二预测轨迹410。
如图所示,预测系统400的第一网络412(所例示的网络A)可以接收表示车辆环境的一个或多个图像414。如本文所述,图像414可以包括多通道图像。图像可以包括但不限于物体数据(例如,表示在环境中检测到的物体的边界框、与物体相关联的速度信息(x方向和y方向)、与物体相关联的加速度信息(x方向和y方向)、物体的类型(例如,车辆、行人、自行车骑行者、踏板车、滑板等)、与边界框相关联的指示灯闪烁状态(例如,左转、右转、剎车、倒车、危险、无灯等)等)、道路网络信息(例如,用于指示车道、人行横道、停车标志、交叉路口、交通信号灯等的语义标签)、环境中的一种或多种场景(如高速公路、汇合处(如道路分叉处、四向交叉路口等)、交通信号灯状态(如红灯、黄灯、绿灯等)、车辆数据(例如,路线、轨迹等)等。在这种图像中,关于物体和环境的语义信息可以被编码在一个或多个通道中,如本文中详细讨论的。
第一网络412可以被配置为接收图像414,并且生成表示环境的全局特征图416。在各种示例中,第一网络412可以包括神经网络。在至少一个示例中,第一网络412可以包括CNN,但是在本文中可以考虑其他类型的网络。在各种示例中,特征图416可以表示环境中检测到的物体的联合历史纪录。联合历史纪录可以包括物体之间的依赖关系(例如,一个物体对另一物体的反应)。在一些示例中,联合历史纪录可以通过环境中物体的物理接近度(例如,第一物体和第二物体之间的低于阈值的距离)、瞬时轨迹之间的低于阈值的角度(例如,指示物体可能正在彼此接近)等方式来确定。联合历史纪录可以包括独立的物体(例如,独立于其他物体运行的物体)。
在各种示例中,预测系统400可以被配置为基于特征图416确定一个或多个每一物体的特征418。在一些示例中,每一物体的特征418可以表示与每个检测到的物体相关联的特征向量。在各种示例中,每一物体的特征418可以基于与特征图416中表示的每个物体相关联的多个空间位置。
在各种示例中,每一物体的特征418可以输入到模板网络420中。模板网络420可以被配置为输出与每个检测到的物体相关联的轨迹模板406(例如,一个或多个轨迹模板406)。在各种示例中,模板网络420可以包括神经网络。在一些示例中,模板网络420可以包括密集神经网络。在至少一个示例中,可以使用无监督学习算法来训练模板网络420,但是可以使用与本公开一致的任何类型的机器学习。
在各种示例中,轨迹模板406中的第一轨迹模板以及与对应于第一轨迹模板的第一物体相关联的每一物体的特征418可以输入到第一轨迹网络402,以确定与第一物体相关联的第一预测轨迹404。在一些示例中,轨迹模板406中的第二轨迹模板以及与对应于第二轨迹模板的第二物体相关联的每一物体的特征418可以输入到第二轨迹网络408,以确定与第二物体相关联的第二预测轨迹410。
轨迹网络402和408可以被配置为输出与第一物体和第二物体相关联的预测轨迹404和410。在一些示例中,预测轨迹404和410可以分别与第一物体和第二物体相关联。在这些示例中,第一轨迹网络402可以基于与第一物体相关联的轨迹模板输出与第一物体相关联的第一预测轨迹404,以及第二轨迹网络408可以基于与第二物体相关联的轨迹模板406输出与第二物体相关联的第二预测轨迹410。在一些示例中,第一预测轨迹404和第二预测轨迹410可以与第一物体或第二物体中的一个相关联,比如,基于与其相关联的不同轨迹模板406。在这些示例中,本文所描述的技术可以进一步改进与物体相关联的多种预测。例如,第一物体可能具有与其相关联的第一轨迹模板(右转)和第二轨迹模板(左转)。第一预测轨迹404可以基于与第一物体相关联的第一轨迹模板,并且第二预测轨迹410可以基于与第一物体相关联的第二轨迹模板。在各种示例中,轨迹网络402和408可以包括神经网络。在一些示例中,轨迹网络402和408可以包括密集神经网络。轨迹网络402和408可以使用无监督学习算法和/或有监督学习算法进行训练。
在各种示例中,第一轨迹网络402可以与第一轨迹模板相关联,并且第二轨迹网络408可以与第二(不同的)轨迹模板相关联。在这些示例中,可以使用与第一轨迹模板相关联的训练数据来训练第一轨迹网络,并且可以使用与第二轨迹模板相关联的训练数据来训练第二轨迹网络。在一些示例中,第一轨迹网络402可以与第一分类(例如,运动分类、运动类别、右转、直行、左转等)相关联,该第一分类与第一轨迹模板相关联,并且第二轨迹网络408可以与第二分类相关联,该第二分类与第二轨迹模板相关联。例如,可以训练第一轨迹网络以确定与和所预测的大致(例如,粗略)向右运动相关联的轨迹模板相关联的预测轨迹,并且可以训练第二轨迹网络以确定与和预测的大致向左运动相关联的轨迹模板相关联的预测轨迹,。但是这仅仅是用于例示性目的的示例,并且不意在如此限制。在一些示例中,比如图3中所示的示例,单一网络可以被配置为针对一个或多个轨迹模板406确定预测轨迹。在一些示例中,单一网络可以被配置为针对模板网络420输出的所有轨迹模板确定预测轨迹。
图1、图2B、图5和图6例示了根据本公开的实施例的示例过程。这些过程被例示为逻辑流程图,逻辑流程图中的每个操作表示可以在硬件、软件或其组合中实现的操作序列。在软件的上下文中,操作表示存储在一个或多个计算机可读储存介质上的计算机可执行指令,当由一个或多个处理器执行时,该计算机可执行指令执行所列举的操作。通常,计算机可执行指令包括用于执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。操作的描述顺序不旨在被解释为限制,并且所描述的操作中的任何数量操作可以以任何顺序和/或并行组合来实现所述过程。
图5描绘了根据本公开的示例的示例过程500,示例过程500用于确定物体存在于车辆环境中、确定与物体相关联的轨迹模板和预测轨迹,以及部分地基于预测轨迹控制车辆。例如,过程500中的一些或全部可以由图2A中的一个或多个组件执行,如本文所述。例如,过程500的一些或全部可以由车辆计算设备204和/或计算设备238执行。
在操作502中,该过程可以包括接收与环境相关联的传感器数据。传感器数据可以由车辆的一个或多个传感器和/或一个或多个远程传感器捕获。例如,传感器数据可以包括由激光雷达传感器、雷达传感器、图像传感器、飞行时间传感器、声纳传感器等中的一个或多个捕获的数据。在一些示例中,操作502可以包括使用多个传感器捕获传感器数据,并且将传感器数据融合或组合成环境的细节和信息表示。例如,传感器数据可以包括但不限于边界框信息、速度信息/加速度信息、分类等。在一些示例中,可以接收可对关于环境的其它数据(人行横道的位置、车道边界等)加以编码的其它数据(例如地图数据)。
在操作504中,该过程可以包括确定物体是否在传感器数据中被表示。例如,操作504可以包括将传感器数据的至少一部分输入到检测器或将该数据提供给检测算法或感知算法(例如,感知组件222)以识别环境中的一个或多个物体。物体的示例包括但不限于车辆、行人、自行车、滑板、踏板车等。如果没有检测到物体(例如,操作504中的“否”),则过程可以返回到操作502以捕获其它传感器数据。
基于确定为检测到物体(例如,操作504中的“是”),在操作506中,该过程可以包括至少部分地基于传感器数据生成表示环境的自顶向下视图的图像,该图像包括与物体相关联的边界框以及与物体相关联的速度信息。在一些示例中,图像可以包括加速度信息(取代速度信息或除了速度信息之外)。
图像中可以包含的其他信息可以包括但不限于:用于表示与边界框相关联的物体的分类的边界框的颜色,其边界框在x方向和y方向上的速度(其中,速度可以表示为一个通道或多个通道中的向量,其中,在不同通道中表示x速度和y速度)、物体在x方向和y方向上的加速度(其中,加速度可以表示为一个通道或多个通道中的向量,其中,在不同通道中表示x加速度和y加速度)、与边界框相关联的指示灯闪烁状态(例如,左转、右转、剎车、倒车、危险、无灯等)、道路网络信息(例如,用于指示车道、人行横道、停车标志、十字路口、交通信号灯等的语义标签)、交通信号灯状态(例如,红灯、黄灯、绿灯等)等。在这种图像中,关于物体和环境的语义信息可以编码在一个或多个通道中,如本文详细讨论的。
如本文所讨论的,操作506可以包括生成表示物体在环境中随时间变化的行为的图像。
在操作508中,该过程可以包括将图像输入到机器学习模型。这种机器学习模型可以被训练来生成与物体相关联的轨迹模板和预测轨迹。在一些示例中,机器学习模型可以被训练来生成多个预测概率(例如,作为热图)。机器学习模型、轨迹模板、预测轨迹、热图和预测概率的其它细节在本公开中已经讨论。
在操作510中,该过程可以包括至少部分地基于轨迹模板或预测轨迹中的至少一个来控制车辆。在一些示例中,控制车辆可以包括控制自动驾驶车辆的转向、剎车和/或加速中的一项或多项以穿越环境。在各种示例中,操作510可以包括将轨迹模板和/或预测轨迹发送到规划组件,比如规划组件236。在这些示例中,规划组件可以至少部分地基于与物体相关联的轨迹模板或预测轨迹中的至少一个,确定与车辆控制相关联的一个或多个车辆轨迹。在一些示例中,与在没有轨迹模板或预测轨迹中的至少一个的情况下生成的车辆轨迹相比,基于轨迹模板或预测轨迹中的至少一个的车辆轨迹可以表示更为安全和/或更为平滑的车辆轨迹,这是因为用于生成轨迹的规划组件236可以更密切地预测车辆附近的实体的动作。
图6描绘了根据本公开的示例的示例过程600,该示例过程600用于基于与物体相关联的联合历史纪录来确定与环境中检测到的物体相关联的预测轨迹。例如,过程600中的一些或全部可以由图2中的一个或多个组件执行,如本文所述。例如,过程600中的一些或全部可以由车辆计算设备204和/或计算设备238执行。
在操作602中,该过程可以包括接收与环境相关联的传感器数据。传感器数据可以由车辆的一个或多个传感器和/或一个或多个远程传感器捕获。例如,传感器数据可以包括由激光雷达传感器、雷达传感器、图像传感器、飞行时间传感器、声纳传感器等中的一个或多个捕获的数据。在一些示例中,操作602可以包括使用传感器捕获传感器数据,并且将传感器数据融合或组合成环境的细节和信息表示。例如,传感器数据可以包括但不限于边界框信息、速度信息/加速度信息、分类等。在一些示例中,可以接收可对关于环境的其它数据(人行横道的位置、车道边界等)加以编码的其它数据(例如地图数据)。
在操作604中,该过程可以包括确定一个或多个物体是否被表示在传感器数据中。例如,操作604可包括将传感器数据的至少一部分输入到检测器或将数据提供给检测算法或感知算法(例如,感知组件222)以识别环境中的一个或多个物体。物体的示例包括但不限于车辆、行人、自行车、滑板、踏板车等。如果没有检测到物体(例如,操作604中的“否”),则该过程可以返回到操作602以捕获其它的传感器数据。
基于确定为检测到物体(例如,操作604中的“是”),在操作606中,该过程可以包括至少部分地基于传感器数据生成用于表示环境中的物体之间的联合历史纪录(例如,物体的各自运动和/或物体之间的交互作用的组合历史记录)的特征图。在各种示例中,特征图可以包括多个多通道图像的组合,如本文所述。物体的联合历史纪录可以包括环境中的物体之间的交互作用,比如第一物体让行于第二物体的指示等。
在操作608中,该过程可以包括至少部分地基于特征图确定与所述物体中的第一物体相关联的第一特征向量以及与所述物体中的第二物体相关联的第二特征向量。第一特征向量和第二特征向量可以分别表示与第一物体和第二物体相关联的运动。在各种示例中,第一特征向量可以基于与第一物体相关联的第一空间位置,并且第二特征向量可以基于与第二物体相关联的第二空间位置。
在操作610中,该过程可以包括至少部分地基于第一特征向量和第二特征向量来确定与第一物体相关联的第一轨迹模板以及与第二物体相关联的第二轨迹模板。第一轨迹模板和第二轨迹模板可以分别表示与第一物体和第二物体相关联的运动的意图的分类。例如,第一轨迹模板可以表示第一物体在未来(从T=0时开始)的大致(或粗略)预期移动,并且第二轨迹模板可以表示第二物体在未来的大致预期移动。在一些示例中,轨迹模板可以由网格中的一个或多个未来位置表示,其可以通过下述处理来确定:对物体在未来的潜在位置进行栅格化处理,在T=0之前的时间、在T=0的时间等执行速度分析,和/或对物体的历史位置和/或(例如,被栅格化或以其他方式处理)潜在位置使用聚类算法。
在各种示例中,可以使用比如图3中的模板网络316和/或图4中的模板网络420的模板网络,确定第一轨迹模板和第二轨迹模板。模板网络可以表示被配置为输出一个或多个轨迹模板的神经网络(例如,CNN)。模板网络可以基于输入的特征向量输出轨迹模板。在一些示例中,模板网络可以被配置为基于传感器数据、多通道图像和/或根据传感器数据和多通道图像确定的特征图,输出轨迹模板。
在操作612中,该过程可以包括至少部分地基于第一特征向量和第一轨迹模板确定与第一物体相关联的第一预测轨迹,以及至少部分地基于第二特征向量和第二轨迹模板确定与第二物体相关联的第二预测轨迹。在各种示例中,可以使用一个或多个神经网络来确定第一预测轨迹和第二预测轨迹。在一些示例中,一个或多个网络可以包括一个或多个密集神经网络。
在一些示例中,可以利用单一神经网络来确定第一预测轨迹和第二预测轨迹。在这些示例中,神经网络可以被配置为确定轨迹,而不考虑其意图(例如,一个神经网络确定与所有轨迹模板相关联的轨迹)。在各种示例中,可以使用第一神经网络来确定第一预测轨迹,并且可以使用第二神经网络来确定第二预测轨迹。在这些示例中,基于第一轨迹模板和第二轨迹模板的第一预测轨迹和第二预测轨迹可以表示第一物体和第二物体的不同意图分类。例如,第一物体可以具有与其相关联的包括向左运动的第一轨迹模板,并且第二物体可以具有与其相关联的包括向右运动的第二轨迹模板。可以考虑任何其他运动(例如,直行、微向右、微向左、急右、急左等)。
示例条款
A:一种基于计算机实现的方法,包括:接收由自动驾驶车辆的传感器捕获的环境的传感器数据;至少部分基于所述传感器数据生成用于表示环境的自顶向下视图的多通道图像,所述多通道图像表示与所述环境中的物体相关联的边界框,将所述多通道图像输入机器学习模型;从所述机器学习模型接收用于指示与所述物体相关联的运动的类别的轨迹模板和与所述物体相关联的预测轨迹;并且至少部分地基于所述轨迹模板或所述预测轨迹中的至少一个控制所述自动驾驶车辆。
B:如段落A所述的基于计算机实现的方法,其中:所述物体是第一物体;所述多通道图像包括与第二物体相关联的数据;所述轨迹模板是第一轨迹模板;并且所述第一轨迹模板和第二轨迹模板至少部分地基于所述第一物体和所述第二物体之间的交互作用。
C:如段落A或段落B所述的基于计算机实现的方法,其中,所述机器学习模型包括:第一神经网络,用于输出至少部分地基于所述环境中的所述物体的历史纪录确定的特征图;第二神经网络,用于至少部分地基于与所述特征图相关联的特征向量输出所述轨迹模板;以及第三神经网络,用于至少部分地基于所述轨迹模板和所述特征向量输出预测轨迹。
D:如段落C所述的基于计算机实现的方法,其中,所述第二神经网络被进一步配置为输出与所述物体相关联的热图;并且所述自动驾驶车辆被至少部分地基于所述热图进一步控制。
E:如段落C所述的基于计算机实现的方法,其中,所述第三神经网络至少部分地基于轨迹模板的第一分类输出所述预测轨迹,并且其中,所述机器学习模型进一步包括:第四神经网络,用于至少部分基于所述轨迹模板的第二分类以及所述特征向量输出所述预测轨迹,所述方法还包括至少部分地基于与所述轨迹模板相关联的分类,将所述轨迹模板输入到所述第三神经网络或所述第四神经网络中的一个或多个。
F:一种系统或设备,包括:处理器;以及存储指令的非暂时性计算机可读介质,当所述指令被执行时,使得所述处理器执行如段落A-E中的任何一个所述的基于计算机实现的方法。
G:一种系统或设备,包括:用于处理的装置;以及与用于处理的装置耦合的用于存储的装置,所述用于存储的装置包括用于将一个或多个设备配置来执行如段落A-E中的任何一个所述的基于计算机实现的方法的指令。
H:一种系统,包括:一个或多个处理器;一个或多个计算机可读介质,所述计算机可读介质存储可由所述一个或多个处理器执行的多个指令,其中,所述指令在被执行时,使得所述系统执行包括以下操作的操作:接收表示环境中物体的数据;至少部分地基于数据生成用于表示环境的自顶向下视图的图像,所述图像表示所述物体以及与所述物体相关联的运动信息;将所述图像输入到机器学习模型;以及从所述机器学习模型接收与所述物体相关联的轨迹模板和预测轨迹,所述轨迹模板指示与所述物体相关联的运动的类别。
I:如段落H所述的系统,其中,所述预测轨迹被表示为热图,所述热图包括与所述物体相关联的可能位置的预测概率。
J:如段落H或I所述的系统,其中,所述机器学习模型包括:第一神经网络,用于输出特征图;第二神经网络,用于至少部分地基于与所述物体相关联的所述特征图的一部分输出所述轨迹模板;以及第三神经网络,用于至少部分基于所述轨迹模板输出所述预测轨迹。
K:如段落J所述的系统,其中,所述第三神经网络至少部分地基于多个轨迹模板输出所述预测轨迹。
L:如段落J所述的系统,其中,所述第三神经网络至少部分地基于所述轨迹模板的第一分类输出所述预测轨迹,所述机器学习模型还包括:第四神经网络,用于至少部分地基于所述轨迹模板的第二分类输出所述预测轨迹。
M:如段落J所述的系统,其中:所述物体数据包括与所述环境中的两个或多个物体相关联的数据;并且所述特征图包括在所述环境中确定的所述两个或多个物体的联合历史数据。
N:如段落H-M中任一段所述的系统,其中:所述图像还包括一个或多个通道,所述一个或多个通道包括所述环境中的其它物体的其它物体信息;并且所述图像是与当前时间之前的一个或多个在先时间相关联的多个图像中的一个图像。
O:如段落N所述的系统,其中,所述图像表示所述物体和所述其它物体之间的交互作用,并且其中,所述预测轨迹和与所述其它物体相关联的至少一个其他预测轨迹至少部分地基于所述交互作用。
P:如段落H-O中任一段所述的系统,所述操作还包括使得所述系统至少部分地基于与所述物体相关联的所述轨迹模板或所述预测轨迹中的至少一个来控制车辆。
Q:如段落H-P中任一段所述的系统,其中,所述图像是多通道图像,所述多通道图像包括以下中的至少一个:与物体相关联的语义数据;与所述物体相关联的速度数据;与所述物体相关联的加速度数据;与所述环境相关联的场景数据;与所述环境相关联的道路网络;或与所述环境中的车辆相关联的车辆数据。
R:如段落H-Q中任一段所述的系统,其中,所述机器学习模型被训练为:至少部分基于聚类算法确定所述轨迹模板;并且至少部分地基于回归算法确定所述预测规则。
S:一个或多个存储指令的非暂时性计算机可读介质,当所述执行被执行时,使得一个或多个处理器执行包括下述的操作:接收表示环境中的物体的数据;至少部分地基于所述数据生成用于表示环境的至少自顶向下视图的图像;将所述图像输入到机器学习模型;从所述机器学习模型接收与所述物体相关联的轨迹模板和预测轨迹,所述轨迹模板指示与所述物体相关联的运动的类别。
T:如段落S所述的一个或多个非暂时性计算机可读介质,其中,所述图像是多通道图像,所述多通道图像包括以下中的至少之一:与物体相关的语义数据;与所述物体相关联的速度数据;与所述物体相关联的加速度数据;与所述环境相关联的场景数据;与所述环境相关联的道路网络;
或与所述环境中的车辆相关联的车辆数据。
U:如段落S或T所述的一个或多个非暂时性计算机可读介质,其中,所述机器学习模型包括:第一神经网络,用于输出轨迹模板;至少一个第二神经网络,用于至少部分地基于所输出的轨迹模板来输出预测轨迹。
V:如段落S-U中任一段所述的一个或多个非暂时性计算机可读介质,其中,所述操作进一步包括:至少部分地基于与所述物体相关联的所述轨迹模板或所述预测轨迹中的至少一个来控制车辆。
尽管上述示例条款是针对一种特定实施方式进行描述的,但应理解,在本文档的上下文中,示例条款的内容也可以经由方法、设备、系统、计算机可读介质和/或其他实现方式来实现。此外,任何示例A-V都可以单独实施或与示例A-V中的任何其他一个或多个示例组合实施。
结论
尽管已经描述了本文中所描述的技术的一个或多个示例,但其各种改变、增加、置换和等效物都包括在本文所描述的技术的范围内。
在示例的描述中,参考了构成其一部分的附图,这些附图通过图解的方式示出了要求保护的目标的具体示例。应当理解的是,可以使用其他示例并且可以进行改变或变更,例如结构的改变。这些示例、改变或变更不一定会脱离关于预期要求保护的目标的范围。尽管本文中的步骤可以以特定顺序呈现,但在某些情况下,可以改变顺序,使得在不同时间或以不同顺序提供特定输入,而不改变所描述的系统和方法的功能。所公开的过程也可以以不同的多个顺序执行。另外,本文中的各种计算不需要按照所公开的顺序执行,并且可以容易地实施使用替代计算顺序的其他示例。除了重新排序之外,所述计算还可以被分解为具有相同结果的多个子计算。
Claims (15)
1.一种基于计算机实现的方法,包括:
接收由自动驾驶车辆的传感器捕获的环境的传感器数据;
至少部分基于所述传感器数据生成用于表示所述环境的自顶向下视图的多通道图像,所述多通道图像表示与所述环境中的物体相关联的边界框;
将所述多通道图像输入机器学习模型;
从所述机器学习模型接收用于指示与所述物体相关联的运动的类别的轨迹模板以及与所述物体相关联的预测轨迹;以及
至少部分地基于所述轨迹模板或所述预测轨迹中的至少一个来控制所述自动驾驶车辆。
2.根据权利要求1所述的基于计算机实现的方法,其中:
所述物体是第一物体;
所述多通道图像包括与第二物体相关联的数据;
所述轨迹模板是第一轨迹模板;以及
所述第一轨迹模板和第二轨迹模板至少部分地基于所述第一物体和所述第二物体之间的交互作用。
3.根据权利要求1或2所述的基于计算机实现的方法,其中,所述机器学习模型包括:
第一神经网络,用于输出至少部分地基于所述环境中的所述物体的历史纪录确定的特征图;
第二神经网络,用于至少部分地基于与所述特征图相关联的特征向量输出所述轨迹模板;以及
第三神经网络,用于至少部分地基于所述轨迹模板和所述特征向量输出所述预测轨迹。
4.根据权利要求3所述的基于计算机实现的方法,其中:
所述第二神经网络被进一步配置为输出与所述物体相关联的热图;以及
所述自动驾驶车辆进一步被至少部分地基于所述热图进行控制。
5.根据权利要求3所述的基于计算机实现的方法,其中,所述第三神经网络至少部分基于轨迹模板的第一分类输出所述预测轨迹,并且其中,所述机器学习模型还包括:
第四神经网络,用于至少部分基于所述轨迹模板的第二分类和所述特征向量输出所述预测轨迹,
所述方法还包括至少部分地基于与所述轨迹模板相关联的分类,将所述轨迹模板输入到所述第三神经网络或所述第四神经网络中的一个或多个。
6.一个或多个用于存储指令的非暂时性计算机可读介质,所述指令在执行时,使得一个或多个处理器实现根据权利要求1-5中任一项所述的基于计算机实现的方法。
7.一种系统,包括:
一个或多个处理器;以及
一个或多个用于存储可由一个或多个处理器执行的指令的计算机可读介质,其中,所述指令在被执行时,使得系统执行包括以下操作的操作:
接收表示环境中的物体的数据;
至少部分基于所述数据生成用于表示所述环境的自顶向下视图的图像,所述图像表示所述物体以及与所述物体相关联的运动信息;
将所述图像输入机器学习模型;以及
从所述机器学习模型接收与所述物体相关联的轨迹模板和预测轨迹,所述轨迹模板表示与所述物体相关联的运动的类别。
8.根据权利要求7所述的系统,其中,所述预测轨迹被表示为热图,所述热图包括与所述物体相关联的可能位置的预测概率。
9.根据权利要求7或8中任一项所述的系统,其中,所述机器学习模型包括:
第一神经网络,用于输出特征图;
第二神经网络,用于至少部分地基于与所述物体相关联的所述特征图的一部分输出所述轨迹模板;以及
第三神经网络,用于至少部分地基于所述轨迹模板输出所述预测轨迹。
10.根据权利要求9所述的系统,其中:
所述物体数据包括与所述环境中的两个或多个物体相关联的数据;以及
所述特征图包括在所述环境中确定的所述两个或多个物体的联合历史数据。
11.根据权利要求7至10中任一项所述的系统,其中:
所述图像还包括一个或多个通道,所述一个或多个通道包括所述环境中的其它物体的其它物体信息;以及
所述图像是与当前时间之前的一个或多个在先时间相关联的多个图像中的一个图像。
12.根据权利要求11所述的系统,其中,所述图像表示所述物体和所述其它物体之间的交互作用,并且其中,所述预测轨迹以及与所述其它物体相关联的至少一个其他预测轨迹至少部分地基于所述交互作用。
13.根据权利要求7至12中任一项所述的系统,其中,所述操作还包括使得所述系统至少部分地基于与所述物体相关联的所述轨迹模板或所述预测轨迹中的至少一个来控制车辆。
14.根据权利要求7至13中任一项所述的系统,其中,所述图像是多通道图像,所述多通道图像包括以下中的至少一项:
与物体相关联的语义数据;
与所述物体相关联的速度数据;
与所述物体相关联的加速度数据;
与所述环境相关联的场景数据;
与所述环境相关联的道路网络;或
与所述环境中的车辆相关联的车辆数据。
15.根据权利要求7至14中任一项所述的系统,其中,所述机器学习模型被训练为:至少部分基于聚类算法确定所述轨迹模板;并且至少部分地基于回归算法确定所述预测轨迹。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/719,780 | 2019-12-18 | ||
US16/719,780 US11276179B2 (en) | 2019-12-18 | 2019-12-18 | Prediction on top-down scenes based on object motion |
PCT/US2020/064184 WO2021126651A1 (en) | 2019-12-18 | 2020-12-10 | Prediction on top-down scenes based on object motion |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114845913A true CN114845913A (zh) | 2022-08-02 |
Family
ID=76439316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080089929.XA Pending CN114845913A (zh) | 2019-12-18 | 2020-12-10 | 基于物体运动的自顶向下场景预测 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11276179B2 (zh) |
EP (1) | EP4077084A4 (zh) |
JP (1) | JP2023507390A (zh) |
CN (1) | CN114845913A (zh) |
WO (1) | WO2021126651A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777947A (zh) * | 2023-06-21 | 2023-09-19 | 上海汉朔信息科技有限公司 | 一种用户轨迹识别预测方法、装置及电子设备 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020055759A1 (en) * | 2018-09-11 | 2020-03-19 | Nvidia Corporation | Future object trajectory predictions for autonomous machine applications |
US11276179B2 (en) | 2019-12-18 | 2022-03-15 | Zoox, Inc. | Prediction on top-down scenes based on object motion |
RU2746026C1 (ru) * | 2019-12-25 | 2021-04-06 | Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" | Способ и система для генерации опорного пути беспилотного автомобиля (SDC) |
US20220011786A1 (en) * | 2019-12-31 | 2022-01-13 | Zipline International Inc. | Correlated motion and detection for aircraft |
US11753023B2 (en) * | 2020-01-19 | 2023-09-12 | Mitsubishi Electric Research Laboratories, Inc. | Adaptive control of autonomous or semi-autonomous vehicle |
JP7225262B2 (ja) | 2020-02-26 | 2023-02-20 | バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッド | 自動運転車の障害物回避に関する軌跡計画 |
US20210262819A1 (en) * | 2020-02-26 | 2021-08-26 | Baidu Usa Llc | A mixed regular and open-space trajectory planning method for autonomous driving vehicle |
US11834069B2 (en) * | 2020-03-05 | 2023-12-05 | Uatc, Lcc | Systems and methods for selecting trajectories based on interpretable semantic representations |
US12001958B2 (en) * | 2020-03-19 | 2024-06-04 | Nvidia Corporation | Future trajectory predictions in multi-actor environments for autonomous machine |
US11975726B1 (en) * | 2020-07-28 | 2024-05-07 | Uatc, Llc | Systems and methods for interaction-based trajectory prediction |
TWI718981B (zh) * | 2020-08-10 | 2021-02-11 | 威聯通科技股份有限公司 | 跨感測器之物體屬性分析方法與系統 |
US11699001B2 (en) * | 2020-10-13 | 2023-07-11 | Flyreel, Inc. | Generating measurements of physical structures and environments through automated analysis of sensor data |
EP4211615A1 (en) * | 2020-11-16 | 2023-07-19 | Waymo LLC | Processing sparse top-down input representations of an environment using neural networks |
US20220188581A1 (en) * | 2020-12-10 | 2022-06-16 | Toyota Research Institute, Inc. | Learning-based online mapping |
US11807267B2 (en) * | 2020-12-31 | 2023-11-07 | Toyota Research Institute, Inc. | Systems and methods for risk-sensitive sequential action control for robotic devices |
US11858514B2 (en) | 2021-03-30 | 2024-01-02 | Zoox, Inc. | Top-down scene discrimination |
US11810225B2 (en) * | 2021-03-30 | 2023-11-07 | Zoox, Inc. | Top-down scene generation |
CN113335276A (zh) * | 2021-07-20 | 2021-09-03 | 中国第一汽车股份有限公司 | 障碍物的轨迹预测方法、装置、电子设备及存储介质 |
CN113313094B (zh) * | 2021-07-30 | 2021-09-24 | 北京电信易通信息技术股份有限公司 | 一种基于卷积神经网络的车载图像目标检测方法和系统 |
CN113743657A (zh) * | 2021-08-16 | 2021-12-03 | 的卢技术有限公司 | 一种基于车辆运动信息的轨迹预测方法、系统和存储介质 |
US11948381B2 (en) * | 2021-08-20 | 2024-04-02 | Motional Ad Llc | Determining object mobility parameters using an object sequence |
US20230060261A1 (en) * | 2021-09-01 | 2023-03-02 | State Farm Mutual Automobile Insurance Company | High Efficiency Isolation of Intersection and Road Crossings for Driving Analytics |
CN113479219B (zh) * | 2021-09-06 | 2021-11-26 | 智己汽车科技有限公司 | 一种行车轨迹规划方法、装置、计算机设备和介质 |
CN113844446B (zh) * | 2021-10-14 | 2023-08-15 | 安徽江淮汽车集团股份有限公司 | 融合长短程的车辆轨迹预测方法 |
CN114529779B (zh) * | 2021-12-31 | 2023-04-07 | 扬州市恒泰人防设备有限公司 | 一种人防门锈蚀状态检测系统及方法 |
CN115148025B (zh) * | 2022-06-28 | 2023-10-20 | 重庆长安汽车股份有限公司 | 一种交通目标轨迹预测方法及可读存储介质 |
WO2024086056A1 (en) * | 2022-10-17 | 2024-04-25 | Motional Ad Llc | Identifying new classes of objects in environments of vehicles |
CN115578862B (zh) * | 2022-10-26 | 2023-09-19 | 中国建设基础设施有限公司 | 交通流量转换方法、装置、计算设备和存储介质 |
CN117351044B (zh) * | 2023-11-23 | 2024-05-03 | 无锡市德宁节能科技有限公司 | 基于物联网的护栏环境监控方法和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2562060B1 (en) | 2011-08-22 | 2014-10-01 | Honda Research Institute Europe GmbH | A method and system for predicting movement behavior of a target traffic object |
US20170297488A1 (en) | 2016-04-19 | 2017-10-19 | GM Global Technology Operations LLC | Surround view camera system for object detection and tracking |
US10656657B2 (en) * | 2017-08-08 | 2020-05-19 | Uatc, Llc | Object motion prediction and autonomous vehicle control |
US10705531B2 (en) * | 2017-09-28 | 2020-07-07 | Nec Corporation | Generative adversarial inverse trajectory optimization for probabilistic vehicle forecasting |
EP3495220B1 (en) | 2017-12-11 | 2024-04-03 | Volvo Car Corporation | Path prediction for a vehicle |
US10338223B1 (en) | 2017-12-13 | 2019-07-02 | Luminar Technologies, Inc. | Processing point clouds of vehicle sensors having variable scan line distributions using two-dimensional interpolation and distance thresholding |
US10836379B2 (en) | 2018-03-23 | 2020-11-17 | Sf Motors, Inc. | Multi-network-based path generation for vehicle parking |
US20200074233A1 (en) * | 2018-09-04 | 2020-03-05 | Luminar Technologies, Inc. | Automatically generating training data for a lidar using simulated vehicles in virtual space |
US10915766B2 (en) * | 2019-06-28 | 2021-02-09 | Baidu Usa Llc | Method for detecting closest in-path object (CIPO) for autonomous driving |
US11532168B2 (en) * | 2019-11-15 | 2022-12-20 | Nvidia Corporation | Multi-view deep neural network for LiDAR perception |
US11276179B2 (en) | 2019-12-18 | 2022-03-15 | Zoox, Inc. | Prediction on top-down scenes based on object motion |
-
2019
- 2019-12-18 US US16/719,780 patent/US11276179B2/en active Active
-
2020
- 2020-12-10 WO PCT/US2020/064184 patent/WO2021126651A1/en unknown
- 2020-12-10 CN CN202080089929.XA patent/CN114845913A/zh active Pending
- 2020-12-10 EP EP20901591.6A patent/EP4077084A4/en active Pending
- 2020-12-10 JP JP2022537280A patent/JP2023507390A/ja active Pending
-
2022
- 2022-02-02 US US17/649,690 patent/US11734832B1/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777947A (zh) * | 2023-06-21 | 2023-09-19 | 上海汉朔信息科技有限公司 | 一种用户轨迹识别预测方法、装置及电子设备 |
CN116777947B (zh) * | 2023-06-21 | 2024-02-13 | 上海汉朔信息科技有限公司 | 一种用户轨迹识别预测方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US11276179B2 (en) | 2022-03-15 |
US11734832B1 (en) | 2023-08-22 |
EP4077084A1 (en) | 2022-10-26 |
EP4077084A4 (en) | 2023-12-20 |
JP2023507390A (ja) | 2023-02-22 |
WO2021126651A1 (en) | 2021-06-24 |
US20210192748A1 (en) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11734832B1 (en) | Prediction on top-down scenes based on object motion | |
US11631200B2 (en) | Prediction on top-down scenes based on action data | |
EP3908493B1 (en) | Occlusion prediction and trajectory evaluation | |
US11169531B2 (en) | Trajectory prediction on top-down scenes | |
US11351991B2 (en) | Prediction based on attributes | |
US11021148B2 (en) | Pedestrian prediction based on attributes | |
US11215997B2 (en) | Probabilistic risk assessment for trajectory evaluation | |
CN112752950B (zh) | 修改与地图数据相关联的地图元素 | |
US11126180B1 (en) | Predicting an occupancy associated with occluded region | |
JP2022527072A (ja) | 属性に基づく歩行者の予測 | |
US20220274625A1 (en) | Graph neural networks with vectorized object representations in autonomous vehicle systems | |
CN117813230A (zh) | 基于对象轨迹的主动预测 | |
CN117980212A (zh) | 基于优化的规划系统 | |
US12033346B2 (en) | Distance representation and encoding | |
US20240211731A1 (en) | Generating object representations using a variable autoencoder | |
US20240212360A1 (en) | Generating object data using a diffusion model | |
US20240211797A1 (en) | Training a variable autoencoder using a diffusion model | |
US20240210942A1 (en) | Generating a scenario using a variable autoencoder conditioned with a diffusion model | |
WO2024137500A1 (en) | Generating object representations using a variable autoencoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |