CN110248861A - 在车辆操纵过程中使用机器学习模型来引导车辆 - Google Patents
在车辆操纵过程中使用机器学习模型来引导车辆 Download PDFInfo
- Publication number
- CN110248861A CN110248861A CN201980000745.9A CN201980000745A CN110248861A CN 110248861 A CN110248861 A CN 110248861A CN 201980000745 A CN201980000745 A CN 201980000745A CN 110248861 A CN110248861 A CN 110248861A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- machine learning
- lane
- data
- control
- 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.)
- Granted
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 173
- 230000000007 visual effect Effects 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 109
- 238000013528 artificial neural network Methods 0.000 claims description 57
- 238000013527 convolutional neural network Methods 0.000 claims description 37
- 230000006399 behavior Effects 0.000 claims description 7
- 230000001537 neural effect Effects 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 26
- 230000008859 change Effects 0.000 description 206
- 238000007514 turning Methods 0.000 description 96
- 230000011218 segmentation Effects 0.000 description 68
- 230000006870 function Effects 0.000 description 59
- 230000015654 memory Effects 0.000 description 44
- 230000008569 process Effects 0.000 description 27
- 238000001514 detection method Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 25
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 22
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 22
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 22
- 238000012549 training Methods 0.000 description 20
- 230000000712 assembly Effects 0.000 description 19
- 238000000429 assembly Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000007726 management method Methods 0.000 description 17
- 238000012544 monitoring process Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 230000001419 dependent effect Effects 0.000 description 11
- 238000013135 deep learning Methods 0.000 description 10
- 230000013016 learning Effects 0.000 description 10
- 230000000670 limiting effect Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 238000005183 dynamical system Methods 0.000 description 9
- 230000008447 perception Effects 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- 239000000047 product Substances 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 5
- 102100040160 Rabankyrin-5 Human genes 0.000 description 4
- 101710086049 Rabankyrin-5 Proteins 0.000 description 4
- 230000004913 activation Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 238000012706 support-vector machine Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 238000013213 extrapolation Methods 0.000 description 3
- 230000008014 freezing Effects 0.000 description 3
- 238000007710 freezing Methods 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 210000005036 nerve Anatomy 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000033764 rhythmic process Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000010146 3D printing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 125000000524 functional group Chemical group 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 101100248200 Arabidopsis thaliana RGGB gene Proteins 0.000 description 1
- 102000008016 Eukaryotic Initiation Factor-3 Human genes 0.000 description 1
- 108010089790 Eukaryotic Initiation Factor-3 Proteins 0.000 description 1
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 1
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 210000001367 artery Anatomy 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- LYKJEJVAXSGWAJ-UHFFFAOYSA-N compactone Natural products CC1(C)CCCC2(C)C1CC(=O)C3(O)CC(C)(CCC23)C=C LYKJEJVAXSGWAJ-UHFFFAOYSA-N 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011221 initial treatment Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000010705 motor oil Substances 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000032696 parturition Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Classifications
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/18154—Approaching an intersection
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D15/00—Steering not otherwise provided for
- B62D15/02—Steering position indicators ; Steering position determination; Steering aids
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D15/00—Steering not otherwise provided for
- B62D15/02—Steering position indicators ; Steering position determination; Steering aids
- B62D15/025—Active steering aids, e.g. helping the driver by actively influencing the steering system after environment evaluation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D15/00—Steering not otherwise provided for
- B62D15/02—Steering position indicators ; Steering position determination; Steering aids
- B62D15/025—Active steering aids, e.g. helping the driver by actively influencing the steering system after environment evaluation
- B62D15/0255—Automatic changing of lane, e.g. for passing another vehicle
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/408—Radar; Laser, e.g. lidar
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Medical Informatics (AREA)
- Combustion & Propulsion (AREA)
- Chemical & Material Sciences (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Human Computer Interaction (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
在各种示例中,可以接收触发信号,其指示由车辆执行车辆操纵。响应于所接收的触发信号,用于车辆操纵的推荐车辆轨迹被确定。为了确定推荐的车辆轨迹,可以接收代表车辆的至少一个传感器的视场的传感器数据。然后控制输入的数值和传感器数据可以被应用到一个或更多个机器学习模型,并且一个或更多个机器学习模型可以计算输出数据,其包括代表用于车辆在车辆操纵的至少部分过程中的推荐的车辆轨迹。然后车辆控制数据可以被发送到车辆的控制组件,以使车辆根据车辆控制数据被控制。
Description
背景技术
为使自动驾驶车辆在所有环境中正确运行,自动驾驶车辆必须能够安全地执行车辆操纵,例如车道变更、车道分割和转弯。例如,对于通过地面街道(例如城市街道、小巷、社区街道等)和高速公路(例如多车道道路)的自动驾驶车辆,自动驾驶车辆需要转弯、进行车道分割、变更车道和/或执行其他车辆操纵。
执行这种车辆操纵的传统方法需要高清晰度(high definition,HD)地图,其不仅依赖于准确的、预先记录的道路、道路车道和道路内的交叉点到全局坐标的映射,而且还依赖于将多个静态对象的位置(例如广告街道标志、交通信号、车道标记等)映射到全局坐标以便有效地执行。在这样的方法中,自动驾驶车辆相对于HD地图本地化并且通过参照自动驾驶车辆相对于HD地图的位置来执行车辆操纵(例如,通过比较自动驾驶车辆的全局坐标与HD的全局坐标)。
这些传统方法存在若干挑战和障碍,其不仅使它们不太可靠,而且也使它们通用实现的能力较差。例如,当HD地图未针对给定位置(例如某个社区、城镇、城市等)更新或已知时,自动驾驶车辆可能无法在这样的位置安全地操作。结果,自动驾驶车辆被限制在已经精确映射的位置内行驶,并且当在HD地图不支持的位置行驶时可能无法安全地或完全自主地操作。此外,生成、维护、更新和导航HD地图在计算上是昂贵的,并且需要大量的处理能力、能量和带宽以实现自动驾驶车辆的安全和有效操作。
发明内容
本公开的实施例涉及使用机器学习模型作为车辆(例如,自动车辆)在执行车辆操纵中的引导。更具体地,公开了在执行车道变更、车道分割、转弯和/或其他车辆操纵时,使用一个或更多个机器学习模型为车辆提供引导的系统和方法。
与常规系统(诸如上文描述的那些)相比,当前系统使用一个或更多个机器学习模型,其计算车辆控制数据,该车辆控制数据代表当执行车辆操纵时的轨迹和/或用于跟踪自动驾驶车辆的轨迹的控制。一个或更多个机器学习模型可以基于由自动驾驶车辆的一个或更多个传感器(例如,相机、RADAR传感器、LIDAR传感器等)生成的一个或更多传感器数据、代表车辆操纵(例如,右转、左车道变更、右车道分割等)过程中的类型和进度的控制输入、低分辨率地图数据(例如,代表十字路口的二维、道路和/或十字路口的基本几何等)和/或车辆状态数据(例如,自动驾驶车辆的当前速度)来执行计算。
结果是,通过主要依赖于计算机视觉而不是使用HD地图的定位,自动驾驶车辆能够在车道变更、车道分割、转弯和其他车辆操纵的过程中导航(例如,持久地计算车辆相对于在HD地图上表示的静态物体、车道、十字路口等的位置)。通过消除对HD地图的依赖,自动驾驶车辆能够在任何位置执行车道变更、车道分割、转弯和/或其他车辆操纵,无论高清地图是否可用于该位置。此外,通过使用一个或更多个机器学习模型和由自动驾驶车辆生成的传感器数据,根据本公开执行的车辆操纵可能比常规方法的计算成本更低,并且需要更少的处理能力、能量消耗和带宽。
附图说明
下面参照附图详细描述用于在执行车辆操纵时使用机器学习模型作为车辆的引导的本发明的系统和方法,其中:
图1A是示出根据本公开的一些实施例的用于执行车辆操纵的示例过程的数据流程图;
图1B是根据本公开的一些实施例的一个或更多个示例机器学习模型的图示;
图2是示出根据本公开的一些实施例的、示例车辆操纵和针对车辆操纵的一个或更多个机器学习模型随时间的控制输入值的相应图表的图示;
图3是根据本公开的一些实施例的示例车辆操纵和用于一个或更多个机器学习模型的示例训练数据的图示;
图4是示出根据本公开的一些实施例的用于执行车辆操纵的方法的流程图;
图5A是示出根据本公开的一些实施例的用于执行车辆操纵的示例过程的数据流程图;
图5B是根据本公开的一些实施例的另一示例机器学习模型的图示;
图5C是根据本公开的一些实施例的另一示例机器学习模型的图示;
图6是示出根据本公开的一些实施例的用于执行另一车辆操纵的方法的流程图;
图7是示出根据本公开的一些实施例的用于执行另一车辆操纵的方法的流程图;
图8A是根据本公开的一些实施例的示例自动驾驶车辆的图示;
图8B是根据本公开的一些实施例的图8A的示例自动驾驶车辆的相机位置和视场的示例;
图8C是根据本公开的一些实施例的图8A的示例自动驾驶车辆的示例系统架构的框图;
图8D是根据本公开的一些实施例的用于一个或更多个基于云的服务器与图8A的示例自动驾驶车辆之间的通信的系统图。
具体实施方式
公开了使用机器学习模型作为执行车辆操纵的车辆的引导的系统和方法。本公开可以关于示例自动驾驶车辆140(本文可选地称为“车辆140”或“自动驾驶车辆140”)来描述,其示例在本文中参照图8A-图8D更详细地描述。另外,尽管本文描述的车辆操纵主要包括车道变更、车道分割和转弯,但是本公开并不旨在仅限于这些车辆操纵。例如,在停车、倒车和/或其他车辆操纵过程中或在停车、倒车和/或其他车辆操纵过程中执行的操作也可受益于本文所述的方法。另外,尽管本公开中的描述将车道变化与车道分割和转弯分开,但是这不是限制性的。例如,本文描述的关于车道变更的特征和功能也可以适用于车道分割和/或转弯。在替代方案中,本文描述的关于车道分割和/或转弯的特征和功能也可适用于车道变更。
车道变更
如上所述,传统系统依赖于HD地图来执行车道变更。然而,通过依赖HD地图,自动驾驶车辆必须首先具有准确的位置信息(例如,从GPS传感器)并且还必须具有准确的HD地图。结果是,当HD地图不存在和/或当位置信息更新慢和/或不准确时,车道变更可能不能安全地执行。然后自动驾驶车辆可能不执行车道变更(例如,可以实施安全协议以中止车道变更)、执行不稳定的车道变更(例如,由于位置信息是不准确的,所以车辆相对于车道标记的定位可能因此而受到影响),和/或需要将控制移交给人类驾驶员。对于自动驾驶车辆的乘客而言,这些选择都不是特别所希望的。
本发明的系统提供自动驾驶车辆140,其可以在不依赖于HD地图和/或位置信息的情况下进行车道变更。反之,自动驾驶车辆可以依赖于使用从车辆的一个或更多传感器(例如,相机、激光雷达(LIDAR)传感器、雷达(RDAR)传感器等)生成的传感器数据的计算机视觉。结果,车道的变更是基于感知的,因此可以避免依赖于可能不可用的、过时的和/或其他不准确的信息(例如,HD地图、位置信息等)。
例如,响应于输入(例如,对转弯信号或闪光信号灯开关的用户输入,来自控制系统的输入(例如,响应于由自动驾驶软件堆栈的规划层做出的确定)),和/或以其他方式响应来自系统的命令,可以接收触发信号(例如,左车道变更、右车道变更)。响应于(或基于)触发信号,左控制操作数(用于左变更车道)或右控制操作数(用于右变更车道)可以被更新为初始值(例如1、100%等)以指示车道变更程序或模式的开始。左控制操作数和/或右控制操作数可以是一个或更多个机器学习模型(例如,神经网络,诸如卷积神经网络)的输入。另外,可以提供来自车辆的一个或更多传感器(例如,相机、LIDAR传感器、RADAR传感器等)的传感器数据作为机器学习模型的输入。
一个或更多个机器学习模型可以输出代表推荐车辆轨迹的车辆轨迹点(例如,(x,y)坐标)和/或用于根据推荐车辆轨迹控制车辆的车辆控制单元的建议控制器。在车道变换的执行中,一个或更多个机器学习模型可以继续接受传感器数据,并且可以计算由一个或更多个机器学习模型输出的进度数据(例如,代表车辆通过车道变换的进度)表示的车道变更的状态。在一些示例中,在通过控制逻辑以基于进度数据确定控制输入更新之后,该输出可以被馈送回左控制操作数或右控制操作数(例如,依赖于车道变更的方向),并且,可以在下一次迭代中将左控制操作数或右控制操作数的更新值提供给一个或更多个机器学习模型。该过程可以继续直到车道变更完成。
在一些示例中,车道变更可以被离散化为一系列阶段。例如,车道变更可以包括两个阶段、三个阶段、四个阶段和/或另一数量的阶段。一些车道变更可以包括不同于其他车道变更的阶段数。例如,第一车道变更可以包括两个阶段,而第二车道变更可以包括三个阶段,第三车道变更可以包括五个阶段等。在一些示例中,可以(在接收到触发信号时)确定车道变更类型和/或影响车道变更(左车道变更、右车道变更、左车道变更曲线,两个车辆之间的右车道变更等)的环境中的变量或其他信息。依赖于车道变更类型的确定和/或环境中的变量或其他信息,可以确定车道变更中应包括多少阶段。
例如,在非限制性示例中,对于左车道变更,当另一对象当前在目的地车道中的车辆旁边时,可以确定需要三个阶段(例如,第一阶段加速或减速使得对象不再位于车辆的左侧,第二阶段从第一阶段结束直到车辆大约在原始车道和目的地车道之间的中间,第三阶段为第二阶段结束时和当车辆在目的地车道时之间)。
在另一非限制性示例中,车道变更可以包括至少两个阶段-从车道变更的开始到车道变更的中间的第一阶段(例如,大约当车辆的中心线与车道标记对齐时,该车道标记将原车道从目的地车道分离出来,或者当车辆与原车道和目的地车道的外侧车道标记大致等距离时)和从车道变更的中间直到结束(或直到代表车道变更结束的进度阈值)的第二阶段。在这样的示例中,左操作数或右操作数可以基于代表车辆已经进行的车道变更的阈值量的进度阈值更新(例如,对于右车道变更,右控制操作数在整个第一阶段可以约为1.0,在整个第二阶段可以约为0.5,在车道变更完成后和/或在达到代表结束的进度阈值后约为0.0)。阶段变更可以在车道变更进度超过进度阈值时发生(例如完成0%-50%之间时保持在阶段一,在完成50%时进入阶段二,在完成80%时退出车道变更程序或模式,并在目的地车道开始车道保持程序或模式)。
通过将车道变换离散化为一系列多个阶段,系统可能更能够清楚地确定车道变更何时开始和何时结束,并且可能更能够清楚地区分在同一车道变更的不同部分期间可能看起来相似的传感器数据。例如,在完成48%和完成52%时,传感器数据可能相对类似,因此通过开始车道变更的第二阶段或大约50%时,系统可以理解执行车道变更的第二阶段的重点是进入目的地车道并使车辆与目的地车道对齐(例如,进入车道保持程序或模式)。此外,通过响应于满足阈值而仅改变左控制操作数或右控制操作数,可以过滤一个或更多个机器学习模型的噪声输出(例如,完成70%,然后完成68%,然后完成72%等),使得结果的车辆轨迹不会受到输出噪声的影响(例如,不会导致零星或不稳定的车辆轨迹)。
在一些示例中,车道变更参数(例如,车辆操纵参数)也可以输入到一个或更多个机器学习模型,诸如车道变更长度(例如,在车道变更期间车辆应该覆盖的距离)、完成车道变更的时间量、车道变更的速率或速度和/或其他车道变更参数。一个或更多个机器学习模型可以使用车道变更参数,以确定用于生成推荐的车辆轨迹的车辆轨迹点。
现在参照图1A,图1A是示出根据本公开的一些实施例的用于执行车辆操纵的示例过程的数据流程图。关于图1A描述的车辆操纵是车道变更,然而,如本文所描述的,这仅出于示例的目的而非旨在限制性的。
车辆可以在(例如从信号生成器102)接收触发信号时开始。任何数量的输入104(包括但不限于图1A示出的那些)可以输入到一个或更多个机器学习模型118。一个或更多个机器学习模型118可以生成或计算任何数量的输出120(包括但不限于图1A示出的那些)。输出120的至少一个可以馈送回输入104,如反馈循环126所指示的(例如,输出120可以用于更新用于一个或更多个机器学习模型118的下一次迭代的一个或更多输入104)。输出120的至少一个可以被传送或发送到自动驾驶车辆140的一个或更多个控制组件128。然后一个或更多个控制组件128可以使用一个或更多个输出120(或从一个或更多个输出120生成的信息)以根据一个或更多个输出120控制车辆140。
来自信号生成器102的触发信号可以包括由车辆140完成的代表车辆操纵类型的数据。例如,触发信号可以包括代表或以其他方式指示右车道变更(例如,从当前车道到与车辆140的右侧相邻的一个或更多个车道)、左车道变更(例如,从当前车道到与车辆140的左侧相邻的一个或更多个车道)或其他车辆操纵(诸如转弯或车道分割,如下文关于图5A-图5C所更详细描述的)的数据。在一些示例中,触发信号可以由信号生成器102使用脉冲宽度调制(pulse width modulation,PWM)或另一信号生成方法生成,可以由车辆140的一个或更多个组件分析,以确定由触发信号代表的车辆操纵的类型。
相应于由车辆140接收的输入和/或响应于由车辆140做出的决定可以接收触发信号。例如,车辆140的操作者可以经由输入信号、键盘、人机界面(human machineinterface,HMI)显示、声音输入和/或另一输入类型提供输入。输入可以代表特定的车辆操纵,结果是,可以生成代表特定的车辆操纵的触发信号。作为另一示例,车辆140(例如,自动驾驶车辆软件堆栈的规划层的一个或更多组件或特征)可以确定需要或期望特定的车辆操纵,结果是,可以生成代表特定的车辆操纵的触发信号。在这种示例中,车辆140可以使用HD地图、导航引导和/或另一信息源以确定需要或期望特定的车辆操纵(例如,以增加安全性)。在一些示例中,触发信号可以包括或对应于由GNSS应用程序(例如,GPS应用程序)生成的引导信号。
输入104可以包括左控制操作数106、右控制操作数108、传感器信息110、状态信息112、一个或更多个车道变更参数114、地图信息116和/或其他输入。可以基于来自一个或更多个机器学习模型118的输出120的触发信号和/或反馈确定左控制操作数106和右控制操作数108的数值。例如,当触发信号代表左车道变更时,可以基于触发信号设置和/或更新和/或改变左控制操作数106的数值。作为另一示例,当触发信号代表右车道变更时,可以基于触发信号设置和/或更新和/或改变右控制操作数108的数值。在任一示例中,在计算机器控制信息124、车道变更进度122和/或其他输出120中,一个或更多个机器学习模型118可以使用左控制操作数106和/或右控制操作数108。
在一些示例中,对于左车道变更,响应于接收触发信号,可以将左控制操作数106的数值设置、更新和/或改变为1、100%和/或指示左车道变更的开始的另一数值。随着车道变更的进行,可以更新左控制操作数106的数值以代表通过车道变更的车辆140的进度。例如,基于输出120中的一个(诸如车道变更进更新度122),可以设置、更新和/或改变左控制操作数106的数值。在一些示例中,在使用用于车辆操纵的一个或更多个机器学习模型118的每次迭代中,可以设置、更新和/或递增地改变左控制操作数106的数值,直至完成左车道变更(例如,当完成车道变更的10%时,数值为0.9或90%,当完成车道变更的55%时,数值为0.45或45%,等)为止。在其他示例中,响应于达到某个进度阈值,可以设置、更新和/或改变左控制操作数106的数值,如本文至少关于图2所描述的(例如,当整个车道变更的进度小于50%时,数值可以设置为1,当整个车道变更的进度在50%和下一阈值之间时,数值可以设置为0.5,当整个车道变更的进度为80%或更多时,数值可以设置为0等)。在这种示例中,进度阈值可以用于考虑一个或更多个机器学习模型118的潜在噪声输出120。
类似地,对于右车道变更,响应于接收触发信号,可以将右控制操作数108的数值设置、更新和/或改变为1、100%和/或指示右车道变更的开始的另一数值。随着车道变更的进行,可以更新右控制操作数108的数值以代表通过车道变更的车辆140的进度。例如,基于输出120中的一个(诸如车道变更进更新度122),可以设置、更新和/或改变右控制操作数108的数值。在一些示例中,在一个或更多个机器学习模型118的每次迭代中,可以设置、更新和/或改变右控制操作数108的数值,直至完成右车道变更为止。在其他示例中,响应于达到某个进度阈值,可以设置、更新和/或改变右控制操作数108的数值,如本文至少关于图2所描述的。
应用于一个或更多个机器学习模型118的另一输入104是传感器信息110。传感器信息110可以包括来自车辆140(和/或其他车辆,在一些示例中)的任何传感器的传感器数据。例如,参照图8A-图8C,传感器信息110可以包括由例如但不限于一个或更多个全球导航卫星系统(global navigation satellite system,GNSS)传感器858(例如,一个或更多个全球定位系统传感器、一个或更多个RADAR传感器860、一个或更多个超声传感器862、一个或更多个LIDAR传感器864、一个或更多个惯性测量单元(inertial measurement unit,IMU)传感器866(例如,一个或更多个加速度计、一个或更多个陀螺仪、一个或更多个磁罗盘、一个或更多个磁力计等)、一个或更多个麦克风896、一个或更多个立体相机868、一个或更多个宽视角相机870(例如鱼眼相机)、一个或更多个红外相机872、一个或更多个环绕相机874(例如360度相机)、一个或更多个远程和/或中程相机898、一个或更多个速度传感器844(例如,用于测量车辆140的速度)、一个或更多个振动传感器872、一个或更多个转向传感器840、一个或更多个制动传感器(例如,作为制动传感器系统846的部分)和/或其他传感器类型生成的传感器数据。
在一些示例中,传感器信息110可以包括由前向相机(诸如宽视角相机870、环绕相机874、立体相机868和/或远程和/或中程相机898)生成的传感器数据。当导航车道变更时,该传感器数据可用于计算机视觉和/或感知,因为前向相机可包括视场(例如,前向立体相机868的视场和/或图8B的宽视角相机870),其包括车辆140的当前行驶车道和车辆140的一个或更多个相邻行驶车道。在一些示例中,多于一个的相机或其他传感器可以用于合并多个视场(例如,图8B的远程相机898、前向立体相机868和/或前向宽视角相机870的视场)。
在任一示例中,传感器信息110可以包括代表一个或更多个图像的图像数据、代表视频的图像数据(例如,视频快照)和/或代表传感器(例如,一个或更多个LIDAR传感器864、一个或更多个RADAR传感器等)的视场的传感器数据。传感器信息110可以输入到一个或更多个机器学习模型118,并由机器学习模型使用以计算输出120(诸如车道变更进度122和/或车辆控制信息124)。
输入104可以包括状态信息112。状态信息112可以包括代表车辆140的状态(诸如速度、速率、加速度、减速度、方位和/或其他状态信息)的数据。该数据可以由车辆140的一个或更多传感器捕获和/或从车辆140的一个或更多传感器(诸如一个或更多个IMU传感器866、一个或更多个速度传感器844、一个或更多个转向传感器840、一个或更多个振动传感器842,和/或制动传感器系统846、动力系统850和/或转向系统854的一个或更多传感器)接收。
一个或更多个机器学习模型118可以使用状态信息112,以计算输出120,诸如车道变更进度122和/或车辆控制信息124。例如,当车辆控制信息124包括推荐车辆轨迹或根据推荐车辆轨迹用于控制车辆的控制数据时,状态信息112(例如,速度、方位等)可能对在执行这种计算中的一个或更多个机器学习模型是有价值的。换句话说,代表车辆140的推荐未来(x,y)坐标的车辆轨迹可受益于车辆140的当前速度、方位和/或其他状态信息112的知识。
在一些示例中,输入104可以进一步包括一个或更多个车道变更参数114(例如,车辆操纵参数)。一个或更多个车道变更参数114可以包括车道变更的长度(例如,当执行车道变更时,车辆140可以行驶(诸如在前进的方向)的最小距离、最大距离和/或距离范围)、何时执行车道变更、车道变更的持续时间(例如,在其内应该完成车道变更的时间量)、车道变更的速度或速率、指示车道变更的速度或节奏的节奏因素(例如,测量(诸如在数值范围(例如,1-10)内)和/或另一车道变更参数114。
一个或更多个机器学习模型118可以使用一个或更多个车道变更参数114,以计算输出120(诸如车道变更进度122和/或车辆控制信息124)。例如,当计算推荐车辆轨迹时,一个或更多个机器学习模型可以使用一个或更多个车道变换参数114,因为一个或更多个车道变更参数114可以指示沿着推荐车辆轨迹车道变更应该在何处结束(例如,至少部分基于车道变更的长度)、车道变更应该多快完成(例如,至少部分基于车道变更的持续时间)和/或它们的组合(例如,至少部分基于节奏因素)。此外,车道变更进度可以由一个或更多个车道变更参数114影响(例如,对于更短的车道变更、更短的持续时间,车道变更进度122将更快地增加)。
进一步地,在一些示例中,输入104可以包括地图信息116。如本文关于图5A-图5C所更详细描述的,一个或更多个机器学习模型118可以使用地图信息116以生成输出120,诸如车道变更进度122和/或车辆控制信息124。例如,地图信息116可以包括低分辨率地图数据(例如,具有或不具有引导的2D地图应用程序的屏幕截图)。此低分辨率地图数据可以包括道路和/或十字路口的基本几何形状(诸如不具有附加信息(诸如车道标记、车道数目、人行道的位置、路灯、停止标志等)。换句话说,与代表HD地图(例如,HD地图822和/或本文描述的和依赖于惯常系统的HD地图)的地图数据相比,地图信息116的数据可能密度较低,并且仅在计算输出120时由一个或更多个机器学习模型118作为附加数据点使用。
在一些示例中,地图信息116可以包括屏幕截图或图像(或其代表的数据),其描绘车辆140的当前车道、车辆140的目的地车道、车辆140本身和/或车辆140通过车道变更所采取的路径的代表(例如,与图5B的路径546类似)。在一些实施例中,地图信息116可以与图5B的地图信息514A和/或图5C的地图信息514B类似,除了示出十字路口536和/或通过十字路口的路径之外,地图信息116可以包括指示第一车道、第二车道和/或在它们之间导航的路径的数据。
在地图信息116是输入104中的一个的示例中,地图信息116包括从一个车道到另一车道导航的路径,可以不同地使用左控制操作数106和/或右控制操作数108或根本不使用左控制操作数106和/或右控制操作数108。例如,左控制操作数106和/或右控制操作数106可以仅包括用于车道变更的开始的开始数值(例如,1、100%等)和用于车道变更的结束的结束数值(例如,0、0%等)。在其他实施例中,可能不需要左控制操作数106和/或右控制操作数108。在任一实施例中,左控制操作数106和/或右控制操作数108可以不同,因为关于路径的车辆位置可以指示车辆通过车道变更的进度,因此当计算车道变更进度122时,一个或更多个机器学习模型118可能需要左控制操作数106和/或右控制操作数108(例如,车辆140可能依赖于路径进行此计算)。
一个或更多个机器学习模型118可以使用输入104以计算输出120。尽管本文关于使用神经网络,特别是卷积神经网络描述了示例,但是作为一个或更多个机器学习模型118(例如,关于图1B和图5B-图5C),这不是限制性的。例如而非限制,一个或更多个机器学习模型118可以包括任何类型的机器学习模型,诸如使用线性回归、逻辑回归、决策树、支持向量机(support vector machine,SVM)、朴素贝叶斯、k-最近邻(k-nearest neighbor,Knn)(K意味着聚类、随机森林、降维算法、梯度增强算法)、神经网络(例如自动编码器、卷积、复发、感知器、长/短期记忆/LSTM、Hopfield、Boltzmann、深信念、反卷积、生成对抗、液体状态机等)和/或其他类型的机器学习模型。
输出120可以包括车道变更进度122、车辆控制信息124和/或其他输入类型。车道变更进度122可以代表车辆通过车道变更的进度。如本文所描述的,车道变更进度122可以反馈到输入104,并且特别地,可以反馈到左控制操作数106和/或右控制操作数108,用于设置、更新和/或改变左控制操作数106和/或右控制操作数108。在一些示例中,一个或更多个机器学习模型118可以输出代表车道变更进度122的数据,并且可以使用逻辑(例如,图1B的控制逻辑136)以基于数据确定左控制操作数106和/或右控制操作数108的设置、更新和/或改变。
输出120可以进一步包括车辆控制信息124。车辆控制信息124可以包括推荐的车辆轨迹和/或车辆控制数据,用于根据推荐的车辆轨迹控制车辆。输出120可以包括沿推荐车辆轨迹的一个或更多点(例如,(x,y)坐标)并且/或可以包括推荐的车辆轨迹(例如,在每个点上外推的轨迹)。在一些实施例中,推荐车辆轨迹可以由车辆操纵的半径代表,而在其他实施例中,推荐车辆轨迹可以由车辆操纵的反转半径代表。在一些实施例中使用反转半径以避免推荐车辆轨迹(或其点)被作为无穷大值(例如,达到奇点)计算。
在车辆控制信息124包括推荐的车辆轨迹的示例中,推荐的车辆轨迹(或其代表的数据)可以被发送或传送到车辆140的一个或更多个控制组件128(例如,到自动驾驶驱动软件的控制层),并且一个或更多个控制组件128可以确定要求根据推荐的车辆轨迹控制车辆的控件。例如,一个或更多个控制组件128可以向一个或更多驱动器(actuator)(例如,由自动驾驶软件堆栈的驱动层控制的驱动器)发送一个或更多控件。驱动器可以包括制动传感器系统846、动力系统850、转向系统854和/或其他系统的一个或更多组件或特征。然后可以由一个或更多个机器学习模型118输出的车辆控制信息124的推荐的车辆轨迹控制车辆。通过仅输出推荐的车辆轨迹而不是控件自身,过程100允许不同的车辆制造商确定它们自己的控件和驱动器,用于根据推荐的车辆轨迹控制车辆140。
在其他示例中,车辆控制信息124可以包括用于根据推荐的车辆轨迹控制车辆的控件。在这种示例中,一个或更多个机器学习模型118可以在自动驾驶软件堆栈的控制层中实现,并且可以使用车辆控制信息124控制车辆140(例如,通过自动驾驶软件堆栈的驱动层驱动车辆的一个或多个驱动器)。
现在参照图1B,图1B是根据本公开的一些实施例的一个或更多个示例机器学习模型118A的图示。图1B的一个或更多个机器学习模型118A可以是在过程100中使用的一个或更多个机器学习模型118的一个示例。然而,图1B的一个或更多个机器学习模型118A并非旨在限制性的,并且与图1B的一个或更多个机器学习模型相比,一个或更多个机器学习模型118可以包括附加的和/或不同的机器学习模型。一个或更多个机器学习模型118A可以包括卷积神经网络,并且因此也可以可选地称为卷积神经网络118A或卷积网络118A。
卷积神经网络118A可以使用包括左控制操作数106、右控制操作数108、一个或更多个车道变更参数114、传感器信息110和/或其他输入类型的输入104。卷积神经网络118A可以使用包括由一个或更多相机(例如,本文关于图8A-图8C所描述的相机中的一个或更多)生成的图像数据的传感器信息110A-110C。例如,传感器信息110A-110C可以包括代表一个或更多个相机的视场的图像数据。更具体地,传感器信息110A-110C可以包括由一个或更多个相机生成的单独图像,其中在卷积网络118A的每次迭代中,代表单独图像的一个或更多的图像数据被输入到卷积网络118A。
传感器信息110可以被输入到卷积网络118A的卷积流130。卷积流130可以包括任何数量的层132,诸如层132A-132C。层132A-132C中的一个或更多可以包括输入层。输入层可以保持与传感器信息110相关联的数值。例如,当传感器信息110是一个或更多个图像时,输入层可以将代表一个或更多个图像的原始像素值的数值保持为体积(例如,宽度、高度和颜色通道(例如,RGB),诸如32×32×3)。
一个或更多层132可以包括卷积层。卷积层可以计算连接至输入层(例如,输入层)中的局部区域的神经元的输出,每个神经元计算它们的权重和它们被连接至输入体积中的小区域之间的点积。卷积层的结果可以是另一个体积,其中一个维度基于所应用的滤波器的数量(例如,宽度,高度和滤波器的数量,诸如32×32×12,如果12是滤波器的数量的话)。
层132中的一个或更多可以包括整流线性单元(rectified linear unit,ReLU)层。一个或更多个ReLU层可以应用逐元素的激活函数,诸如max(0,x),例如在零处的阈值。ReLU层的得出的体积可以与ReLU层的输入的体积相同。
层132的一个或更多可以包括池化层(pooling layer)。池化层可以沿着空间维度(例如,高度和宽度)执行向下采样操作,这可以导致比池化层的输入更小的体积(例如,来自32×32×12输入体积的16×16×12)。
层132的一个或更多可以包括全连接层。一个或更多个全连接层中的每个神经元可以被连接至先前体积中的神经元中的每一个。全连接层可以计算等级(class)分数,并且得出的体积可以是1×1×等级的数目。在一些实施例中,一个或更多个卷积流130可以包括全连接层,而在其他示例中,卷积网络118A的全连接层134可以是用于一个或更多个卷积流130的全连接层。
尽管本文讨论了关于一个或更多个卷积流130的输入层、卷积层、池化层、ReLU层和全连接层,但这并非限制性的。例如,附加层或替代层132可以用于一个或更多个卷积流130(诸如归一化层、SoftMax层和/或其他层类型)中。
卷积网络118A的层132的不同顺序和数目可以依赖于实施例而使用。例如,对于第一车辆,可能存在层232的第一顺序和数目,反之,对于第二车辆,可能存在层232的不同顺序和数目;对于第一相机,可能存在不同于第二相机的层的顺序和数目的层232的顺序和数目。换句话说,卷积网络118A和/或卷积流130的层232的顺序和数目不限于任何一种架构。
此外,层232中的一些可以包括参数(例如,权重),诸如卷积层和全连接层,而其他层(诸如ReLU层和池化层)则不包括参数。在一些示例中,参数可以在训练(training)中由卷积流130和/或一个或更多个机器学习模型118A获得。进一步地,层232中的一些可以包括附加的超参数(例如,学习速率、步幅、时间点(epoch)等),诸如卷积层、全连接层和池化层,而其他层232则不包括附加的超参数,诸如ReLU层。参数和超参数并不是限制性的,并且可以依赖于实施例而不同。
一个或更多个卷积流130的输出可以输入到卷积网络118A的一个或更多个全连接层134。除了一个或更多个卷积流130的输出之外,一个或更多个车道变更参数、左控制操作数106、右控制操作数108和/或一个或更多其他输入104可以输入到一个或更多个全连接层134。
卷积网络118A的输出120可以包括车道变更进度122、车辆控制信息124和/或其他输出类型。如本文所描述的,车辆控制信息124可以包括推荐的车辆轨迹144和/或用于跟随推荐车辆轨迹144的控件(例如,用于根据推荐的车辆轨迹144(诸如转向角、加速度、减速度等)控制车辆)。在一些实施例中,车辆控制信息124可以包括沿着推荐的车辆轨迹144的一个或更多个轨迹点142(例如,由(x,y)坐标表示)。在一些示例中,仅存在单个的轨迹点142(例如,离散轨迹步骤序列中车辆的下一个轨迹点)可以由一个或更多个机器学习模型118A输出。在其他实施例中,可以输出多于一个的轨迹点142。作为另一示例,可以输出完整的轨迹,其可以从两个或更多轨迹点142外推。在任一示例中,推荐的车辆轨迹144可以作为推荐的车辆轨迹144的半径输出,或者可以作为推荐的车辆轨迹144的反转半径输出,如本文所描述的。推荐的车辆轨迹144和/或其上的一个或更多个轨迹点142可以由一个或更多个控制组件128使用,以控制车辆140从第一车道146A到第二车道146B,以执行车道变更(例如,如图1B所指示的左车道变更)。
参照车道变更进度122,车道变更进度122可以作为代表车道变更进度122的数据输出,并且可以分析该数据以确定车道变更进度122。换句话说,一个或更多个机器学习模型118的输出可以不是车道变更进度122的数值,但可以是与车道变更进度122相关的数值。例如,可以使用查找表以基于一个或更多个机器学习模型118的输出来确定车道变更进度122。
如本文所描述的,车道变更进度122可以反馈到左控制操作数和/或右控制操作数,以更新数值。在一些实施例中,控制逻辑136可以使用由卷积网络118A输出的车道变更进度122,以确定设置和更新和/或到左操作数106和/或右控制操作数108的变化。在一些实施例中,左控制操作数106和/或右控制操作数108可以与车道变更进度122同步更新。例如,关于右车道变更,当车道变更进度指示右车道变更完成某一百分比(例如,70%)时,控制逻辑136可以确定右控制操作数108应该被设置、更新和/或改变到特定数值(例如,当车道变更进度122为70%时,特定值可以为0.3,指示右车道变更还剩余30%)。同样地,对于车道变更进度122的每个数值,可以存在相应的值来设置、更新和/改变左控制操作数106和/或右控制操作数108。在一些示例中,左控制操作数106可以包括正值(例如,0-1、0%-100%等),并且右控制操作数108可以包括负值(例如,-1-0、-100%-0%等),反之亦然。在这种示例中,左控制操作数106和右控制操作数108可以是单独控制(例如,通用控制),并且可以从-1到1、或-100%到100%等变化。
在其他示例中,左控制操作数106和/或右控制操作数108可以在达到某些进度阈值(例如,阈值指示车辆140在车辆操纵过程中的进度,诸如车道变更)时更新。在这种示例中,只有当达到该进度阈值时,控制逻辑136才可以更新左控制操作数和/或右控制操作数108。关于图2图示了使用进度阈值的示例。
图2是示出根据本公开的一些实施例的示例车辆操纵200和用于车辆操纵的一个或更多个机器学习模型随时间的控制输入值的相应图表218的图示。在图2中,车辆140进行了从第一车道204A到第一车道204A左侧的第二车道204B的左车道变更。车辆140通过该车道变更的示例轨迹由轨迹线206指示。响应于左车道变更的进度阈值和/或阶段,关于针对左控制操作数106的设置、更新和/或改变数值,可以使用图1B的控制逻辑。
在该示例中,车辆140在两个阶段执行左车道变更,阶段一208和阶段二210(在其他示例中,可以使用任何数目的阶段)。阶段一208可以从车道变更的开始(例如,当接收触发信号时)直到车道变更的中间(例如,大约当车辆的中心线与车道标记(其将原始车道与目的地车道分开)对齐时,或者当车辆与原始车道和目的地车道的外侧车道标记大致等距离时)。车道变更的开始可以有第一进度阈值212,T0,指示车道变更已经完成大约0%。在该第一进度阈值212,T0处,左控制操作数106的数值可以为大约1.0、100%,或指示车道变更开始的另一数值,如图表218所指示的。车道变更的中间可以有第二进度阈值214,T1,指示车道变更已经完成大约50%。在第二进度阈值214,T1处,左控制操作数106的数值可以为大约0.5、50%,或指示已经达到车道变更的中间的另一数值,如图表218所指示的。这样,在整个第一阶段208(例如,在1.0处)左控制操作数的数值可以相对保持稳定,并且可以不改变(例如,到0.5),直到达到第二进度阈值214,T1。
类似地,第二阶段可以是从车道变更的中间直到车道变更的结束或第三进度阈值216,T2(其指示达到车道变更的结束(车道变更已经完成了大约80%-100%))。在第三进度阈值216,T2处,左控制操作数106的数值可以约为0.0、0%或指示车道变更正在结束或已经结束的另一数值,如图表218所指示的。这样,左车道变更的第二阶段可以在第二进度阈值214,T1和第三进度阈值216,T2之间跨越。这样,在整个第二阶段210(例如,在0.5处)左控制操作数106的数值可以保持相对稳定,并且可以不改变(例如,到0.0),直到达到第三进度阈值216,T2。
图表218指示整个左车道变更的左控制操作数的数值。如上所述,左控制操作数106的数值在整个第一阶段208可以是1.0,在整个第二阶段210可以是0.5,并且之后可以是0(例如,当车道变更完成时,或已经达到第三进度阈值216,T2时)。图表218也包括左控制操作数线224的车道变更进度。如果基于由一个或更多个机器学习模型118输出的每个车道变更进度122设置、更新和/或改变左控制操作数206,则左控制操作数线224的车道变更进度是左控制操作数106的数值的代表(例如,在第一时间处,73%的车道变更进度122,可以将左控制操作数106的数值设置为0.27,然后,在第一时间后的第二时间处,75%的车道变更进度122,可以将左控制操作数的数值设置为0.25,然后,在第二时间后的第三时间处,74%的车道变更进度122,可以将左控制操作数的数值设置为0.26)。结果,如左控制操作数线224的车道变更进度所指示的,如果基于由一个或更多个机器学习模型118输出的每个车道变更进度122来设置、更新和/或改变左控制操作数206,则结果可以是有噪声的。
这样,通过将阶段实现成车道变更(或其他车辆操纵),可以避免这些来自一个或更多个机器学习模型118的噪声输出,并且附加地,车辆140可以更能够确定根据车道变更的哪部分(或阶段)来驱动。例如,由于车道变更基本上包括两个转弯(例如,对于图2的左车道变更,从第一车道204A向左转到第二车道204B的第一转弯,并且然后是向右转以与第二车道204B重新对齐/重新定位的第二转弯),通过创建两个阶段,车辆140能够确定当前是进行从第一车道204A到第二车道204B的第一转弯还是进行从车道变更的中间到与第二车道204B对齐的第二转弯(例如,到进入车道保持模式)。此外,通过创建第二进度阈值214,T1,在车道变更的中间,在已满足第二进度阈值214,T1之后(例如,转弯中已经满足的50%或更大的进度),噪声输出(例如,转弯中的48%进度)可以被丢弃或忽略,并且车辆140可以继续更平滑的轨迹而不是由有噪声的输出引起的不稳定或零星的轨迹(例如,如图表218的左控制操作数线224的车道变更进度所指示的)。
在一些示例中,在开始车道变换之前,车辆140可以处于车道保持模式(例如,车辆可以处于控制车辆呆在第一车道204A的模式,其中车道保持模式可以包括其自身的一个或更多个机器学习模型和控制参数)。在车道变更期间,车辆140可以处于车道变更模式,并且一旦达到第三进度阈值216,T2,车辆140可以重新进入车道保持模式(例如,车辆可以重新进入车道保持模式,但现在呆在第二车道204B)。在一些示例中,进入车道变更模式可以在完全完成车道变更之前结束(例如,其中第三进度阈值216,T2低于100%进度,诸如75%、80%、85%等)。在这种示例中,通过将车辆140与第二车道204B对齐并维持车道保持轨迹,车道保持模式可以负责完成车道变更。
尽管图2关于左车道变更进行了描述,但这并不旨在限制性的。例如,关于图2描述的过程可以为右车道变更、转弯、车道分割和/或其他车辆操纵实现。
现在参照图3,图3是根据本公开的一些实施例的用于一个或更多个机器学习模型118的示例车辆操纵200和示例训练数据的图示。图3可以包括可以用于训练一个或更多个机器学习模型118的训练信息300的至少一个示例(例如,卷积网络118A)。训练信息300可以包括传感器信息(例如,类似于图1A-图1B的传感器信息110),诸如来自一个或更多个相机或来自一个或更多个LIDAR传感器、一个或更多个RADAR传感器和/或类似的传感器的图像信息。在图3的示例中,行驶信息300可以包括来自车辆140(或用于训练一个或更多个机器学习模型118的另一车辆)的相机的图像数据。
为了训练一个或更多个机器学习模型118,在车道变更期间,可以使用从车辆的一个或更多个相机生成的图像302(由图像数据代表)。图像302可以在沿车道变更的不同点处(诸如在车道变更的开始、中间和结束)标记。对于左车道变更和右车道变更,可以标记不同的图像302。
如图3所示,图像302可以在车道变更的开始处标记,以与第一进度阈值212,T0对应、在车道变更的中间处标记,以与第二进度阈值214,T1对应,并且在车道变更的结束处标记,以与第三进度阈值216,T2对应。此外,图像302可以用对应的左控制操作数106和/或右控制操作数108数值标记(例如,图像302A,来自车道变更的开始,可以用左控制操作数106数值1.0标记)。
结果,一个或更多个机器学习模型118可以学习更清楚地标识车道变更的阶段(例如,阶段一208和阶段二210)和进度阈值。通过在三个阶段处标记图像302,一个或更多个机器学习模型118也可以外推左控制操作数106和/或右控制操作数108随整个车道变更的数值(例如,针对图像302A和图像302B之间以及图像302B和图像302C之间的图像中的每一个)。换句话说,通过用左控制操作数106和/或右控制操作数108的对应数值标记对应于车道变更的开始的图像302(例如,图像302A),车道变更的中间的图像302(例如,图像302B)和车道变更的结束的图像302(例如,图像302C),一个或更多个机器学习模型118可以获得左控制操作数106和/或右控制操作数108,并用其对应数值标记剩余的图像302。
在一些示例中,对于训练信息300的剩余的图像302的左控制操作数106和/或右控制操作数108的数值的外推可以与一个或更多个机器学习模型分开执行。例如,如果图像302A用数值为1.0的左控制操作数106标记,并且图像302B用数值为0.5的左控制操作数标记,则可以使用外推用左控制操作数106的数值标记在车道变更序列中的图像302A和图像302B之间的图像302中的每一个(例如,如果4个图像302被标记,则它们被标记为0.9、0.8、0.7和0.6)。在一些示例中,可以使用一个或更多个单独的机器学习模型以为标记的图像302(例如,图像302A、302B和302C)之间的图像中的每一个确定左控制操作数106和/或右控制操作数108的数值。
作为示例而非限制,图像302A可以被选为车道变更的开始,并用数值为1.0的左控制操作数标记(例如,假设车道变更车辆操纵200的左车道变更),基于车辆140在第一车道204A(例如,右车道)中,并开始向左转弯(例如,因此图像302A的中心线308可以通过第一车道204A和第二车道两者延伸,并通过将两个车道分开的车道标记)。在其他示例中,当中心线308仅与第一车道204A对齐而就在车道变换开始之前时,车道变更的开始被标记。
作为另一示例而非限制,图像302B可以被选为车道变更的中间,并用数值为0.5的左控制操作数106标记,基于车辆140在第一车道204A和第二车道204B之间,使得图像302B的中心线312与将第一车道204A与第二车道204B分开的车道标记大致对齐,或者当车辆140与原始车道和目的地车道的外侧车道标记大致等距离时。
再作为另一示例而非限制,图像302C可以被选为车道变更的结束,并用数值为0.0的左控制操作数106标记,基于车辆140在第二车道204B中,图像302C的中心线316与第二车道204B大致对齐。在一些示例中,如本文所描述的,车道变更可以被认为是在车辆140在目的地车道(例如,第二车道204B)上完全对齐之前完成。在这种示例中,在中心线316在第二车道204B内对齐之前,图像302C可以标记为车道变更的结束,这样当中心线仍然横跨第二车道204B成角度时,并且在左车道变更的情况下,车辆140没有完全向后转向右侧以与第二车道204B对齐。
现在参照图4,图4是示出根据本公开的一些实施例的用于执行车辆操纵的方法400的流程图。如本文所描述的,方法400中的每个方框包括可以使用硬件、固件和/或软件的结合计算过程。例如,可以由执行存储在存储器中的指令的处理器执行各种功能。方法可以体现为存储在计算机存储媒介上的计算机可用的指令。方法可以由独立的应用程序、服务或宿主服务(独立的或与另一宿主服务结合)或到另一产品的插件提供,仅举几例。此外,通过示例,描述了关于车辆140和过程100的方法400。然而,方法400可以附加地或替代地由任一系统或系统的任何组合(包括但不限于本文所描述的那些)来执行。
在方框B402处,方法400包括接收触发信号。例如,响应于代表命令或要求以启动车辆操纵(例如,车道变换、转弯等)的到车辆140的输入和/或响应于车辆140的确定(例如,通过自动驾驶软件堆栈的规划层,诸如使用GPS应用程序)以执行车辆操纵,可以生成和接收触发信号。
在方框B404处,方法400包括接收传感器数据。例如,可以由一个或更多传感器和/或车辆140的相机生成和/或捕获和接收传感器信息110。传感器信息110可以包括传感器数据和/或代表一个或更多传感器和/或相机的一个或更多个视场的图像数据。
在方框B406处,方法400包括将控制输入的数值和传感器数据应用到一个或更多个机器学习模型。例如,除了传感器信息110之外,左控制操作数106和/或右控制操作数108的数值可以应用到一个或更多个机器学习模型118。
在方框B408处,方法400包括通过一个或更多个机器学习模型计算控制数据和进度数据。例如,至少基于输入104(例如,传感器信息110、左控制操作数106和/或右控制操作数108的数值、状态信息112和/或其他输入104),一个或更多个机器学习模型118可以计算车辆控制信息124和/或车道变更进度122。
在方框B410处,方法400包括将车辆控制数据传输到车辆的控制组件。例如,车辆控制信息124可以被传输到车辆140的一个或更多个控制组件128。如本文所描述的,车辆控制信息124可以包括推荐的车辆轨迹和/或用于根据推荐的车辆轨迹控制车辆140(例如,转向角、加速度等)的控件。
在方框B412处,方法400包括更新控制输入的数值。例如,至少部分基于一个或更多个机器学习模型118的输出120,可以更新左控制操作数106和/或右控制操作数108的数值。
通过重复方框B406-方框B412,方法可以继续,直到完成车辆操纵。一旦确定车辆操纵已经完成,车辆140可以进入另一驱动模式,诸如车道保持模式。
转弯和车道分割
如上文所述,惯常的系统依赖于HD地图来执行车道变更操纵,诸如转弯和/或在十字路口车道分割。然而,通过依赖HD地图,自动驾驶车辆必须首先具有准确的位置信息(例如,从GPS传感器)和准确的HD地图,并执行本地化处理以合并用于参考的信息。结果是,当HD地图不存在和/或当位置信息更新慢和/或不准确时,可能不能有效地执行或根本不能执行进行转弯或采取车道分割(例如,自动驾驶车辆可以实现安全协议以退出操纵)。否则,自动驾驶车辆可能不稳定地或危险地执行操纵(例如,由于位置信息是不准确的,所以车辆相对于十字路口和转弯和/或车道分割的定位可能因此而受到影响),和/或需要将控制移给人类驾驶员。对于自动驾驶车辆的乘客而言,这些选择都不是特别理想的。
本发明为自动驾驶车辆140提供的系统可以在不依赖于HD地图和/或位置信息的情况下进行车道变更。反之,自动驾驶车辆依赖于使用由车辆的一个或更多传感器(例如,相机、LIDAR传感器、RADAR传感器等)生成的传感器数据的计算机视觉。结果是,转弯和车道分割主要是基于感知的,并且因此避免了过度依赖于潜在不可用和/或不准确的信息(例如,HD地图、位置信息等)。
参照在十字路口或车道分割处的转弯,响应于输入(例如,用户输入到转弯信号或信号灯开关)可以接收触发信号(例如,右转、左转、将车道分割到右侧等)或以其他方式响应于来自系统的命令(例如,来自GPS系统的导航命令),以指示开始转弯或车道分割。触发信号可以使控制输入(例如,用于左转的左控制操作数、用于右转的右控制操作数、用于跟踪向右的车道分割的右控制操作数)得到更新(例如,用于右转、右控制操作数可以设置成初始值,诸如1.0)。
来自车辆的一个或更多传感器(例如,相机、LIDAR传感器864、RADAR传感器860等)的传感器数据可以被接收,并被输入到一个或更多个机器学习模型(例如,可以包括用于每个传感器的单独的卷积流的卷积神经网络)。在一些示例中,一个或更多个机器学习模型可以输出车辆轨迹点(例如,(x,y)坐标),其代表推荐的车辆轨迹和/或用于跟随推荐的车辆轨迹的车辆控制单元的控件(例如,车辆的跟踪推荐车辆轨迹控制组件)。推荐的车辆轨迹可以在当前道路上或沿当前路径(例如,不是转弯)继续,直到标识到合适的十字路口或匝道。换句话说,用于转弯或车道分割的推荐的车辆轨迹不仅可以包括用于转弯或车道分割的位置,还可以包括在转弯或车道分割之前或在转弯或车道分割之后的一段道路(其可以不确定地长)。
在一些示例中,车辆的方位信息可以用于确定已经完成的转弯或车道分割。例如,如果转弯是90度转弯,然后在车辆的90度方位上(如任何数量的合适的传感器(诸如而非限制,IMU传感器)或合适的传感器的组合)的变更可以向系统指示转弯完成。在这种示例中,方位信息(例如,作为状态信息)可以输入到一个或更多个机器学习模型,并且一个或更多个机器学习模型可以输出转弯的状态。在其他示例中,可以单独计算方位信息(例如,不使用一个或更多个机器学习模型或使用另一机器学习模型)。
此外,一个或更多个机器学习模型可以输出转弯或车道分割状态信息(例如,转弯或车道分割的完成量),并且该输出可以反馈到左控制操作数或右控制操作数(例如,依赖于转弯或车道分割的方向)。该过程可以继续直到完成转弯或车道分割。一旦完成转弯或车道分割,则可以重新设置控制输出(例如,设置成0.0,以指示完成转弯或车道分割)。
在一些示例中,除了传感器数据之外,代表十字路口的基本描述的地图数据(例如,来自2D的GPS应用程序的十字路口的屏幕截图)可以输入到一个或更多个机器学习模型。一个或更多个机器学习模型可以使用地图数据,以生成推荐的车辆轨迹,其包括一旦从传感器数据标识到对应于地图数据的十字路口,则进行转弯。结果是,如惯常的系统所使用的,详细的(例如,HD)地图不被要求获得地图数据的好处,因此当控制转弯或车道分割的车辆时,降低了HD地图数据需要是有用的和准确的要求。
在其他示例中,代表低分辨率的数据可以输入到一个或更多个机器学习模型。该地图数据可以代表2D道路布局、用于车辆跟随的沿该道路布局的路径(例如,基于车辆的当前位置和结束位置的GPS制导路径)和/或车辆关于道路布局或路径中的一个的位置(例如,车辆位于中心,垂直方位)。在其他示例中,在每次迭代中,可以捕获地图数据和/或输入到一个或更多个机器学习模型。地图数据可以用于车辆140的基本定位,例如标识车辆相对于地图的估计相对位置。
此外,在这种示例中,可以不需要控制输出,因为转弯或车道分割是从开始位置到结束位置的连续路径的部分,因此通过跟随路径,由于在地图数据中标识到十字路口,车辆可以不需要盲目地(例如,没有任何支持数据)标识十字路口。然而,一个或更多个机器学习模型的输出仍然可以包括车辆轨迹点或用于跟随车辆轨迹的控件。
在任一示例中,传感器数据、基本地图数据和/或更详细的地图数据可以应用到卷积神经网络。来自每个传感器的传感器数据可以应用到各自的卷积流,并且地图数据也可以应用到另一卷积流。卷积流的输出可以在卷积神经网络的层(诸如全连接层)中组合。
现在参照图5A,图5A是示出根据本公开的一些实施例的用于执行车辆操纵的示例过程的数据流程图。关于图5A描述的车辆操纵是转弯或车道分割,然而,如本文所描述的,这仅出于示例的目的而非旨在限制性的。
当从非限制性的示例信号生成器502接收触发信号时,车辆操纵可以开始。任何数量的输入504,包括但不限于图5A所示出的那些,可以输入到一个或更多个机器学习模型516。一个或更多个机器学习模型516可以生成或计算任何数量的输出518,包括但不限于图5A所示出的那些。输出518中的至少一个可以反馈到输入504,如反馈循环522所指示的(例如,输出518可以用于更新输入504中的一个或更多,用于一个或更多个机器学习模型516的下一次迭代)。输出518中的至少一个可以被传送或发送到自动驾驶车辆140的一个或更多个控制组件128。然后一个或更多个控制组件128可以使用一个或更多个输出518(或从一个或更多个输出518生成的信息)以根据一个或更多个输出518控制车辆140。
触发信号可以包括代表由车辆140完成的车辆操纵类型的数据。例如,触发信号可以包括代表右转、左转、左车道分割、右车道分割和/或另一车辆操纵(诸如车道变更)的数据,如上文关于图1A-图1B所更详细描述的。在一些示例中,可以使用脉冲宽度调制(pulsewidth modulation,PWM)或另一信号生成方法生成触发信号,并且可以由车辆140的一个或更多个组件分析,以确定由触发信号代表的车辆操纵的类型。
响应于由车辆140接收的输入和/或响应于车辆140所做的决定,可以接收或生成触发信号。例如,车辆140的操作数可以经由转弯信号、键盘、人机界面(HMI)显示、声音输入和/或另一输入类型提供输入。输入可以代表特定的车辆操纵,结果是,可以生成代表特定的车辆操纵的触发信号。作为另一示例,车辆140(例如,自动驾驶车辆软件堆栈的规划层的一个或更多组件或特征)可以确定需要或期望特定的车辆操纵,结果是,可以生成代表特定的车辆操纵的触发信号。在这种示例中,车辆140可以使用HD地图、导航引导和/或另一信息源以确定需要或期望特定的车辆操纵(例如,以增加安全性)。在一些示例中,触发信号可以包是来自GNSS应用程序(例如,GPS应用程序)的引导信号。
输入504可以包括左控制操作数506、右控制操作数508、传感器信息510、状态信息512、地图信息514和/或其他输入。可以基于来自一个或更多个机器学习模型516的输出518的触发信号和/或反馈来确定左控制操作数506和右控制操作数508的数值。例如,当触发信号代表左转时,可以基于触发信号设置、更新和/或改变左控制操作数506的数值。作为另一示例,当触发信号代表右转时,可以基于触发信号设置、更新和/或改变右控制操作数508的数值。在任一示例中,在计算车辆控制信息520和/或其他输出518中,一个或更多个机器学习模型516可以使用左控制操作数506和/或右控制操作数508。
在一些示例中,响应于接收触发信号,可以将左控制操作数506和/或右控制操作数508的数值设置、更新和/或改变为1、100%和/或另一数值,以指示转弯或车道分割的开始。在转弯或车道分割的结束,可以将左控制操作数506和/或右控制操作数508的数值设置、更新和/或改变为0、0%和/或另一数值,以指示转弯或车道分割完成。在一些示例中,在转弯或车道分割的整个过程中,左控制操作数506和/或右控制操作数508的数值可以被更新,类似于针对车道变更的左控制操作数106和/或右控制操作数108的更新,如本文所描述的。然而,因为可以使用方位信息(例如,状态信息512)和/或地图信息514,可以仅需要更新左控制操作数506和/或右控制操作数508,以指示转弯或车道分割应该开始和转弯或车道分割应该结束(例如,因此车辆140可以重新进入另一模式,诸如车道保持模式)。
可以应用到一个或更多个机器学习模型516的另一输入504是传感器信息510。传感器信息510可以包括来自车辆140(和/或其他车辆,在一些示例中)的任何传感器的传感器数据。例如,参照图8A-图8C,传感器信息110可以包括由例如而非限制一个或更多个全球导航卫星系统(GNSS)传感器858(例如,一个或更多个全球定位系统传感器、一个或更多个RADAR传感器860、一个或更多个超声传感器862、一个或更多个LIDAR传感器864、一个或更多个惯性测量单元(IMU)传感器866(例如一个或更多个加速度计、一个或更多个陀螺仪、一个或更多个磁罗盘、一个或更多个磁力计等)、一个或更多个麦克风896、一个或更多个立体相机868、一个或更多个宽视角相机870(例如鱼眼相机)、一个或更多个红外相机872、一个或更多个环绕相机874(例如360度相机)、一个或更多个远程和/或中程相机898、一个或更多个速度传感器844(例如,用于测量车辆140的速度)、一个或更多个振动传感器842、一个或更多个转向传感器840、一个或更多个制动传感器(例如,作为制动传感器系统846的部分)和/或其他传感器类型生成的传感器数据。
在一些示例中,传感器信息510可以包括由前向相机和/或侧向相机(诸如一个或更多个宽视角相机870、一个或更多个环绕相机874、一个或更多个立体相机868和/或一个或更多个远程和/或中程相机898)生成的传感器数据。当导航转弯时,该传感器数据对于计算机视觉和/或感知可以是有用的,因为前向相机和/或侧向相机可包括视场(例如,前向立体相机868的视场、一个或更多个前向远程相机898和/或图8B的宽视角相机870),其包括车辆140行驶的当前道路和车辆140将转弯以完成操纵车辆的至少部分十字路口或道路。在一些示例中,多于一个的相机或其他传感器可以用于合并多个视场(例如,图8B的远程相机898、前向立体相机868和/或前向宽视角相机870的视场)。
例如,可以使用具有沿车辆140的中心线延伸的视场(例如,前向立体相机868)的第一相机、具有沿着与第一相机的视场的左侧偏移大约45度的线延伸的视场的第二相机(例如,左前向远程相机898)和具有沿着与第一相机的视场的右侧偏移大约45度的线延伸的视场的第三相机(例如,右前向远程相机898)。第一相机和第三相机可以安装于或集成于后视镜中,或沿挡风玻璃安装于或集成于车辆140的主体中,例如。第二相机可以安装于或集成于车辆140的主体上的挡风玻璃之上,可以安装于车辆140内部后视镜的后方,和/或可以安装于或集成于保险杠或车辆140的前身的其他区域中。
作为另一示例,可以使用包括更大视场(例如,包括第一相机、第二相机和第三相机的视场的至少部分视场)的单个相机,诸如宽视角相机870。在任一示例中,针对使用一个或更多个机器学习模型516来导航转弯和/或车道分裂,一个或更多个相机可以是有用的,该相机包括视场,该视场涵盖在车辆前方140至少120度到180度。
在任一示例中,传感器信息510可以包括代表一个或更多个图像的图像信息、代表视频的图像数据(例如,视频的快照)和/或代表传感器(例如,一个或更多个LIDAR传感器864、一个或更多个RADAR传感器860等)的视场的传感器数据。传感器信息510可以输入到一个或更多个机器学习模型516,并由机器学习模型516使用,以计算输出518,诸如车辆控制信息520。
输入504可以包括状态信息512。状态信息512可以包括代表车辆140的状态(诸如速度、速率、加速度、减速度、方位和/或其他状态信息)的数据。该数据可以由车辆140的一个或更多传感器(诸如一个或更多个IMU传感器866、一个或更多个速度传感器844、一个或更多个转向传感器840、一个或更多个振动传感器842和/或制动传感器系统846、动力系统850和/或转向系统854的一个或更多传感器)捕获和/或从其接收。
状态信息512可以由一个或更多个机器学习模型516使用,以计算输出518,诸如车辆控制信息520。例如,当车辆控制信息520包括推荐的车辆轨迹或用于根据推荐的车辆轨迹控制车辆140的控制数据时,状态信息512(例如,速度、方位等)可能对在执行这种计算中的一个或更多个机器学习模型是有价值的。换句话说,代表车辆140的推荐未来(x,y)坐标的车辆轨迹可受益于对车辆140的当前速度、方位和/或其他状态信息112的知识。进一步地,为了确定已经完成转弯或车道分割,状态信息512(例如,方位信息)可能是有用的(例如,如果转弯是90度,则确定车辆140的方位已经改变了大约90度,这可以指示完成了转弯)。
进一步地,在一些示例中,输入504可以包括地图信息514。地图信息514可以由一个或更多个机器学习模型516使用,以生成输出518,诸如车辆控制信息520。例如,地图信息514可以包括低分辨率地图数据(例如,具有或不具有引导的2D地图应用程序的屏幕截图)。换句话说,与代表HD地图(例如,HD地图822和/或如本文所描述的并由惯常的系统使用的HD地图)的地图数据相反,地图信息514可能需要明显更少的存储空间,并且当计算输出518时,由一个或更多个机器学习模型516仅作为附加数据点使用。地图信息514可以包括描述了十字路口(或至少车道分割或转弯)的屏幕截图或图像(或代表其的数据),诸如由图5B的地图信息514A所图示的。在另一示例中,地图信息514可以包括十字路口的单个图像或屏幕截图,或代表其的数据,并且一旦到达导航航路点(例如,一旦从GPS应用程序接收在某个距离内转弯或车道分割的指示),可以提供给一个或更多个机器学习模型516。
在其他示例中,地图信息514可以包括其他地图数据,诸如沿一个或更多个道路和/或一个或更多个十字路口的路径,其为车辆指示通过一个或更多个道路和/或一个或更多个十字路口的引导,如图5C的地图信息514B所图示的。在这种示例中,地图信息514可以包括道路、车辆140和/或路径的屏幕截图的多个图像或代表其的数据。例如,在一个或更多个机器学习模型516的每次迭代中,除了至少传感器信息512之外,可以由一个或更多个机器学习模型516使用,生成新的地图信息514,以确定车辆控制信息520。
在任一示例中,地图信息514可以由车辆140(诸如,通过车辆的GNSS应用程序(例如,GPS)或车辆的另一应用程序)生成(例如,作为自动驾驶软件堆栈的规划层的部分)、可以由服务器生成并从服务器接收(图8D的一个或更多个服务器878)、可以由客户端设备并从客户端设备(例如,手机、计算机等)接收和/或由另一方法接收和/或生成。
在地图信息514是输入504之一并且地图信息514包括车辆操纵过程中的导航路径(例如,GPS引导路径)的示例中,可以不同地使用或根本不使用左控制操作数506和/或右控制操作数508。例如,左控制操作数506和/或右控制操作数508可以仅包括用于转弯或车道分割的开始的开始数值(例如,1、100%等)和用于转弯或车道分割的结束的结束数值(例如,0、0.0%等)。在其他示例中,可能不需要左控制操作数506和/或右控制操作数508。在任一示例中,左控制操作数506和/或右控制操作数508可以不同,因为车辆关于路径的位置可以指示车辆140在转弯或车道分割中的进度,因此当确定转弯或车道分割是否完成时,一个或更多个机器学习模型516可能不要求左控制操作数506和/或右控制操作数508(例如,车辆140可能依赖于路径进行此计算)。
一个或更多个机器学习模型516可以使用输入504以计算输出518。尽管本文关于使用神经网络,特别是卷积神经网络,作为一个或更多个机器学习模型516描述了示例(例如,关于图5B-图5C),但是,这并不旨在限制性的。例如而非限制,一个或更多个机器学习模型516可以包括任何类型的一个或更多个机器学习模型,诸如使用线性回归、逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯、k-最近邻(Knn)(K意味着聚类、随机森林、降维算法、梯度增强算法)、神经网络(例如自动编码器、卷积、复发、感知器、长/短期记忆、Hopfield、Boltzmann、深信念、反卷积、生成对抗、液体状态机等)的机器学习模型和/或其他类型的机器学习模型。
输出518可以包括车辆控制信息520和/或其他输出类型,诸如在转弯或车道分割中的进度(或至少转弯或车道分割的结束,以更新左控制操作数506和/或右控制操作数508)。车辆控制信息520可以包括推荐的车辆轨迹以及/或用于根据推荐的车辆轨迹控制车辆的车辆控制数据。输出518可以包括沿推荐的车辆轨迹的一个或更多点(例如,(x,y)坐标)和/或可以包括推荐的车辆轨迹(例如,在每个点上外推的轨迹)。在一些示例中,推荐的车辆轨迹可以由车辆操纵的半径代表,而在其他示例中,推荐的车辆轨迹可以由车辆操纵的反转半径代表。在一些实施例中使用反转半径以避免推荐的车辆轨迹(或其点)被作为无穷大值(例如,达到奇点)计算。
在车辆控制信息520包括推荐的车辆轨迹的示例中,推荐的车辆轨迹(或其代表的数据)可以被发送或传送到车辆140的一个或更多个控制组件128(例如,到自动驾驶驱动软件的控制层),并且一个或更多个控制组件128可以确定根据推荐的车辆轨迹确定要求控制车辆的控件。例如,一个或更多个控制组件128可以向一个或更多驱动器(例如,由自动驾驶软件堆栈的驱动层控制的驱动器)发送一个或更多控件。驱动器可以包括制动传感器系统846、动力系统850、转向系统854和/或其他系统的一个或更多组件或特征。然后可以根据由一个或更多个机器学习模型516输出的车辆控制信息520的推荐的车辆轨迹来控制车辆140。通过仅输出推荐的车辆轨迹而不是控件自身,过程500可以更有可能被不同的车辆制造商使用,因为不同的车辆制造商可以确定它们自己的控件和驱动器,以用于根据推荐的车辆轨迹控制车辆。
在其他示例中,车辆控制信息520可以包括用于根据推荐的车辆轨迹控制车辆140的控件。在这种示例中,一个或更多个机器学习模型516可以在自动驾驶软件堆栈的控制层中实现,并且可以使用车辆控制信息520控制车辆140(例如,通过自动驾驶软件堆栈的驱动层驱动车辆的一个或多个驱动器)。
现在参照图5B,图5B是根据本公开的一些实施例的一个或更多个示例机器学习模型516A的图示。图5B的一个或更多个机器学习模型516A可以是可以用于过程500的一个或更多个机器学习模型516的一个示例。然而,图5B的一个或更多个机器学习模型516A并非旨在限制性的,并且一个或更多个机器学习模型516可以包括附加的和/或不同于图5B的一个或更多个机器学习模型516A的机器学习模型。一个或更多个机器学习模型516A可以包括卷积神经网络,并且因此也可以可选地称为卷积神经网络516A或卷积网络516A。
卷积网络516A可以包括输入504,其包括左控制操作数506、右控制操作数508、传感器信息510、地图信息514A和/或其他输入类型。卷积网络516A可以包括传感器信息510A-510C,其包括由一个或更多相机(例如,本文关于图8A-图8C所描述的相机中的一个或更多)生成的图像数据。例如,传感器信息510A可以包括由第一相机(例如,左前向相机)生成的图像数据,传感器信息510B可以包括由第二相机(例如,中心前向相机)生成的图像数据,并且传感器信息510C可以包括由第三相机(例如,右前向相机)生成的图像数据,诸如上文所描述的第一相机、第二相机和第三相机。更具体地,传感器信息510A-510C可以包括由一个或更多个相机生成的单独图像,其中在卷积网络516A的每次迭代中,代表单独图像的一个或更多的图像数据被输入到卷积网络516A。
传感器信息510可以被输入到卷积网络516A的一个或更多个卷积流526。例如,来自每个传感器(例如,相机、LIDAR传感器、RADAR传感器等)的传感器信息510可以被输入到其自己的卷积流526(例如,传感器信息510A可以被输入到卷积流526A,传感器信息510B可以被输入到卷积流526B等)。一个或更多个卷积流526和/或卷积网络516A可以包括任何数量的层528、530和/或532、参数和/或超参数。层528、530和/或532、参数和/或超参数可以与上文关于图1B的卷积流130和/或卷积网络118A(例如,卷积层、池化层、ReLU层等)类似。
为了训练一个或更多个机器学习模型516,可以标记传感器信息510。例如,指示转弯或车道分割的开始的传感器信息510可以用左控制操作数506和/或右控制操作数508的数值标记,其指示转弯或车道分割已经开始(例如,1.0、100%等)。指示转弯或车道分割的结束的传感器信息510可以用左控制操作数506和/或右控制操作数508的数值标记,其指示转弯或车道分割已经结束(例如,0.0、0%等)。类似于上文关于图3所描述的训练信息,可以基于外推标记在开始标记和结束标记之间的剩余传感器信息(其可以使用规则、逻辑、一个或更多个机器学习模型516和/或另一机器学习模型计算)。
在一些示例中,转弯或车道分割的开始的标记可以在实际的转弯或车道分割之前(例如,传感器信息510的实例,诸如图像,其在实际的转弯或车道分割开始之前的100英尺、200英尺、10帧、20帧等可以被标记为转弯或车道分割的开始)。类似地,转弯或车道分割的结束的标记可以在实际的转弯或车道分割之后(例如,传感器信息的实例,诸如图像,其在实际的转弯或车道分割结束之后的100英尺、150英尺、25帧、30帧等可以被标记为转弯或车道分割的结束)。在这种示例中,转弯或车道分割可以包括转弯或车道分割之前的第一部分、在转弯或车道分割期间的第二部分和/或在转弯或车道分割之后的第三部分。通过这样做,一个或更多个机器学习模型可以学习标识转弯或车道分割(例如,十字路口),作为转弯或车道分割的部分。
在一些示例中,地图信息514A可以被输入到卷积网络516A的一个或更多个卷积流527。地图信息514A和/或一个或更多个卷积流527可以从某些实施例省略(如虚线所指示的)。在其不被省略的示例中,地图信息514A可以是执行转弯或车道变更的十字路口536的2D、低分辨率代表。一个或更多个卷积流527可以包括任何数量的层533、参数和/或超参数。层533、参数和/或超参数与上文关于图1B的卷积流130和/或卷积网络118A类似(例如,卷积层、池化层、ReLU层等)。
一个或更多个卷积流526(和一个或更多个卷积流527,在一些实施例中)的输出可以输入到卷积网络516A的一个或更多个全连接层534。除了一个或更多个卷积流526(和527)的输出之外,左控制操作数526、右控制操作数508和/或一个或更多其他输入504可以输入到一个或更多个全连接层534。
卷积网络516A的输出518可以包括车辆控制信息520和/或其他输出类型,这样转弯或车道分割的进度可以反馈到左控制操作数506和/或右控制操作数508,如本文所描述的。如本文所描述的,车辆控制信息520可以包括推荐的车辆轨迹542和/或用于跟随推荐的车辆轨迹542(例如,用于根据推荐的车辆轨迹542(诸如转向角、加速度、减速度等)控制车辆140)的控件。在一些示例中,车辆控制信息520可以包括沿推荐的车辆轨迹542的轨迹点540(例如,由(x,y)坐标代表的)。在一些示例中,仅有单独的轨迹点540(例如,针对车辆140被控制到的下一轨迹点)可以由一个或更多个机器学习模型516A输出。在其他示例中,可以输出多余一个的轨迹点540。作为另一示例,可以输出完整的轨迹,其可以从两个或更多轨迹点540外推。在任一示例中,推荐的车辆轨迹542可以输出为推荐的车辆轨迹542的半径,或者可以输出为推荐的车辆轨迹542的反转半径,如本文所描述的。推荐的车辆轨迹542和/或其上的一个或更多个轨迹点540可以由一个或更多个控制组件128使用,以控制通过十字路口536的车辆140(例如,如图5B所指示的进行右转)。
参考转弯进度,转弯进度可以是作为代表转弯进度的数据的输出,并且该数据可以被分析以确定转弯进度(和/或车道分割进度)。换句话说,一个或更多个机器学习模型516的输出可以不是转弯进度的数值,但可以是与转弯进度相关的值。例如,可以使用查找表,以基于一个或更多个机器学习模型516的输出确定转弯进度。
在一些示例中,可以使用状态信息512(例如,车辆140的方位)以确定转弯进度。在这种示例中,可以知道通过转弯或车道分割的车辆140方位的预期变化(例如,从GPS数据或从另一源,诸如来自自动驾驶软件堆栈的规划层的源)。这样,方位的预期变化与方位的实际变化相比,可以指示转弯进度。当完成转弯时,控制逻辑544可以确定,并可以更新左控制操作数506和/或右控制操作数508的数值作为响应,如反馈循环522所指示的。在一些示例中,左控制操作数506可以包括正值(例如,0-1、0%-100%等),并且右控制操作数508可以包括负值(例如,-1-0、-100%-0等),反之亦然。在这种示例中,左控制操作数506和右控制操作数508可以是单独控制(例如,通用控制),并且可以从-1到1变化、或从-100%到100%变化等。
在其他示例中,可以不使用一个或更多个机器学习模型516以确定转弯进度。例如,类似于上文所描述的,可以知道方位的预期变化,并且例如,可以使用来自一个或更多IMU传感器866的传感器数据,以确定何时完成转弯或车道分割。该计算可以基于规则、逻辑执行和/或可以由另一受训练以确定方位变化的一个或更多个机器学习模型执行。在这种示例中,可以基于该单独的计算更新左控制操作数506和/或右控制操作数508,并且可以不是来自一个或更多个机器学习模型516A的反馈循环。
现在参照图5C,图5C是根据本公开的一些实施例的另一示例机器学习模型516B的图示。图5C的一个或更多个机器学习模型516B可以是在过程500中使用的一个或更多个机器学习模型516的一个示例。然而,图5C的一个或更多个机器学习模型516B并非旨在限制性的,并且一个或更多个机器学习模型516可以包括与图5C的一个或更多个机器学习模型516B相比附加的和/或不同的机器学习模型。一个或更多个机器学习模型516B与包括卷积神经网络,并且因此也可以可选地称为卷积神经网络516B或卷积网络516B。
卷积网络516B可以类似于卷积网络516A,如上文所描述的(例如,可以包括指示一些输入504和/或输出518)。然而,代替了地图数据514A,卷积网络516B可以包括地图信息514B,其中,如本文所描述的,当执行车辆操纵和/或与卷积网络516A的地图数据514A相比更频繁地(例如,在每次迭代中)应用于卷积网络516B时,可以包括用于车辆140的路径546。这样,卷积网络516B可以不需要左控制操作数506、右控制操作数508和/或用于更新左控制操作数506和/或右控制操作数508的反馈循环522,因为路径546可以提供完成转弯或车道分割的指示。
例如,路径546可以包括从起点到终点的连续路径,并且沿着路径可以存在转弯、车道分割、车道变换等。在这样的示例中,当应用到一个或更多个卷积流527时,卷积网络516B可以使用地图信息514B,以确定转弯、车道分割、车道变换和/或其他车辆操纵何时开始和何时结束。然而,路径546并非旨在包括用于车辆140跟随的确切坐标,并且因此车辆140仍然可以依赖于卷积网络516B,以提供推荐的车辆轨迹542和/或用于根据推荐的车辆轨迹542控制车辆140的控件。换句话说,路径546作为车辆140的低分辨率、高级别引导,并且当导航转弯、车道分割和/或车道变换时,卷积网络516B的输出518可以用于确定车辆的实际轨迹。
现在参照图6,图6是示出根据本公开的一些实施例的用于执行另一车辆操纵的方法600的流程图。如本文所描述的方法600的每个方框,包括计算过程,其可以使用硬件、固件和/或软件的任何组合执行。例如,可以由执行存储在存储器中的指令的处理器执行各种功能。方法也可以体现为存储在计算机存储介质上的计算机可用的指令。方法可以由独立的应用程序、服务或宿主服务(独立的或与另一宿主服务结合)或到另一产品的插件提供,仅举几例。此外,通过示例,描述了关于车辆140、过程500和一个或更多个机器学习模型516A的方法600。然而,方法600可以附加地或替代地由任一系统或系统的任何组合(包括但不限于本文所描述的那些)来执行。
在方框B602处,方法600包括接收触发信号。例如,响应于代表命令或要求以启动车辆操纵(例如,转弯、车道变换等)的到车辆140的输入和/或响应于车辆140的确定(例如,通过自动驾驶软件堆栈的规划层,诸如使用GPS应用程序)以执行车辆操纵,可以生成和接收触发信号。
在方框B604处,方法600包括将控制输入设置为初始值。例如,响应于或基于接收触发信号,左控制操作数506和/或右控制操作数508可以设置为初始值(例如,1、100%或指示车辆操纵启动或开始的另一数值)。
在方框B606处,方法600包括接收传感器数据。例如,可以由一个或更多传感器和/或车辆140的相机生成和/或捕获和接收传感器信息510。传感器信息510可以包括传感器数据和/或代表一个或更多传感器和/或相机的一个或更多个视场的图像数据。
在一些示例中,方框600可以进一步包括接收地图信息514,诸如地图信息514A。
在方框B608处,方法600包括将传感器数据应用到一个或更多个机器学习模型。例如,传感器信息510可以应用到一个或更多个机器学习模型516(例如,卷积神经网络516A)。除了传感器数据之外,左控制操作数106和/或右控制操作数108的数值可以应用到一个或更多个机器学习模型516。如本文所描述的,在一些示例中,地图信息514(例如地图信息514A)可以应用到一个或更多个机器学习模型516。
在方框B610处,方法600包括确定车辆控制数据。例如,一个或更多个机器学习模型516可以基于输入504(例如,传感器信息510、地图信息514、状态信息512、左控制操作数506、右控制操作数508和/或其他输入504)计算和/或确定车辆控制信息520。
在方框B612处,方法600包括将车辆控制数据传送到车辆的控制组件。例如,车辆控制信息520可以被传送到车辆140的一个或更多个控制组件128。方法600在方框B612处可以类似于方法400的方框B412,如上所述。
方法600可以包括方框B606到方框B612的重复,直到完成车辆操纵。一旦完成车辆操纵,在方框B614处,方法600包括将控制输入的初始值更新为结束值。例如,可以设置、更新和/或改变左控制操作数506和/或右控制操作数508的数值,以向一个或更多个机器学习模型516指示完成车辆操纵(如图5B的反馈循环522所指示的)。可以基于车辆140的方位信息确定车辆操纵完成,如由一个或更多个机器学习模型516、规则、逻辑和/或另一机器学习模型所确定的。一旦完成车辆操纵,车辆140可以进入另一模式,诸如车道保持模式,如本文所描述的。
图7是示出根据本公开的一些实施例的用于执行另一车辆操纵的方法700的流程图。如本文所描述的,方法700的每个方框包括计算过程,其可以使用硬件、固件和/或软件的任何组合执行。例如,可以由执行存储在存储器中的指令的处理器执行各种功能。方法也可以体现为存储在计算机存储介质上的计算机可用的指令。方法可以由独立的应用程序、服务或宿主服务(独立的或与另一宿主服务结合)或到另一产品的插件提供,仅举几例。此外,通过示例,关于车辆140、过程500和一个或更多个机器学习模型516B描述了方法700。然而,方法700可以附加地或替代地由任一系统或系统的任何组合(包括但不限于本文所描述的那些)来执行。
在方框B702处,方法700包括接收地图数据。例如,可以接收地图信息514B。地图信息514B可以包括路径546,该路径可以包括转弯、车道分割和/或另一车辆操纵。可以由GPS应用程序或例如自动驾驶软件堆栈的规划层的另一模块生成地图数据514B和从GPS应用程序或例如自动驾驶软件堆栈的规划层的另一模块接收地图数据514B。
在方框B704处,方法700包括接收传感器数据。例如,可以由一个或更多传感器和/或车辆140的相机生成和/或捕获和接收传感器信息510。传感器信息510可以包括传感器数据和/或代表一个或更多传感器和/或相机的一个或更多个视场的图像数据。
在方框B706处,方法700包括将传感器数据和地图数据应用到一个或更多个机器学习模型。例如,可以将传感器信息510和地图信息514(例如,地图数据514B)应用到一个或更多个机器学习模型516(例如,卷积神经网络516B)。
在方框B708处,方法700包括确定车辆控制数据。例如,一个或更多个机器学习模型516可以基于输入504(例如,传感器信息510、地图信息514、状态信息512和/或其他输入504)计算和/或确定车辆控制信息520。
在方框B710处,方法700包括将车辆控制数据传送到车辆的控制组件。例如,车辆控制信息520可以被传送到车辆140的一个或更多个控制组件128。方法600在方框B612处可以类似于方法400的方框B412,如上所述。
方法700可以包括方框B702到方框B710的重复,直到完成车辆操纵。一旦完成车辆操纵,车辆140可以进入另一模式,诸如车道保持模式,如本文所描述的。
示例自动驾驶车辆
图8A是根据本公开的一些实施例的示例自动驾驶车辆140的图示。车辆140可以包括载客车辆,诸如小汽车、卡车、公交车和/或可以或不可以容纳一个或更多乘客的车辆的另一类型。自动驾驶车辆通常可以根据自动化级别来描述,诸如由美国国家公路交通安全管理局(National Highway Traffic Safety Administration,NHTSA)、美国交通部的部门,以及汽车工程师协会(National Highway Traffic Safety Administration,SAE)的“与道路机动车辆驾驶自动化系统相关的术语的分类和定义”(标准No.J3016-201806,发布于2018年6月15日,标准No.J3016-201609,发布于2016年9月30日,以及该标准的先前版本和未来版本)定义的那些。车辆140能够具有根据自动驾驶级别的级别3-级别5中的一个或更多的功能。例如,依赖于实施例,车辆140能够可以具有条件自动化(级别3)、高自动化(级别4)和/或完全自动化(级别5)。
车辆140可以包括组件,诸如底盘、车身、车轮(例如,2、4、6、8、18等)、轮胎、车轴和其他组件。车辆140可以包括动力系统850,诸如内燃机、混合动力发电厂机、全电动发动机和/或其他动力系统类型。动力系统850可以连接至车辆140的传动系(drive train),其可以包括变速器,以实现车辆140的动力。可以响应于从节气门/加速器852接收信号来控制动力系统850。
当动力系统850在运行时(例如,当车辆在运动中时),可以使用包括方向盘的转向系统854,以使车辆140转向(例如,沿预期路径、路线或轨迹)。转向系统854可以从转向致动器856接收信号。方向盘可以是完全自动化(级别5)功能的可选项。
响应于从制动致动器848和/或制动传感器接收信号,可以使用制动传感器系统846以操作车辆制动器。
一个或更多个控制器836(其可以包括一个或更多片上系统(system on chips,SoC)804(图8C)和/或一个或更多个GPU)可以向车辆140的一个或更多组件和/或系统提供信号(例如,命令的代表)。例如,一个或更多个控制器可以发送信号,以经由一个或更多个制动致动器848操作车辆制动器,以经由一个或更多转向致动器856操作转向系统854,和/或经由一个或更多节气门/加速器852操作动力系统850。一个或更多个控制器836可以包括一个或更多机载(例如,集成)计算设备(例如,超级计算机),其处理传感器信号,并输出操作命令(例如,代表命令的信号)以使能自动驾驶和/或帮助人类驾驶员驾驶车辆140。一个或更多个控制器836可以包括用于自动驾驶驱动功能的第一控制器836、用于功能性安全功能的第二控制器836、用于人工智能功能(例如,计算机视觉)的第三控制器836、用于信息传递功能的第四控制器836、用于在紧急情况下的冗余的第五控制器836和/或其他控制器。在一些示例中,单个控制器836可以处理上述功能的两个或更多,两个或更多控制器836可以处理单个功能和/或其的任何组合。
响应于从一个或更多传感器接收的传感器数据(例如,传感器输入),一个或更多个控制器836可以提供用于控制车辆140的一个或更多组件和/或系统的信号。可以从例如而非限制由例如一个或更多个全球导航卫星系统(GNSS)传感器858(例如,一个或更多个全球定位系统传感器、一个或更多个RADAR传感器860、一个或更多个超声传感器862、一个或更多个LIDAR传感器864、一个或更多个惯性测量单元(IMU)传感器866(例如,一个或更多个加速度计、一个或更多个陀螺仪、一个或更多个磁罗盘、一个或更多个磁力计等)、一个或更多个麦克风896、一个或更多个立体相机868、一个或更多个宽视角相机870(例如,鱼眼相机)、一个或更多个红外相机872、一个或更多个环绕相机874(例如360度相机)、一个或更多个远程和/或中程相机898、一个或更多个速度传感器844(例如,用于测量车辆140的速度)、一个或更多个振动传感器842、一个或更多个转向传感器840、一个或更多个制动传感器(例如,作为制动传感器系统846的部分)和/或其他传感器类型接收传感器数据。
一个或更多个控制器836中的一个或更多可以从车辆140的仪表组832接收输入(例如,由输入数据代表),并经由人机界面(HMI)显示器834、声音信号器、扬声器和/或经由车辆140的其他组件提供(例如,由输出数据、显示数据等代表的)输出。输出可以包括信息,诸如车辆速率、速度、时间、地图数据(例如,图8C的HD地图822)、位置数据(例如,车辆140的位置,诸如在地图上)、方向、其他车辆的位置(例如,占用栅格)、如由一个或更多个控制器836所感知的关于对象和对象的状态的信息等。例如,HMI显示834可以显示关于一个或更多对象(例如,路牌、警告标志、交通灯改变)的存在的信息和/或关于车辆已经进行、正在进行或将要进行的驾驶操纵的信息(例如,现在改变车道、在两英里的34B出口下等)。
车辆140进一步包括网络接口824,其可以使用一个或更多无线天线826和/或一个或更多个调制解调器,以通过一个或更多网络进行通信。例如,网络接口824可能能够通过长期演进(long-term evolution,LTE)、宽带码分多址(wideband code-divisionmultiple access,WCDMA)、通用移动电信服务(universal mobile telecommunicationsservice,UMTS)、全球移动通信系统(global system for mobile communications,GSM),CDMA2000等进行通信。一个或更多个无线天线826也可以使用一个或更多个局域网,诸如蓝牙、蓝牙低能耗(bluetooth low energy,LE)、Z波、ZigBee等和/或低功耗广域网(LowPower Wide-Area Network,LPWAN)诸如远程广域网(long range wide-area network,LoRaWAN)等,使能在环境中的对象(例如,车辆、移动设备等)之间的通信。
图8B是根据本公开的一些实施例的图8A的示例自动驾驶车辆140的相机位置和视场的示例。相机和各自的视场是一个示例实施例,并非旨在限制性的。例如,可以包括附加的或替代的相机、可以使用很少的相机,和/或相机可以位于车辆140的不同位置。
相机的相机类型可以包括但不限于数字相机,其可以适用于车辆140的组件和/或系统。一个或更多个相机可以在汽车安全完整性等级(automotive safety integritylevel,ASIL)B和/或另一个ASIL上运行。依赖于实施例,相机类型可以具有任何图像捕获率,诸如每秒60帧(fps)、820fps、240fps等。相机可以能够使用滚动快门、全局快门、另一种类型的快门或其组合。在一些示例中,相机的滤色器阵列可包括红色透明透明透明(redclear clear clear,RCCC)滤色器阵列、红色透明透明蓝色(red clear clear blue,RCCB)滤色器阵列、红色蓝绿色透明(red blue green clear,RBGC)滤色器阵列、Foveon X3滤色器阵列、拜耳(Bayer)传感器(RGGB)滤色器阵列、单色传感器滤色器阵列和/或其他类型的滤色器阵列。在一些实施例中,清晰像素相机,例如具有RCCC、RCCB和/或RBGC滤色器阵列的相机,可用于增加光灵敏度。
在一些示例中,一个或更多个相机中的一个或更多可用于执行高级驾驶辅助系统(Advanced Driver Assistance System,ADAS)功能(例如,作为冗余或故障安全设计的部分)。例如,可以安装多功能单反相机(multi-function mono camera is installed)以提供包括离开车道警告、交通标志辅助和智能前照灯控制的功能。而且,一个或更多个相机中的一个或更多(例如,所有相机)可以记录并同时提供图像数据(例如,视频)。
相机的一个或更多可以安装在安装装配中,例如定制设计的(3D打印的)组件,以便切除车内的杂散光和反射(例如,反射在挡风玻璃镜子上的来自仪表板的反射),其可能干扰相机的图像数据捕获能力。参照翼镜安装装配,翼镜装配可以是定制的3D打印装配,这样相机安装板与翼镜的形状匹配。在一些示例中,一个或更多个相机可以集成到翼镜中。对于侧视相机,一个或更多个相机也可以集成在舱体(cabin)的每个角落的四个支柱内。
带有包括在车辆140前方的部分环境的视场的相机(例如,前向相机)可以用于环绕视图,以帮助标识前向路径和障碍物,并且在一个或更多控制器836和/或控制SoC的帮助下,辅助提供对于产生占用栅格和/或确定优选车辆路径至关重要的信息。可以使用前向相机以执行与LIDAR相同的ADAS功能中的很多功能,包括紧急制动、行人检测和避免碰撞。前向相机也可以用于ASAS功能和系统(包括离开车道警告(Lane Departure Warning,LDW)、自动巡航控制(Autonomous Cruise Control,ACC)和/或其他功能(诸如交通标志识别))。
在前向配置中可以使用各种相机,包括例如包括互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)彩色成像器的单眼相机平台。另一示例可以是一个或更多个宽视角相机870,其可以用于感知从周边进入视场的物体(例如,行人、过街交通或自行车)。尽管图8B仅图示了一个宽视角相机,但在车辆140上可以有任何数量的宽视角相机870。此外,一个或更多个远程相机898(例如,长视角立体相机对)可以用于基于深度的对象检测,尤其用于神经网络还没有被训练的对象。一个或更多个远程相机898也可以用于对象检测和分类和基本的对象跟踪。
一个或更多立体相机868也可以包括在前向配置中。一个或更多个立体相机868可以包括集成控制单元,其包括可扩展处理单元(其可以提供可编程逻辑,诸如现场可编程门阵列(Field-Programmable Gate Array,FPGA))和具有在单芯片上集成了控制器局域网(Controller Area Network,CAN)或以太网接口的多芯微处理器。这样的单元可以用于生成车辆的环境的3D地图,包括用于在图像中的所有点的距离估计。替代的一个或更多个立体相机868可以包括紧凑的一个或更多个立体视觉传感器,其可以包括两个镜头(在左侧和右侧各一个)和图像处理芯片(其可以测量从车辆到目标对象的距离,并使用生成的信息(例如,元数据)以激活自动驾驶紧急制动和离开车道警告功能)。除了本文描述的那些之外或者作为另外一种选择,可以使用其他类型的一个或更多个立体相机868。
带有包括在车辆140侧面的部分环境的视场的相机(例如,侧视相机)可以用于环绕视图、提供使用的信息以创建和更新占用栅格,并生成侧面碰撞警告。例如,一个或更多个环绕相机874(例如,如图8B所图示的四个环绕相机)可以定位在车辆140上。一个或更多个环绕相机874可以包括一个或更多个宽视角相机870、一个或更多个鱼眼相机、一个或更多个360度相机等。四个示例,四个鱼眼相机可以定位在车辆的前方、后方和侧面。在替代性布置中,车辆可以使用三个环绕相机874(例如,左侧、右侧和后方),并可以利用一个或更多其他相机(例如,前向相机)作为第四环绕视角相机。
具有包括车辆140后方的部分环境的视场的相机(例如,后视相机)可以用于停车帮助、环绕视角、侧面碰撞警告和创建并更新占用栅格。各种各样的相机可以用于包括但不限于也适合作为一个或更多个前向相机(例如,一个或更多个远程和/或中程相机898、一个或更多个立体相机868,一个或更多个红外相机872等)的相机,如本文所描述的。
图8C是根据本公开的一些实施例的图8A的示例自动驾驶车辆140的示例系统架构的框图。应该理解的是,本文描述的该布置和其他布置仅作为示例阐述。除了所示的那些之外或代替所示的那些,可以使用其他布置和元件(例如,机器、接口、功能、顺序、功能组等),并且可以完全省略一些元件。进一步地,本文描述的很多元件是功能实体,其可以实现为离散或分布式组件或者与其他组件一起实现,并且可以以任何合适的组合和位置实现。本文描述的由实体执行的各种功能可以通过硬件、固件和/或软件执行。例如,可以由执行存储在存储器中的指令的处理器执行各种功能。
图8C中的车辆140的每个部件、特征和系统被示出为经由总线802连接。总线802可以包括CAN数据接口(本文也称为“CAN总线”)、以太网,FlexRay和/或其他类型的总线。CAN可以是车辆140内部的网络,用于辅助控制车辆140的各种特征和功能,诸如制动器的致动、加速、制动、转向、挡风玻璃刮水器等。CAN总线可以被配置成具有数十个甚至数百个节点,每个节点具有其自己的唯一标识符(例如,CAN ID)。可以读取CAN总线以找到方向盘角度、地面速度、发动机每分钟转数(revolutions per minute,RPMs)、按钮位置和/或其他车辆状态指示符。CAN总线可以适用ASIL B。
尽管使用了单根线代表总线802,但这并非旨在限制性的。例如,可以有任何数量的总线802,其可以包括一个或更多CAN总线、一个或更多FlexRay总线、一个或更多以太网总线和/或使用不同协议的一个或更多其他类型的总线。在一些示例中,可以使用两个或更多总线802,以执行不同的功能,和/或可以用于冗余。例如,第一总线802可以用于避免碰撞功能,第二总线802可以用于制动控制。在任一示例中,每个总线802可以与车辆140的任何组件进行通信,并且两个或更多总线802可以与相同的组件进行通信。在一些示例中,每个SoC 804、每个控制器836和/或每个车辆内的计算机可以访问相同的输入数据(例如,来自车辆140的传感器的输入),并且可以连接至公共总线,诸如CAN总线。
车辆140可以包括一个或更多控制器836,诸如本文关于图8A所描述的那些。一个或更多个控制器836可以用于各种功能。一个或更多个控制器836可以耦合到车辆140的任何各种其他组件和系统,并且可以用于车辆140的控制、车辆140的人工智能、用于车辆140的娱乐信息节目等。
SoC 804可以包括一个或更多个中央处理单元(Central Processing Unit,CPU)806、一个或更多个图形处理单元(Graphics Processing Unit)808、一个或更多个处理器810、一个或更多个高速缓存812、一个或更多个加速器814、一个或更多个数据存储816和/或未图示的其他组件和特征。一个或更多个SoC 804可以用于在各种平台和系统中控制车辆140。例如,一个或更多个SoC 804可以结合在具有HD地图822的系统(例如,车辆140的系统)中,HD地图822可以经由网络接口824从一个或更多服务器(例如,图8D的一个或更多个服务器878)获得地图刷新和/或更新。
一个或更多个CPU 806可以包括CPU集群或CPU复杂(Complex)(本文可选地称为“CCPLEX”)。一个或更多个CPU 806可以包括多个核和/或L2高速缓存。例如,在一些实施例中,一个或更多个CPU 806可以包括相干多处理器配置中的8个核。在一些实施例中,一个或更多个CPU 806可以包括四个双核集群,其中每个集群具有专用的L2高速缓存(例如,2MB的L2高速缓存)。一个或更多个CPU 806(例如,CCPLEX)可以被配置成支持同时集群操作,使得一个或更多个CPU 806的集群的任何组合在任何给定时间都是激活的。
一个或更多个CPU 806可以实现功率管理能力,其包括以下特征的一个或更多:当空闲时,各个硬件块可以自动地进行时钟门控,以节省动态功率;当核由于执行WFI/WFE指令而没有主动执行指令时,每个核时钟可以被门控;每个核可以独立功率门控;当所有核都是时钟门控或功率门控时,每个核心集群可以独立地进行时钟门控;和/或当所有核都是功率门控时,每个核心集群可以独立地进行功率门控。一个或更多个CPU 806还可以实现用于管理功率状态的增强算法,其中指定允许的功率状态和预期的唤醒时间,并且硬件/微代码确定针对核心、集群和CCPLEX输入的最佳功率状态。处理核可以在软件中支持简化的功率状态输入序列,其中工作被卸载到微代码。
一个或更多个GPU 808可以包括集成的GPU(本文可选地称为“iGPU”)。一个或更多个GPU 808可以是可编程的,并且可以对并行工作负载有效。在一些示例中,一个或更多个GPU 808可以使用增强的张量指令集。一个或更多个GPU 808可以包括一个或更多流式微处理器,其中每个流式微处理器可以包括L1高速缓存(例如,具有至少96KB存储能力的L1高速缓存),并且流式微处理器中的两个或更多可以共享L2高速缓存(例如,具有512KB存储能力的L2高速缓存)。在一些实施例中,一个或更多个GPU 808可以包括至少8个流式微处理器。一个或更多个GPU 808可以使用计算应用程序编程接口(API)。此外,GPU 808可以使用一个或更多并行计算平台和/或编程模型(例如,NVIDIA的CUDA)。
一个或更多个GPU 808可以针对汽车和嵌入式使用情况中的最佳性能进行功率优化。例如,一个或更多个GPU 808可以使用Fin场效应晶体管(Fin Field-EffectTransistor,FinFET)技术制造。然而,这并非旨在限制性的,并且一个或更多个GPU 808可以使用其他半导体制造工艺制造。每个流式微处理器可以包括分成多个块的多个混合精度处理核。例如但不限于,可以将64个PF32核和32个PF64核划分为四个处理块。在这样的示例中,每个处理块可以被分配16个FP32核、8个FP64核、16个INT32内核、用于深学习矩阵算术、L0指令高速缓存、线程束调度器、分派单元和/或64KB的寄存器文件中的两个混合精度NVIDIA张量核。此外,流式微处理器可以包括独立的并行整数和浮点数据路径,以通过混合计算和寻址计算来提供工作负载的有效执行。流式微处理器可以包括独立的线程调度能力,以实现并行线程之间的更细粒度的同步和协作。流式微处理器可以包括组合的L1数据高速缓存和共享存储器单元,以便在简化编程的同时提高性能。
一个或更多个GPU 808可以包括高带宽内存(High bandwidth memory,HBM)和/或16GB的HBM2存储器子系统,以在一些实施例中提供大约900GB/秒的峰值内存带宽。在一些示例中,除了HBM存储器之外或作为其替代,可以使用同步图形随机存取存储器(Synchronous Graphics Random-Access Memory,SGRAM),诸如图形双倍数据速率类型五同步随机存取存储器(Graphics Double Data Rate type Five synchronous random-access memory,GDDR5)。
一个或更多个GPU 808可以包括统一存储器技术,其包括访问计数器,以允许更准确地将存储器页面迁移到最频繁访问它们的处理器,从而提高处理器之间共享的存储器范围的效率。在一些示例中,可以使用地址转换服务(Address Translation Service,ATS)支持来允许一个或更多个GPU 808直接访问一个或更多个CPU 806页表。在这样的示例中,当一个或更多个GPU 808存储器管理单元(Memory Management Unit,MMU)经历未命中(miss)时,可以将地址转换请求传输到一个或更多个CPU 806。作为响应,一个或更多个CPU 806可以在其页表中查找地址的虚拟到物理映射,并将转换发送回一个或更多个GPU 808。因此,统一存储器技术可以允许用于一个或更多个CPU 806和一个或更多个GPU808两者的存储器的单个统一虚拟地址空间,从而简化一个或更多个GPU 808编程和将应用程序移植到一个或更多个GPU 808。
此外,一个或更多个GPU 808可以包括访问计数器,其可以保持对一个或更多个GPU 808访问其他处理器的存储器的频率的追踪。访问计数器可以帮助确保将存储器页移动到最频繁访问页面的处理器的物理存储器。
一个或更多个SoC 804可以包括任何数量的一个或更多个高速缓存812,其包括本文描述的那些。例如,一个或更多个高速缓存812可以包括L3高速缓存,其可用于一个或更多个CPU 806和一个或更多个GPU 808两者(例如,其连接一个或更多个CPU 806和一个或更多个GPU 808两者)。一个或更多个高速缓存812可以包括回写高速缓存,其可以保持对线的状态的追踪,诸如使用高速缓存一致性协议(例如,MEI、MESI、MSI等)。尽管可以使用更小的高速缓存尺寸,依赖于实施例,L3高速缓存可以包括4MB或更多。
一个或更多个SoC 804可以包括一个或更多加速器814(例如,硬件加速器、软件加速器或其组合)。例如,一个或更多个SoC 804可以包括硬件加速集群,其可以包括优化的硬件加速器和/或大的片上存储器。大的片上存储器(例如,4MB的SRAM)可以使硬件加速集群能够加速神经网络和其他计算。可以使用硬件加速集群以补充一个或更多个GPU 808并卸载一个或更多个GPU 808的任务中的一些(例如,释放一个或更多个GPU 808的更多周期用于执行其他任务)。作为示例,一个或更多个加速器814可以用于足够稳定以适于加速的目标工作负载(例如,感知、卷积神经网络(CNN)等)。如本文所使用的,术语“CNN”可以包括CNN的全部类型,包括基于区域或区域的卷积神经网络(RCNN)和快速RCNN(例如用于对象检测)。
一个或更多个加速器814(例如,硬件加速集群)可以包括一个或更多个深度学习加速器(deep learning accelerator,DLA)。一个或更多个DLA可以包括一个或更多张量处理单元(Tensor Processing Unit,TPU),其可以被配置成为深度学习应用程序和推理提供每秒附加的10万亿次操作。TPU可以是为执行图像处理功能(例如,为CNN、RCNN等)而配置和优化的加速器。一个或更多个DLA可以进一步针对特定的一组神经网络类型和浮点运算以及推理进行优化。与通用GPU相比,一个或更多个DLA的设计可以提供更多的每毫米的性能,并且远超过CPU的性能。一个或更多个TPU可以执行几个功能,包括单实例卷积功能,例如,针对特征和权重两者支持INT8、INT6和FP16数据类型,以及后处理器功能。
一个或更多个DLA可以快速和有效地在用于任何的各种功能的处理的或未处理的数据上执行神经网络,尤其是CNN,其包括(例如而非限制):使用来自相机传感器的数据用于对象标识和检测的CNN;使用来自相机传感器的数据用于距离估计的CNN;使用来自麦克风的数据用于紧急车辆检测以及标识和检测的CNN;使用来自相机传感器的数据用于面部识别和车主标识的CNN;和/或用于安全和/或安全相关事件的CNN。
一个或更多个DLA可以执行一个或更多个GPU的任何功能,并使用推理加速器,例如,设计者可以针对任何功能将目标定为一个或更多个DLA或一个或更多个GPU。例如,设计者可以将对CNN的处理和浮点运算集中在一个或更多个DLA上,并将其他功能留给一个或更多个GPU 808和/或一个或更多个其他加速器814。
一个或更多个加速器814(例如,硬件加速集群)可以包括一个或更多个可编程视觉加速器(Programmable Vision Accelerator,PVA),本文可以可选地称为计算机视觉加速器。一个或更多个PVA可以被设计并被配置成加速用于高级驾驶辅助系统(AdvancedDriver Assistance System,ADAS)和/或增强现实(Augmented Reality,AR)和/或虚拟现实(Virtual Reality,VR)应用程序的计算机视觉算法。一个或更多个PVA可以提供性能和灵活性的平衡。例如,每个PVA可以包括(例如而非限制)任何数量的精简指令集计算机(Reduced Instruction Set Computer,RISC)核、直接内存访问(Direct Memory Access,DMA)和/或任何数量的向量处理器。
RISC核可以与图像传感器(例如,本文描述的任何相机的图像传感器)、一个或更多个图像信号处理器等交互。RISC核的每一个可以包括任何量的存储器。依赖于实施例,RISC核可以使用任何数量的协议。在一些示例中,RISC核可以执行实时操作系统(Real-time Operating System,RTOS)。RISC核可以使用一个或更多集成电路设备专用集成电路(Application Specific Integrated Circuits,ASIC)和/或存储器设备来实现。例如,RISC核可以包括指令高速缓存和/或紧密耦合的RAM。
DMA可以使得一个或更多个PVA组件能够独立于一个或更多个CPU 806访问系统存储器。DMS可以支持任何数量的特征,用于向PVA提供优化,包括但不限于支持多维寻址和/或循环寻址。在一些示例中,DMA可以支持最多六个或更多维度的寻址,其可以包括块宽度、块高度、块深度、水平块步进、垂直块步进和/或深度步进。
向量处理器可以是编程处理器,其可以被设计成有效并灵活地执行用于计算机视觉算法的编程,并提供信号处理能力。在一些示例中,PVA可以包括PVA核和两个向量处理子系统分割。PVA核可以包括处理器子系统、一个或更多个DMA引擎(例如,两个DMA引擎)和/或其他外围设备。向量处理子系统可以作为PVA的初级处理引擎运行,并且可以包括向量处理单元(Vector Processing Unit,VPU)、指令高速缓存和/或向量存储器(例如,VMEM)。VPU核可以包括数字信号处理器,诸如,例如单指令,多数据(Single Instruction,MultipleData,SIMD)、很长的指令字(Very Long Instruction Word,VLIW)数字信号处理器。SIMD和VLIW的结合可以提高吞吐量和速度。
向量处理器中的每一个可以包括指令高速缓存,并且可以耦合到专用存储器。结果是,在一些示例中,向量处理器中的每一个可以被配置成独立于其他向量处理器而执行。在其他示例中,包括在特定的PVA中的向量处理器可以被配置成采用数据并行。例如,在一些示例中,包括在单个PVA中的多个向量处理器可以执行相同的计算机视觉算法,但是在图像的不同区域上。在其他示例中,包括在特别的PVA中的向量处理器可以在相同的图像上同时执行不同的计算机视觉算法,或甚至在连续的图像上或图像的部分上执行不同的算法。除其他事项外,任何数量的PVA可以包括在硬件加速集群中,并且任何数量的向量处理器可以包括在PVA的每一个中。此外,一个或更多个PVA可以包括附加的错误纠正代码(ErrorCorrecting Code,ECC)存储器,以提高总体的系统安全性。
一个或更多个加速器814(例如,硬件加速集群)可以包括片上计算机视觉网络和SRAM,用于为一个或更多个加速器814提供高带宽、低延迟SRAM。在一些示例中,片上存储器可以包括至少4MB的SRAM,其包括(例如而非限制)八个现场可配置的存储器块,其可以由PVA和DLA两者访问。每一对存储器块可以包括高级外设总线(Advanced Peripheral Bus,APB)接口、配置电路、控制器和复用器。可以使用任何类型的存储器。PVA和DLA可以经由主干网(backbone)访问存储器,主干网以高速访问向存储器提供PVA和DLA。主干网可以包括片上计算机视觉网络,其将PVA和DLA互连到存储器(例如,使用APB)。
片上计算机视觉网络可以包括接口,其在传输任何控制信号/地址/数据之前确定PVA和DLA两者提供准备就绪且有效的信号。这种接口可以提供用于发送控制信号/地址/数据的单独的相位和单独的通道,以及用于连续数据传输的突发类型通信。尽管可以使用其他标准和协议。这种类型的接口可以遵守ISO 26262或IEC 68508标准。
在一些示例中,一个或更多个SoC 804可以包括实时光线跟踪硬件加速器,诸如在提交于2018年8月10日、系列号为16/101,832的美国专利申请中描述的。可以使用实时光线跟踪硬件加速器,以快速并有效地确定对象的位置和范围(例如,在世界模型内),以生成实时可视化模拟,用于RADAR信号解释、用于声音传播合成和/或分析、用于模拟SONAR系统、用于一般的波传播模拟、用于与LIDAR数据进行比较以用于本地化和/或其他功能、和/或用于其他用途。
一个或更多个加速器814(例如,硬件加速器集群)具有广泛的自动驾驶用途。可以使用PVA用于在ADAS和自动驾驶车辆的关键处理阶段。PVA的能力可以是针对以低功耗和低延迟用于需要可预测处理的算法域的良好匹配。换句话说,PVA可以在半密集或密集的常规计算上表现良好,甚至在小数据集上也是如此,这需要具有低延迟和低功率的可预测运行时间。因此,在用于自动驾驶车辆的平台的背景下,PVA可以被设计成运行经典计算机视觉算法,因为它们通常在对象检测和对整数数学运算方面是有效的。
例如,根据该技术的一个实施例,PVA用于执行计算机立体视觉。尽管这并非旨在限制性的,在一些示例中可以使用基于半全局匹配的算法。用于级别3-5的自动驾驶的很多应用程序要求即时运动估计/立体匹配(例如,来自运动、行人识别、车道检测等的结构)。PVA可以对来自两个单反相机的输入执行计算机立体视觉功能。
在一些示例中,可以使用PVA以执行密集的光流。根据处理原始的RADAR数据(例如,使用4D快速傅里叶变换),以提供经处理的RADAR。在其他示例中,例如,PVA用于飞行时间深度处理,通过处理原始的飞行时间数据以提供经处理的飞行时间数据。
可以使用DLA以运行任何类型的网络,以提高控制和驾驶安全性,例如包括为每个对象检测输出置信度的量度的神经网络。这样的置信度值可以被解释为概率,或者与其他检测相比提供每个检测的相对“权重”。该置信度值可以由系统使用以进一步确定哪些检测应被视为真正的阳性检测而不是误报(false positive)检测。例如,系统可以设置用于置信度的阈值,并考虑只有超过阈值的检测作为真正的阳性检测。在自动紧急制动(Automatic Emergency Braking,AEB)系统中,误报检测将使车辆自动执行紧急制动,这明显是不合需要的。因此,只有最确信的检测应该被视为AEB的触发。DLA可以运行用于回归置信度值的神经网络。神经网络可以将至少一些参数子集作为其输入,例如边界框尺寸、获得的地平面估计(例如,从另一子系统)、惯性测量单元(IMU)传感器866输出,其与车辆140的方位、距离、从神经网络和/或其他传感器(例如,一个或更多个LIDAR传感器864或一个或更多个RADAR传感器860)等获得的对象的3D位置估计相关。
一个或更多个SoC 804可以包括一个或更多个数据存储816(例如,存储器)。一个或更多个数据存储816可以是一个或更多个SoC 804的片上存储器,其可以存储神经网络以在GPU和/或DLA上被执行。在一些示例中,一个或更多个数据存储816在容量上可以足够大,以存储用于冗余和安全性的神经网络的多个实例。一个或更多个数据存储812可以包括一个或更多个L2或L3高速缓存812。对一个或更多个数据存储816的参考可以包括对与PVA、DLA和/或如本文所描述的一个或更多个其他加速器814相关联的存储器的参考。
一个或更多个SoC 804可以包括一个或更多处理器810(例如,嵌入式处理器)。一个或更多个处理器810可以包括启动(boot)和功率管理处理器,其可以是专用处理器和子系统,以处理启动功率和管理功能以及相关的安全实施。启动和功率管理处理器可以是一个或更多个SoC 804启动序列的部分,并可以提供运行时间功率管理服务。启动和功率管理处理器可以提供时钟和电压编程,以辅助系统低功率状态转换、对一个或更多个SoC804热量和温度传感器的管理和/或对一个或更多个SoC 804功率状态的管理。每个温度传感器可以实现为环形振荡器,其输出频率与温度成比例,并且一个或更多个SoC 804可以使用环形振荡器以检测一个或更多个CPU806、一个或更多个GPU 808和/或一个或更多个加速器814的温度。如果温度被确定为超过阈值,启动和功率管理处理器可以进入温度故障程序,并且将一个或更多个SoC 804置于较低功率状态和/或将车辆140置于司机安全停车模式(例如,使车辆140安全停车)。
一个或更多个处理器810可以进一步包括一组嵌入式处理器,其可以作为声频处理引擎。音频处理引擎可以是音频子系统,其可以通过多个接口和广泛而灵活的音频I/O接口实现对多声道音频的全面硬件支持。在一些示例中,音频处理引擎是具有带有专用RAM的数字信号处理器的专用处理器核。
一个或更多个处理器810可以进一步包括永远在线的处理器引擎,其可以提供必要的硬件特征,以支持低功率传感器管理并唤醒用例。永远在线的处理器引擎可以包括处理器核、紧密耦合的RAM、支持的外围设备(例如,定时器和中断控制器)、各种I/O控制器外围设备和路由逻辑。
一个或更多个处理器810可以进一步包括安全集群引擎,其包括专用处理器子系统,以处理用于自动驾驶应用程序的安全管理。安全集群引擎可以包括两个或更多处理器核、紧密耦合的RAM、支持外围设备(例如,定时器和中断控制器)、和/或路由逻辑。在安全模式中,两个或更多核可以以锁步模式操作并且用作具有比较逻辑的单个核以检测它们的操作之间的任何差异。
一个或更多个处理器810可以进一步包括实时相机引擎,其可以包括专用处理器子系统,用于处理实时的相机管理。
一个或更多个处理器810可以进一步包括高动态范围信号处理器,其可以包括图像信号处理器,其是作为相机处理管线的部分的硬件引擎。
一个或更多个处理器810可以包括视频图像合成器,其可以是处理块(例如,在微处理器上实现),其实由视频重放应用程序实现需要的视频后处理功能,以产生用于播放器窗口的最终图像。视频图像合成器可以执行一个或更多个宽视角相机870、一个或更多个环绕相机874上和/或舱体内监控相机传感器上的镜头失真校正。舱体内监控相机传感器可以由在高级SoC的另一实例上运行的神经网络监控,配置成标识车内的时间并相应地响应。舱体内系统可以执行唇读以激活蜂窝服务并拨打电话、发出电子邮件、改变车辆的目的地、激活或改变车辆的娱乐信息节目系统和设置,或提供语音激活的网上冲浪。当车辆在自动驾驶模式操作时,某些功能仅对司机可用,对其他人则不可用。
视频图像合成器可以包括用于空间和时间两者噪声降低的增强的时间噪声降低。例如,在视频中发生运动的情况下,噪声降低可以相应地加权空间信息,从而减小由相邻帧提供的信息的权重。在图像或图像的部分不包括运动的情况下,由视频图像合成器执行的时间噪声降低可以使用来自先前图像的信息以减少当前图像中的噪声。
视频图像合成器也可以被配置成在输入立体镜头框架上执行立体声校正。视频图像合成器可以进一步用于当操作系统桌面正在使用时的用户界面组合,并且一个或更多个GPU 808不需要连续渲染新表面。甚至当一个或更多个GPU 808通电并且主动进行3D渲染时,可以使用视频图像合成器以卸载一个或更多个GPU 808,从而改善性能和响应性。
一个或更多个SoC 804可以进一步包括移动行业处理器接口(Mobile IndustryProcessor Interface,MIPI)相机串行接口,用于从相机、高速接口和/或可以用于相机和相关的像素输入功能的视频输入块接收视频和输入。一个或更多个SoC 804可以进一步包括一个或更多个输入/输出控制器,其可以由软件控制,并可以用于接收I/O信号,其未提交给特定角色。
一个或更多个SoC 804可以进一步包括广泛的外围设备接口,可实现与外围设备、音频编解码器、功率管理和/或其他设备的通信。可以使用一个或更多个SoC 804以处理来自相机(例如,通过千兆位多媒体串行链路和以太网连接)的数据、来自传感器(例如,一个或更多个LIDAR传感器864,一个或更多个RADAR传感器860等,其可通过以太网相连接)的数据、来自总线802的数据(例如,车辆140的速度、方向盘位置等)、来自一个或更多个GNSS传感器858的数据(例如,通过以太网或CAN总线连接)。一个或更多个SoC 804可以进一步包括专用高性能大容量存储控制器,其可以包括它们自己的DMA引擎,并且其可以用于从常规数据管理任务中释放一个或更多个CPU。
一个或更多个SoC 804可以是端到端平台,具有跨越自动机级别3-5的灵活的架构,从而提供全面的功能安全架构,其利用并有效利用计算机视觉和ADAS技术实现多样性和冗余,为灵活、可靠的驾驶软件堆栈提供平台,以及深度学习工具。与惯常的系统相比,SoC 804可以是更快、更可靠的、甚至更节能的、更节省空间的。例如,当与一个或更多个CPU806、一个或更多个GPU 808和一个或更多个数据存储816结合时,一个或更多个加速器814可以为级别3-5自动驾驶车辆提供快的有效的平台。
本文描述的技术可以提供不能由惯常的系统实现的性能和功能。例如,计算机视觉算法可以在CPU上执行,其可以使用高级版编程语言(诸如C编程语言)被配置,以跨越各种各样的视觉数据执行各种各样的处理算法。然而,CPU时常不能满足很多计算机视觉应用程序的要求,例如,诸如与执行视觉和功率计算相关的那些。特别是,很多CPU不能实时地执行复杂的对象检测算法,这可能是车载ADAS应用程序和实际的3-5级自动驾驶车辆所必需的。
通过提供CPU复杂、GPU复杂,以及硬件加速集群,可同时地和/或顺序地使用多个神经网络,并且可组合结果,以使能3-5级的自动驾驶功能。例如,在DLA或dGPU(例如,一个或更多个GPU 820)上执行的CNN可以包括文本和文字识别,允许超级计算机读取并理解交通标志,包括用于神经网络还未受专门训练的标志。DLA可以进一步包括神经网络,其能够标识、解释并提供对标志的语义理解,并且将该语义理解传递给在CPU复杂上运行的路径规划模块。
作为另一示例,多个神经网络可以同时运行,如对级别3、级别4或级别5驾驶所要求的。例如,由“警告:闪烁的灯指示结冰的情况”组成的警告标志以及电灯可以由若干神经网络独立地或共同地解释。标志本身可以由第一部署神经网络(例如,已经被训练的神经网络)标识为交通标志,文本“闪烁的灯指示结冰的情况”可以由第二部署神经网络解释,其在检测到闪烁的灯时,向车辆的路径规划软件通知存在结冰的情况。闪烁的灯可以由操作第三部署神经网络通过多个帧标识,向车辆的路径规划软件通知存在(或不存在)闪烁的灯的情况。所有的三个神经网络可以同时运行,诸如在DLA内和或在一个或更多个GPU 808上。
在一些示例中,用于面部识别和车主标识的CNN可以使用来自相机传感器的数据,以标识授权的司机和/或车辆140的车主的存在。可以使用永远在线的传感器处理引擎,以在当车主靠近司机门时解锁车辆并打开灯,并且在安全模式中,当车主离开车辆时,使车辆禁用。以这种方式,一个或更多个SoC 804为防盗和/或劫车提供安全。
在另一示例中,用于紧急车辆检测和标识的CNN可以使用来自麦克风896的数据,以检测和标识紧急车辆警报器。与惯常的系统不同,其使用通用分类器来检测警报器并手动提取特征,一个或更多个SoC 804使用CNN对环境和城市声音进行分类,以及对视觉数据进行分类。在一些示例中,在DLA上运行的CNN被训练成标识紧急车辆的相对关闭速度(例如,通过使用多普勒效应)。CNN也可以被训练成标识确定特定于车辆运行局部区域的紧急车辆,如由一个或更多个GNSS传感器858所标识的。这样,例如,当在欧洲操作时,CNN将会寻求检测欧洲警报器,并且当在美国运行时,CNN将会仅标识北美警报器。一旦检测到紧急车辆,在超声波传感器862的帮助下,可以使用控制程序以执行紧急车辆安全程序,使车辆减速、拉动至道路的侧面、停放车辆和/或使车辆空闲,直到一个或更多个紧急车辆通过。
车辆可以包括一个或更多个CPU 818(例如,一个或更多个离散的CPU,或一个或更多个dCPU),其可以经由高速互连(例如,ICIe)耦合到一个或更多个SoC 804。例如,一个或更多个CPU 818可以包括X86处理器。可以使用一个或更多个CPU 818,以执行任何的各种各样的功能,例如,包括仲裁ADAS传感器和一个或更多个SoC 804之间可能不一致的结果,和/或监控一个或更多个控制器836的状态和健康和/或娱乐信息节目SoC 830。
车辆140可以包括一个或更多个GPU 820(例如,一个或更多个离散的GPU,或一个或更多个dGPU),其可以经由高速互连(例如,NVIDA的NVLINK)耦合到一个或更多个SoC804。诸如通过执行冗余和/或不同的神经网络,GPU 820可以提供附加的人工智能功能,并且可以基于来自车辆140的输入(例如,传感器数据)而用于训练和/或更新神经网络。
车辆140可以进一步包括网络接口824,其可以包括一个或更多无线天线826(例如,用于不同通信协议(例如,蜂窝天线、蓝牙天线等)的一个或更多无线天线)。可以使用网络接口824以通过具有云(例如,通过一个或更多个服务器878和/或其他网络设备)的网络实现与其他车辆和/或与计算设备(例如,乘客的客户端设备)的无线连接。为了与其他车辆进行通信,可以建立两个车辆之间的直接链接和/或可以建立间接链接(例如,跨越网络和通过互联网)。可以使用车辆到车辆通信链接提供直接链接。车辆到车辆通信链接可以向车辆140提供车辆在靠近车辆140(例如,车辆在车辆140的前方、侧面和/或后方)的信息。该功能可以是车辆140的协同自适应巡航控制功能的部分。
网络接口824可以包括SoC,其提供调制和解调功能并使一个或更多个控制器836能够通过无线网络进行通信。网络接口824可以包括射频前端,用于从基带到射频的上变频,以及从射频到基带的下变频。可以通过公知的过程执行,和/或可以使用超外差(super-heterodyne)过程执行。在一些示例中,可以由单独的芯片提供射频前端。网络接口可以包括用于通过LTE、WCDMA、UMTS、GSM、CDMA2000、蓝牙、蓝牙LE、Wi-Fi、Z-波、ZigBee、LoRaWAN和/或其他无线协议进行通信的无线功能。
车辆140可以进一步包括数据存储828,其可以包括片外(例如,在SoC的外部)存储。数据存储828可以包括一个或更多存储元素,包括RAM、SRAM、VRAM、闪存、硬盘和/或其他组件和/或可以存储至少一个位的数据的设备。
车辆140可以进一步包括一个或更多个GNSS存储器858。一个或更多个GNSS存储器858(例如,GPS和/或辅助GPS传感器),以协助绘图、感知、占用栅格生成和/或路径规划功能。可以使用任何数量的一个或更多个GNSS传感器858,例如而非限制,包括使用通用带有以太网到串行(RS-232)桥接器的串行总线(Universal Serial Bus,USB)连接器的GPS。
车辆140可以进一步包括一个或更多个RADAR传感器860。一个或更多个可以由车辆140使用RADAR传感器860,用于远程车辆检测,甚至在黑暗和/或恶劣天气条件下。RADAR功能安全级别可以是ASIL B。一个或更多个RADAR传感器860可以使用CAN和/或总线802(例如,以传输由一个或更多个RADAR传感器860生成的数据)进行控制和访问对象跟踪数据,在某些示例中,可以访问以太网来访问原始数据。可以使用各种各样类型的RADAR传感器。例如而非限制,一个或更多个RADAR传感器860适合于前方、后方和侧面RADAR使用。在一些示例中,使用一个或更多个脉冲多普勒RADAR传感器。
一个或更多个RADAR传感器860可以包括不同的配置,诸如,远程窄视场、短程宽视场、短程侧面覆盖等。在一些示例中,远程RADAR可以用于自适应巡航控制功能。远程RADAR系统可以提供通过两个或更多独立扫描实现的广泛视场,诸如在250米范围内。一个或更多个RADAR传感器860可以帮助区分静止的运动的对象,并可由ADAS系统用于紧急制动辅助和前方碰撞警告。远程RADAR传感器可以包括具有多个(六个或更多)固定RADAR天线和高速CAN和FlexRay接口的单基地(monostatic)多模RADAR。在具有六个天线的示例中,中间的四根天线可以创建聚焦光束模式,被设计成以更高的速度记录车辆140的周围环境,同时带有最少的来自相邻车道交通的干扰。另外两个天线可以扩展视场,使快速检测车辆进入或离开车辆140的车道成为可能。
作为示例,中程RADAR系统可以包括最多860米(前方)或80米(后方)的范围,以及多达42度(前方)或850度(后方)的视场。短程RADAR系统可以包括而非限制RADAR传感器,被设计成安装在后保险杠的两端。当安装在后保险杠的两端时,这样的RADAR传感器系统可以创建两个光束,其持续监控车辆后方和车辆旁边的盲点。
短程RADAR系统可以在ADAS系统中用于盲点检测和/或车道变更辅助。
车辆140可以进一步包括一个或更多个超声传感器862。位于车辆140的前方、后方和/或侧面的一个或更多个超声传感器862可以用于停车辅助和/或以创建和更新占用栅格。可以使用各种各样的一个或更多个超声传感器862,并且不同的一个或更多个超声传感器862可以用于检测的不同范围(例如,2.5m、4m)。一个或更多个超声传感器862可以在ASILB功能安全级别上运行。
车辆140可以包括一个或更多个LIDAR传感器864。一个或更多个LIDAR传感器864可以用于物体和行人检测、紧急制动、避免碰撞和/或其他功能。一个或更多个LIDAR传感器864可以是功能安全级别ASIL B。在一些示例中,车辆140可以包括可以使用以太网(例如,向千兆以太网交换机提供数据)的多个LIDAR传感器864(例如,两个、四个、六个等)。
在一些示例中,一个或更多个LIDAR传感器864可以能够针对360度视场提供物体列表及其距离。商购的一个或更多个LIDAR传感器可以具有大约140米的广告范围、精度为2厘米-3厘米,并且例如支持140Mbps以太网连接。在一些示例中,可以使用一个或更多非突出的LIDAR传感器。在这样的示例中,一个或更多个LIDAR传感器864可以实现为可以嵌入到车辆140的前方、后方、侧面和/或角落的小设备。在这样的示例中,一个或更多个LIDAR传感器864可以提供多达820度的水平视场和多达35度的垂直视场,即使对于低反射率物体也可提供200米的范围。安装在前方的一个或更多个LIDAR传感器864可以被配置为45度和135度之间的水平视场。
在一些示例中,也可以使用LIDAR技术,诸如3D闪光LIDAR。3D闪光LIDAR使用激光的闪光作为传输源,以照亮车辆周围约至200米。闪光LIDAR单元包括接收器,其记录激光脉冲传输时间和每个像素上的反射光,反过来又对应于从车辆到物体的范围。闪光LIDAR可以允许通过每次激光闪光生成高度精确和无失真的周围环境图像。在一些示例中,可以采用四个闪光LIDAR传感器,在车辆140的每一侧各一个。可用的3D闪光LIDAR系统包括固态3D凝视阵列LIDAR相机,除了风扇之外没有移动部件(例如非扫描LIDAR设备)。闪光LIDAR设备可以每帧使用5纳秒级别I(人眼安全)激光脉冲,并且可以以3D范围点云和共同注册的强度数据的形式捕获反射的激光。通过使用闪光LIDAR,并且因为闪光LIDAR是没有移动部件的固态设备,所以一个或更多个LIDAR传感器864可以对运动模糊、振动和/或震动具有低敏感性。
车辆可以进一步包括一个或更多个IMU传感器866。在一些示例中,一个或更多个IMU传感器866可以位于车辆140的后轴的中心。例如而非限制,一个或更多个IMU传感器866可以包括一个或更多个加速度计、一个或更多个磁力计、一个或更多个陀螺仪、一个或更多个磁罗盘,和/或其他传感器类型。在一些示例中,诸如在六轴应用中,一个或更多个IMU传感器866可以包括加速度计和磁罗盘,而在九轴应用中,一个或更多个IMU传感器866可以包括加速度计、陀螺仪和磁罗盘等。
在一些实施例中,一个或更多个IMU传感器866可以实现为微型高性能GPS辅助惯性导航系统(GPS-Aided Inertial Navigation System,GPS/INS),其结合了微机电系统(micro-electro-mechanical systems,MEMS)惯性传感器、高灵敏度GPS接收器和先进的卡尔曼滤波算法,以提供对位置、速度和高度的估计。这样,在一些示例中,一个或更多个IMU传感器866可以通过直接观察和使从GPS到一个或更多个IMU传感器866的速度变化相关来使车辆140能够估计航向而不需要来自磁传感器的输入。在一些示例中,一个或更多个IMU传感器866和一个或更多个GNSS传感器858可以结合在单个集成单元中。
车辆可以包括位于车辆140内和/或周围的一个或更多个麦克风896。一个或更多个麦克风896可以用于紧急车辆检测和标识等。
车辆可以进一步包括任何数量的相机类型,包括一个或更多个立体相机868、一个或更多个宽视角相机870、一个或更多个红外相机872、一个或更多个环绕相机874、一个或更多个远程和/中程相机898和/或其他相机类型。可以使用相机以捕获车辆140的整个外围的图像数据。使用的相机的类型依赖于实施例和车辆140的要求,并且可以使用相机类型的任何组合,以提供140周围的所期望的覆盖。此外,相机的数量可以依赖于实施例而不同。例如,车辆可以包括6个相机、7个相机、10个相机、12个相机和/或另一数量的相机。作为示例而非限制,相机可以支持千兆多媒体串行链路(Gigabit Multimedia Serial Link,GMSL)和/或千兆以太网。本文关于图8A和图8B更详细地描述了每个相机。
车辆140可以进一步包括一个或更多个振动传感器842。一个或更多个振动传感器842可以测量车辆的组件(诸如一个或更多个轴)的振动。例如,振动的变化可以指示路面的变化。在另一实施例中,当使用两个或更多振动传感器842时,可以使用振动间的差异以确定路面的摩擦或滑动(例如,当振动的差异在动力驱动轴和自由旋转轴之间时)。
车辆140可以包括ADAS系统838。在一些实施例中,ADAS系统838可以包括SoC。ADAS系统838可以包括自主/自适应/自动巡航控制(Autonomous/Adaptive/Automatic CruiseControl,ACC)、协同自适应巡航控制(Cooperative Adaptive Cruise Control,CACC)、前方碰撞警告(Forward Crash Warning,FCW)、自动紧急制动(Automatic EmergencyBraking,AEB)、车道离开警告(Lane Departure Warnings,LDW)、车道保持辅助(Lane KeepAssist,LKA)、盲点警告(Blind Spot Warning,BSW)、后方交叉交通警告(Rear Cross-Traffic Warnings,LDW)、碰撞警告系统(Collision Warning Systems,CWS)、车道居中(Lane Centering,LC)和/或其他特征和功能。
ACC系统可以使用一个或更多个RADAR传感器860、一个或更多个LIDAR传感器864和/或一个或更多个相机。ACC系统可以包括纵向ACC和/或横向ACC。纵向ACC监测并控制与紧接在车辆140前方的车辆的距离并自动调节车辆速度以保持与前方车辆的安全距离,从而在必要时变更车道。横向ACC与其他ADAS应用(诸如车道变更辅助(Lane ChangeAssistance,LCA)和碰撞警告系统(CWS))相关。
CACC使用可以经由网络接口824接收的来自其他车辆信息,和/或经由一个或更多个无线链路或间接地通过网络连接(例如,通过互联网)的来自其他车辆的无线天线826。直接链路可以由车辆到车辆(Vehicle-to-Vehicle,V2V)通信链路提供,而间接链路可以是基础设施到车辆(I2V)的通信链路提供。通常,V2V通信概念可以提供关于紧接在前的车辆的信息(例如,紧接在车辆140之前和在与车辆140相同的车道中的车辆),而I2V通信概念可以提供关于更远的前方的交通的信息。CACC系统可以包括I2V或V2V信息源或I2V和V2V信息源两者。给定车辆140前方的车辆的信息,CACC可以更加可靠,具有改善交通流量平稳性和减少道路拥堵的潜力。
FCW系统可以设计成提醒司机注意危险,因此司机可以采取纠正动作。FCW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前向相机和/或一个或更多个RADAR传感器860,其电耦合到司机反馈,例如显示器、扬声器和/或振动组件。FCW系统可以提供警告,诸如以声音、视觉警告、振动和/或快速制动脉冲。
AEB系统可以检测与另一车辆或其他对象的即将发生的前方碰撞,并且可以自动应用制动,诸如如果司机没有在指定的时间或距离参数内采取纠正动作的话。AEB系统可以使用一个或更多个前向相机和/或一个或更多个RADAR传感器860,耦合到专用处理器、DSP、FPGA和/或ASIC。当AEB系统检测到危险时,它可以首先警告驾驶员采取纠正动作以避免碰撞,并且如果驾驶员没有采取纠正动作,则AEB系统可以自动应用制动器以防止或至少减轻经预测的碰撞的影响。AEB系统可以包括诸如动态制动支持和/或紧急制动的技术。
LDW系统可以提供视觉、听觉和/或触觉的警告,诸如方向盘或座位振动,以在当车辆140跨越车辆标记时提醒司机。当司机指示有意的车道离开,诸如通过激活转弯信号时,LDW系统可以不激活。LDW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前侧向相机,其电耦合到司机反馈,诸如显示器、扬声器和/或振动组件。
LKA系统可以是LDW系统的变化。如果车辆140开始退出车道,LKA系统可以提供转向输入或制动以纠正车辆。
BSW系统可以检测并在汽车的盲点警告车辆的司机。BSW系统可以提供视觉、声音和/或触觉警告,以指示合并或改变车道是不安全的。当司机使用转弯信号时,系统可以提供附加的警告。BSW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的一个或更多个后侧向相机和/或一个或更多个RADAR传感器860,其电耦合到司机反馈,诸如显示器、扬声器和/或振动组件。
当在车辆140备用时在后方相机范围之外检测到物体时,RCTW系统可以提供视觉、声音和/或触觉通知。一些RCTW系统包括AEB,以确保应用车辆制动器以避免碰撞。RCTW系统可以使用一个或更多耦合到专用处理器、DSP、FPGA和/或ASIC的一个或更多个后向RADAR传感器860,其电耦合到司机反馈,诸如显示器、扬声器和/或振动组件。
一些ADAS系统可能容易产生误报结果,这可能令司机烦恼并分散注意力,但通常不是灾难性的,因为ADAS系统会警告司机并允许司机确定安全条件是否真正存在并采取相应动作。然而,在自动驾驶车辆140中,在结果相互矛盾的情况下,车辆140本身可以确定是否注意(heed)来自主计算机或辅助计算机(例如,第一控制器836或第二控制器836)的结果。例如,在一些情况下,ADAS系统838可以是备份计算机或辅助计算机,用于向备份计算机合理性模块提供感知信息。备份计算机合理性监控器可以在硬件组件上运行冗余的多样化软件,以检测感知和动态驾驶任务中的故障。来自ADAS系统838的输出可以提供给监控多点控制单元(Multipoint Control Unit,MCU)。如果来自主计算机和辅助计算机的输出发生冲突,监控MCU可以确定如何协调冲突以确保安全操作。
在一些示例中,主计算机可以被配置成向监控MCU提供置信度分数,指示主计算机对所选择的结果的置信度。如果置信度分数超过阈值,则监控MCU可以遵循主计算机的方向,而不管辅助计算机是否提供了矛盾的或不一致的结果。在置信度分数没有达到阈值的情况下,以及在主计算机和辅助计算机指示不同结果(例如,矛盾)的情况下,监控MCU可以在计算机之间进行仲裁以确定适当的结果。
监控MCU可以被配置成运行被训练的一个或更多个神经网络,并被配置成基于来自主计算机和辅助计算机的输出而确定在什么情况下辅助计算机提供错误的警报。这样,监控MCU中的一个或更多个神经网络可以获知辅助计算机的输出何时可以被相信,以及何时不可以被相信。例如,当辅助计算机时基于RADAR的FCW系统时,监控MCU中的一个或更多个神经网络可以获知FCW系统何时标识实际上不存在危险的金属物体,例如触发警报的排水栅或井盖。类似地,当辅助计算机时基于相机的LDW系统时,当骑自行车者或行人出现并且车道离开事实上是最安全的操纵时,监控MCU中的神经网络可以学会超越LDW。在包括在监控MCU上运行的一个或更多个神经网络的实施例中,监控MCU可以包括适合于利用相关存储器运行神经网络的DLA或GPU的至少一个。在一些实施例中,监控MCU可以包括和/或作为一个或更多个SoC 804的组件被包括。
在其他示例中,ADAS系统可以包括辅助计算机,其使用计算机视觉的传统规则执行ADAS功能。这样,辅助计算机可以使用传统的计算机视觉规则(如果-那么),并且一个或更多个神经网络在监控MCU中的存在可以改善可靠性、安全性和性能。例如,多样化的实现和有意的非身份可以使整个系统更具容错性,尤其是由软件(或软件-硬件接口)功能引起的故障。例如,如果在主计算机运行的软件中有软件漏洞或错误,并且在辅助计算机上运行的非身份软件代码提供相同的总体结果,则监控MCU可以具有更大的置信度,整体结果是正确的,在主计算机上的软件或硬件中的漏洞不会引起材料错误。
在一些示例中,ADAS系统838的输出可以被馈送入主计算机的感知块和/或主计算机的动态驾驶任务块。例如,如果ADAS系统838由于紧挨着前方的物体而指示前方碰撞警告,则当标识到物体时,感知块可以使用该信息。在其他示例红,辅助计算机可以具有其自身的神经网络,其被训练,并因此减小了误报的风险,如本文所描述的。
车辆140可以进一步包括娱乐信息节目SoC 830(例如,车辆内的娱乐信息节目系统(in-vehicle infotainment system,IVI))。尽管作为SoC进行了图示和说明,娱乐信息节目系统可以不是SoC,并且可以包括两个或更多离散组件。娱乐信息节目SoC 830可以包括硬件和软件的组合,其可以用于向车辆140提供音频(例如,音乐、个人数字助理、导航说明、新闻、收音机等)、视频(例如,TV、电影、流等)、电话(例如,免提通话)、网络连接(例如,LTE、WiFi等)和/或信息服务(例如,导航系统、后方停车辅助、无线电数据系统、与车辆相关的信息,诸如燃油油位、行驶总距离、制动燃油油位、机油油位、车门打开/关闭、空气滤清器信息等)。例如,娱乐信息节目SoC 830可以包括收音机、磁盘播放器、导航系统、视频播放器、USB和蓝牙连接、车载电脑、车内娱乐、Wifi、方向盘音频控件、免提语音控制、抬头显示器(heads-up display,HUD)、HMI显示834、远程信息处理设备、控制面板(例如,用于控制和/或与组件、特征和/或系统交互)和/或其他组件。娱乐信息节目SoC 830可以进一步用于向车辆的一个或更多个用户提供信息(例如,视觉和/或听觉),诸如来自ADAS系统838、自动驾驶信息(诸如,计划的车辆操纵、轨迹、周围环境信息(例如,交叉口信息、车辆信息、道路信息等)和/或其他信息)。
娱乐信息节目SoC 830可以包括GPU功能。娱乐信息节目SoC 830可以通过总线802(例如,CAN总线、以太网等)与车辆140的其他设备、系统和/或组件进行通信。在一些示例中,娱乐信息节目SoC 830可以耦合到监控MCU,这样,在一个或更多个主控制器836(例如,车辆140的主计算机和/或备份计算机)失效的情况下,娱乐信息节目系统的GPU可以执行一些自驾驶功能。在这样的示例中,娱乐信息节目SoC 830可以将车辆140置于司机安全停车模式,如本文所描述的。
车辆140可以进一步包括仪表组832(数字仪表盘、电子仪表组、数字仪表板等)。仪表组832可以包括控制器和/或超级计算机(例如,离散控制器或超级计算机)。仪表组832可以包括一组仪表,诸如速度表、燃油油位、油压、转速表、里程表、转弯指示器、换档位置指示器、一个或更多个安全带警告灯、一个或更多个停车制动警告灯、一个或更多个发动机故障灯、安全气囊(SRS)系统信息、照明控制、安全系统控制、导航信息等。在一些示例中,信息可以在娱乐信息节目SoC 830和仪表组832之间显示和/或共享。换句话说,仪表组832可以作为娱乐信息节目SoC 830的部分被包括,反之亦然。
图8D是根据本公开的一些实施例的用于一个或更多个基于云的服务器与图8A的示例自动驾驶车辆140之间的通信的系统图。系统876可以包括一个或更多个服务器878、一个或更多个网络890和包括车辆140的车辆。一个或更多个服务器878可以包括GPU 884(A)-884(H)(本文统称为GPU 884)、PCIe交换机882(A)-882(H)(本文统称为PCIe交换机882)和/或CPU 880(A)-880(B)(本文统称为CPU 880)中的多个。GPU 884、CPU 880和PCIe交换机可以与高速互连(诸如,例如而非限制由NVIDIA和/或PCIe连接886开发的NVLink接口888)进行互连。在一些示例中,GPU 884经由NVLink和/或NVSwitch SoC连接,并且GPU 884和PCIe开关882经由PCIe互连连接。尽管图示了8个GPU、2个CPU 880和两个PCIe交换机,但这并非旨在限制性的。依赖于实施例,服务器878中的每一个可以包括任何数量的GPU 884、CPU880和/或PCIe交换机。例如,一个或更多个服务器878可以每一个包括8个、16个、32个和/或更多的GPU 884。
一个或更多个服务器878可以接收(通过一个或更多个网络890和来自车辆)代表显示非预期的或改变的道路状况(例如最近开始的道路工程)的图像的图像数据。一个或更多个服务器878可以通过一个或更多个网络890向车辆传送神经网络892、更新的神经网络892和/或地图信息894,包括关于交通和道路状况的信息。对地图信息894的更新可以包括HD地图822的更新,诸如关于建筑工地、坑洼、弯路、洪水和/或其他障碍物的信息。在一些示例中,神经网络892、更新的神经网络892和/或地图信息894可能源于从环境中的任何数量的车辆接收的数据中代表的新训练和/或经验,和/或基于在数据中心执行的训练(例如,使用一个或更多个服务器878和/或其他服务器)。
一个或更多个服务器878可以用于训练基于训练数据的机器学习模型(例如,神经网络)(例如,本文所描述的机器学习模型的任何组合)。训练数据可以由车辆生成,和/或可以在模拟中生成(例如,使用游戏引擎)。在一些示例中,训练数据可以被标记(例如,在神经网络受益于有监督的学习的位置)和/或经历其他预处理,而在其他示例中训练数据则不被标记和/或预处理(例如,在神经网络不需要有监督的学习的位置)。一旦机器学习模型被训练,则机器学习模型可以由车辆使用(例如,通过一个或更多个网络890被传送到车辆,和/或机器学习模型可以由一个或更多个服务器878使用,以远程监控和/或控制车辆)
在一些示例中,一个或更多个服务器878可以从车辆接收数据并将数据应用到最新的实时神经网络,用于实时智能推理。一个或更多个服务器878可以包括由一个或更多个GPU 884驱动的深度学习超级计算机和/或专用AI计算机,例如由NVIDIA开发的DGX和DGX工作站机器。然而,在一些示例中,一个或更多个服务器878可以包括仅使用CPU驱动的数据中心的深度学习基础设施。
一个或更多个服务器878的深度学习基础设施可以实现快速、实时推理,并可以使用该能力评估并验证车辆140中的处理器、软件和/或相关硬件的健康。例如,深度学习基础设施可以从车辆140接收周期性更新,诸如车辆140已经在该图像序列中定位的一系列图像和/或物体(例如,经由计算机视觉和/或其他机器学习对象分类技术)。深度学习基础设施可以运行其自身的神经网络,以标识对象并将它们与由车辆140标识的对象进行比较,并且如果结果不匹配并且基础设施得出结论:车辆140中的AI发生故障,则一个或更多个服务器878可以向车辆140发送信号,指令车辆140的故障安全计算机接管、通知乘客,并完成安全停车操纵。
针对推理,一个或更多个服务器878可以包括一个或更多个GPU 884和一个或更多编程推理加速器(例如,NVIDIA的TensorRT3)。GPU驱动的服务器和推理加速的组合可以使实时响应成为可能。在其他示例中,诸如,在性能不太重要的情况下,由CPU、FPGA和其他处理器驱动的服务器可以用于推理。
可以在计算机代码或机器可用指令的一般上下文中描述本公开,包括由计算机或其他机器(诸如个人数据助理或其他手持设备)执行的计算机可执行指令,诸如程序模块。通常,包括例程(routine)、程序(program)、对象、组件、数据结构等的程序模块指的是执行特定的任务或实现特定的抽象数据类型的代码。本公开可以在各种系统配置(包括手持设备、消费电子产品、通用计算机、更多专业计算设备等)中实践。本公开还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。
关于本公开的实施例描述的元件(例如,系统、组件、特征、机器、接口、功能、顺序、功能组、功能性和/或布置)仅作为示例阐述。本文描述的那些之外的元件可以作为本文所述的补充或替代使用,并且一些元件可以被一起忽略。进一步地,本文描述的元件中的很多是功能实体,其可以实现为离散的或分布式的组件或与其他组件结合,并以任何适当的组合和位置。本文描述的由实体执行的各种功能可以由硬件、固件和/或软件执行。例如,可以由执行存储在存储器中的指令的处理器执行各种功能。
如本文所使用的,关于两个或更多个元素的“和/或”的叙述应该被解释为仅表示一个元素或元素的组合。例如,“元素A、元素B和/或元素C”可以包括仅元素A、仅元素B、仅元素C、元素A和元素B、元素A和元素C、元素B和元素C、或元素A、元素B和元素C。此外,“A元素或B元素的至少一个”可以包括A元素的至少一个、B元素的至少一个或元素A的至少一个和元素B的至少一个。进一步地,“元素A和元素B的至少一个”可以包括元素A的至少一个、元素B的至少一个或元素A的至少一个和元素B的至少一个。
本文中具体描述了本公开的主题以满足法定要求。然而,描述本身并不旨在限制本公开的范围。而是,发明人已经构想所要求保护的主题还可以以其他方式体现,包括与本文档中描述的那些步骤类似的不同步骤或步骤组合,结合其他现有的或者未来的技术。此外,尽管本文可以使用术语“步骤”和/或“方框”表示所采用的方法的不同元素,但是这些术语不应被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述各个步骤的顺序。
Claims (20)
1.一种方法,包括:至少部分地基于接收指示车辆操纵的触发信号,通过以下方式确定针对车辆的所述车辆操纵的推荐的车辆轨迹:接收代表至少一个传感器的视场的传感器数据;将控制输入的数值和所述传感器数据应用于机器学习模型;由所述机器学习模型计算输出数据,所述输出数据包括代表通过所述车辆操纵的至少部分的所述车辆的所述推荐的车辆轨迹的车辆控制数据;以及将所述车辆控制数据传输到所述车辆的控制组件,以使所述车辆根据所述车辆控制数据执行所述操纵。
2.根据权利要求1所述的方法,其中,由所述机器学习模型计算所述输出数据进一步包括由所述机器学习模型计算代表通过所述车辆操纵的所述车辆的进度的进度数据;以及执行所述车辆操纵的所述至少部分进一步包括至少部分基于所述进度数据来更新所述控制输入的所述数值。
3.根据权利要求1所述的方法,其中,所述机器学习模型是神经网络,所述传感器数据作为输入被应用到所述神经网络的一个或更多层,并且所述控制输入的所述数值和所述一个或更多层的输出两者作为输入被应用到所述神经网络的全连接层。
4.根据权利要求1所述的方法,其中,所述机器学习模型是卷积神经网络,并且所述传感器数据作为输入被应用到所述神经网络的一个或更多卷积层。
5.根据权利要求1所述的方法,其中,将所述控制输入的所述数值和所述传感器数据应用到所述机器学习模型进一步包括:
将车辆操纵参数应用到所述机器学习模型,所述车辆操纵参数包括车辆速度、车辆操纵长度或车辆操纵时间中的至少一个,其中计算所述输出数据至少部分基于所述传感器数据、所述控制输入的所述数值和所述车辆操纵参数。
6.根据权利要求1所述的方法,其中所述车辆操纵包括至少第一阶段和第二阶段;所述控制输入的所述数值是贯穿所述第一阶段的第一数值;至少部分基于确定在代表通过所述车辆操纵的所述车辆的进度的进度数据超过进度阈值,所述控制输入的所述数值被更新;以及至少部分基于所述控制输入的所述输出被更新,所述车辆进入所述车辆操纵的所述第二阶段。
7.根据权利要求1所述的方法,其中,在接收所述触发信号之后,所述车辆处于代表第一控制目标的第一模式;接收所述触发信号使所述车辆进入代表第二控制目标的第二模式;以及所述车辆至少部分基于确定代表通过所述车辆操纵的所述车辆的进度的进度数据超过进度阈值,重新进入所述第一模式。
8.根据权利要求1所述的方法,其中所述推荐的车辆轨迹包括所述推荐的车辆轨迹的半径、所述推荐的车辆轨迹的反转半径、沿所述半径的至少一个第一点、沿所述反转半径的至少一个第二点、或用于根据所述推荐的车辆轨迹执行所述车辆操纵的车辆控制信息中的至少一个。
9.一种方法,包括:至少部分地基于接收代表由车辆启动车辆操纵的命令的触发信号,将控制输入设置为初始值;从多个传感器的至少一个传感器接收代表所述多个传感器中的所述至少一个传感器的视场的传感器数据;将所述传感器数据应用于机器学习模型;至少部分地基于所述机器学习模型的输出,确定代表在所述车辆操纵期间所述车辆的推荐的车辆轨迹的车辆控制数据;将所述车辆控制数据传输到控制组件,以使所述车辆根据所述车辆控制数据执行所述车辆操纵;以及在确定所述车辆操纵完成时,将所述控制输入的所述初始值更新为指示所述车辆操纵已完成的结束值。
10.根据权利要求9所述的方法,其中所述机器学习模型是神经网络,所述传感器数据被应用到所述神经网络的一个或更多层,并且所述一个或更多层的输出两者被应用到所述神经网络的全连接层。
11.根据权利要求9所述的方法,其中,所述机器学习模型是卷积神经网络;所述传感器数据被应用到所述卷积神经网络的卷积流;并且所述卷积流的输出被应用到所述卷积神经网络的全连接层。
12.根据权利要求9所述的方法,其中,将所述传感器数据应用到所述机器学习模型进一步包括将车辆状态数据应用到所述机器学习模型,并且所述方法进一步包括:至少部分基于所述机器学习模型的另一输出,确定贯穿所述车辆操纵的所述车辆的方位,其中确定所述车辆操纵已完成包括至少部分基于所述车辆的所述方位,确定已经发生与完成所述车辆操纵相关联的预期的方位变化。
13.根据权利要求9所述的方法,进一步包括:至少部分基于从所述多个传感器中的另一传感器接收到的第二传感器数据,确定所述车辆的初始方位;关于所述车辆的所述初始方位,确定所述车辆的预期的方位变化,其指示所述车辆操纵已完成;以及至少部分基于从所述另一传感器接收到的第三传感器数据,确定所述车辆的更新的方位,其中确定所述车辆操纵已完成包括将所述更新的方位与所述初始方位进行比较,以确定已经发生所述预期的方位变化。
14.根据权利要求9所述的方法,其中,所述传感器数据是第一传感器数据,并且所述存储器进一步存储指令,当所述指令由所述一个或更多个处理器执行时,使所述一个或更多个处理器执行包括以下操作:接收代表用于进行所述车辆操纵的十字路口的地图数据,其中所述地图数据也被应用到所述机器学习模型。
15.根据权利要求9所述的方法,其中直到针对所述车辆操纵的十字路口至少部分基于所述机器学习模型的所述输出而被标识,所述推荐的车辆轨迹包括代表车道保持轨迹的至少部分。
16.根据权利要求9所述的方法,其中所述推荐的车辆轨迹包括所述推荐的车辆轨迹的半径、所述推荐的车辆轨迹的反转半径、沿所述半径的第一多个点、沿所述反转半径的第二多个点、或用于根据所述推荐的车辆轨迹执行所述车辆操纵的车辆控制信息中的至少一个。
17.根据权利要求9所述的方法,其中所述触发信号包括来自全球导航卫星系统(GNSS)应用程序的引导信号。
18.一种方法,包括:接收代表车辆的至少一个传感器的视场的传感器数据;接收代表每个道路布局、遍历所述道路布局的路径和关于所述道路布局或所述路径中的至少一个的所述车辆的位置的地图数据;将所述传感器数据和所述地图数据作为输入应用到机器学习模型;至少部分基于所述机器学习模型的输出,确定代表用于根据所述路径导航所述道路的推荐的车辆轨迹的车辆控制数据;以及将所述车辆控制数据传输到控制组件,以使所述车辆根据所述车辆控制数据被控制。
19.根据权利要求18所述的方法,其中所述地图数据包括代表来自全球导航卫星系统(GNSS)应用程序的屏幕截图的图像数据。
20.根据权利要求18所述的方法,其中,所述机器学习模型是神经网络;所述地图数据被应用到所述神经网络的第一流;所述传感器数据被应用到所述神经网络的第二流;并且,所述第一流的第一输出和所述第二流的第二输出被组合在所述神经网络的全连接层之前的所述神经网络的层处,或被组合在所述神经网络的全连接层处。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862614466P | 2018-01-07 | 2018-01-07 | |
US62/614,466 | 2018-01-07 | ||
PCT/US2019/012535 WO2019136375A1 (en) | 2018-01-07 | 2019-01-07 | Guiding vehicles through vehicle maneuvers using machine learning models |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110248861A true CN110248861A (zh) | 2019-09-17 |
CN110248861B CN110248861B (zh) | 2023-05-30 |
Family
ID=65237184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980000745.9A Active CN110248861B (zh) | 2018-01-07 | 2019-01-07 | 在车辆操纵过程中使用机器学习模型来引导车辆 |
Country Status (4)
Country | Link |
---|---|
US (4) | US11042163B2 (zh) |
CN (1) | CN110248861B (zh) |
DE (1) | DE112019000070T5 (zh) |
WO (1) | WO2019136375A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110733506A (zh) * | 2019-10-17 | 2020-01-31 | 上海舵敏智能科技有限公司 | 无人驾驶车辆的车道变更方法及设备 |
CN110843781A (zh) * | 2019-11-27 | 2020-02-28 | 长安大学 | 一种基于驾驶员行为的车辆弯道自动控制方法 |
CN111016901A (zh) * | 2019-12-30 | 2020-04-17 | 苏州安智汽车零部件有限公司 | 基于深度学习的智能驾驶决策方法及系统 |
CN111104969A (zh) * | 2019-12-04 | 2020-05-05 | 东北大学 | 一种无人驾驶车辆与周边车辆的碰撞可能性预判方法 |
CN113034941A (zh) * | 2019-12-24 | 2021-06-25 | 丰田自动车株式会社 | 信息处理装置、信息处理方法以及系统 |
CN113052321A (zh) * | 2019-12-26 | 2021-06-29 | 伟摩有限责任公司 | 从短期意图和长期结果生成轨迹标记 |
CN113071492A (zh) * | 2020-01-06 | 2021-07-06 | 通用汽车环球科技运作有限责任公司 | 建立车道变换操纵的系统方法 |
CN113460086A (zh) * | 2021-06-30 | 2021-10-01 | 重庆长安汽车股份有限公司 | 自动驾驶进入匝道的控制系统、方法、车辆及存储介质 |
CN114506337A (zh) * | 2020-11-16 | 2022-05-17 | Aptiv技术有限公司 | 用于确定要由自主车辆执行的操纵的方法和系统 |
CN114758499A (zh) * | 2022-04-01 | 2022-07-15 | 济南市公安局交通警察支队 | 一种基于多源数据的城市高架快速路匝道智能自动控制的方法、设备及存储介质 |
EP4083957A1 (en) * | 2021-04-29 | 2022-11-02 | TeleNav, Inc. | Navigation system with traffic state detection mechanism and method of operation thereof |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190079526A1 (en) * | 2017-09-08 | 2019-03-14 | Uber Technologies, Inc. | Orientation Determination in Object Detection and Tracking for Autonomous Vehicles |
US11130497B2 (en) * | 2017-12-18 | 2021-09-28 | Plusai Limited | Method and system for ensemble vehicle control prediction in autonomous driving vehicles |
US20190185012A1 (en) | 2017-12-18 | 2019-06-20 | PlusAI Corp | Method and system for personalized motion planning in autonomous driving vehicles |
US11273836B2 (en) * | 2017-12-18 | 2022-03-15 | Plusai, Inc. | Method and system for human-like driving lane planning in autonomous driving vehicles |
WO2019136375A1 (en) | 2018-01-07 | 2019-07-11 | Nvidia Corporation | Guiding vehicles through vehicle maneuvers using machine learning models |
WO2019152888A1 (en) | 2018-02-02 | 2019-08-08 | Nvidia Corporation | Safety procedure analysis for obstacle avoidance in autonomous vehicle |
US10737717B2 (en) * | 2018-02-14 | 2020-08-11 | GM Global Technology Operations LLC | Trajectory tracking for vehicle lateral control using neural network |
US11995551B2 (en) | 2018-02-14 | 2024-05-28 | Nvidia Corporation | Pruning convolutional neural networks |
DE112019000122T5 (de) | 2018-02-27 | 2020-06-25 | Nvidia Corporation | Echtzeiterfassung von spuren und begrenzungen durch autonome fahrzeuge |
US11537139B2 (en) | 2018-03-15 | 2022-12-27 | Nvidia Corporation | Determining drivable free-space for autonomous vehicles |
US11080590B2 (en) | 2018-03-21 | 2021-08-03 | Nvidia Corporation | Stereo depth estimation using deep neural networks |
WO2019191306A1 (en) | 2018-03-27 | 2019-10-03 | Nvidia Corporation | Training, testing, and verifying autonomous machines using simulated environments |
US10839262B2 (en) * | 2018-04-24 | 2020-11-17 | Here Global B.V. | Machine learning a feature detector using synthetic training data |
US11260849B2 (en) * | 2018-05-23 | 2022-03-01 | Baidu Usa Llc | Method for determining lane changing trajectories for autonomous driving vehicles |
CN108875603B (zh) * | 2018-05-31 | 2021-06-04 | 上海商汤智能科技有限公司 | 基于车道线的智能驾驶控制方法和装置、电子设备 |
JP6954469B2 (ja) * | 2018-06-28 | 2021-10-27 | 日産自動車株式会社 | 運転支援方法及び運転支援装置 |
WO2020014683A1 (en) * | 2018-07-13 | 2020-01-16 | Kache.AI | Systems and methods for autonomous object detection and vehicle following |
US10678571B2 (en) * | 2018-07-13 | 2020-06-09 | Microsoft Technology Licensing, Llc | Image-based skill triggering |
JP6991948B2 (ja) * | 2018-09-11 | 2022-01-13 | 本田技研工業株式会社 | 表示システム、表示制御方法、およびプログラム |
US11199847B2 (en) * | 2018-09-26 | 2021-12-14 | Baidu Usa Llc | Curvature corrected path sampling system for autonomous driving vehicles |
US10984262B2 (en) * | 2018-10-08 | 2021-04-20 | StradVision, Inc. | Learning method and testing method for monitoring blind spot of vehicle, and learning device and testing device using the same |
US10956796B2 (en) * | 2018-10-11 | 2021-03-23 | International Business Machines Corporation | Self-guided object detection in regular images |
US10940863B2 (en) * | 2018-11-01 | 2021-03-09 | GM Global Technology Operations LLC | Spatial and temporal attention-based deep reinforcement learning of hierarchical lane-change policies for controlling an autonomous vehicle |
US11610115B2 (en) | 2018-11-16 | 2023-03-21 | Nvidia Corporation | Learning to generate synthetic datasets for training neural networks |
US10824913B1 (en) * | 2018-11-21 | 2020-11-03 | Amazon Technologies, LLC | Training machine learning models for physical agents and robotic controls with simulations |
US11217090B2 (en) * | 2018-12-27 | 2022-01-04 | Continental Automotive Systems, Inc. | Learned intersection map from long term sensor data |
WO2020140047A1 (en) | 2018-12-28 | 2020-07-02 | Nvidia Corporation | Distance to obstacle detection in autonomous machine applications |
US11182916B2 (en) | 2018-12-28 | 2021-11-23 | Nvidia Corporation | Distance to obstacle detection in autonomous machine applications |
US11170299B2 (en) | 2018-12-28 | 2021-11-09 | Nvidia Corporation | Distance estimation to objects and free-space boundaries in autonomous machine applications |
CN109765820B (zh) * | 2019-01-14 | 2019-08-09 | 南栖仙策(南京)科技有限公司 | 一种用于自动驾驶控制策略的训练系统 |
JP7172625B2 (ja) * | 2019-01-16 | 2022-11-16 | トヨタ自動車株式会社 | 情報処理装置 |
US10762393B2 (en) * | 2019-01-31 | 2020-09-01 | StradVision, Inc. | Learning method and learning device for learning automatic labeling device capable of auto-labeling image of base vehicle using images of nearby vehicles, and testing method and testing device using the same |
CN109668742B (zh) * | 2019-02-20 | 2020-04-28 | 苏州风图智能科技有限公司 | 基于激光雷达的无人车辆的测试方法及装置 |
US11050932B2 (en) * | 2019-03-01 | 2021-06-29 | Texas Instruments Incorporated | Using real time ray tracing for lens remapping |
CN113811886B (zh) | 2019-03-11 | 2024-03-19 | 辉达公司 | 自主机器应用中的路口检测和分类 |
US11167795B2 (en) * | 2019-03-27 | 2021-11-09 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for determining driver intention in semi-autonomous vehicle steering |
US11169513B2 (en) | 2019-03-29 | 2021-11-09 | Tusimple, Inc. | Operational testing of autonomous vehicles |
US10956776B2 (en) | 2019-08-06 | 2021-03-23 | Alibaba Group Holding Limited | 2D convolutional accelerator that generates 3D results |
DE102019212243A1 (de) * | 2019-08-15 | 2021-02-18 | Zf Friedrichshafen Ag | Steuervorrichtung, Steuerverfahren und Steuersystem zur Steuerung der Kurvenfahrt eines Kraftfahrzeugs |
US11468773B2 (en) * | 2019-08-20 | 2022-10-11 | Zoox, Inc. | Lane classification for improved vehicle handling |
US11353874B2 (en) | 2019-08-20 | 2022-06-07 | Zoox, Inc. | Lane handling for merge prior to turn |
US11454971B2 (en) * | 2019-08-29 | 2022-09-27 | GM Global Technology Operations LLC | Methods and systems for learning user preferences for lane changes |
US11713978B2 (en) | 2019-08-31 | 2023-08-01 | Nvidia Corporation | Map creation and localization for autonomous driving applications |
WO2021059601A1 (ja) * | 2019-09-27 | 2021-04-01 | アイシン・エィ・ダブリュ株式会社 | 運転支援装置及びコンピュータプログラム |
DE102019215118B3 (de) * | 2019-10-01 | 2021-02-11 | Zf Friedrichshafen Ag | Steuergerät für automatisierte Fahrfunktionen zum Erkennen eines Fahrbahnabschlusses und Verfahren und Computerprogramm zum Erkennen eines Fahrbahnabschlusses |
US11586931B2 (en) * | 2019-10-31 | 2023-02-21 | Waymo Llc | Training trajectory scoring neural networks to accurately assign scores |
JP7363407B2 (ja) * | 2019-11-21 | 2023-10-18 | オムロン株式会社 | 追加学習装置、方法、及びプログラム |
KR20210063893A (ko) * | 2019-11-25 | 2021-06-02 | 현대자동차주식회사 | 차로 변경 보조 장치, 그를 포함한 시스템 및 그 방법 |
US11687778B2 (en) | 2020-01-06 | 2023-06-27 | The Research Foundation For The State University Of New York | Fakecatcher: detection of synthetic portrait videos using biological signals |
US11639184B2 (en) * | 2020-02-13 | 2023-05-02 | Wipro Limited | Method and system for diagnosing autonomous vehicles |
EP4111288A4 (en) * | 2020-02-27 | 2024-03-20 | Zoox Inc | TRAINING FOR PERPENDICULAR REQUEST |
US11385642B2 (en) * | 2020-02-27 | 2022-07-12 | Zoox, Inc. | Perpendicular cut-in training |
US11816901B2 (en) * | 2020-03-04 | 2023-11-14 | Nec Corporation | Multi-agent trajectory prediction |
DE102020203543A1 (de) * | 2020-03-19 | 2021-09-23 | Continental Automotive Gmbh | Verfahren und System zur Erstellung einer semantischen Repräsentation eines Umfelds eines Fahrzeugs |
US11364883B2 (en) * | 2020-03-27 | 2022-06-21 | Nvidia Corporation | Leveraging rear-view sensors for automatic emergency braking in autonomous machine applications |
US11498586B2 (en) * | 2020-03-27 | 2022-11-15 | Wipro Limited | Method and system for dynamically generating a secure navigation path for navigation of autonomous vehicle |
JP7429143B2 (ja) * | 2020-03-30 | 2024-02-07 | 本田技研工業株式会社 | 移動体制御装置、移動体制御方法、およびプログラム |
JP7061148B2 (ja) * | 2020-03-31 | 2022-04-27 | 本田技研工業株式会社 | 車両制御装置、車両制御方法、およびプログラム |
US11487292B2 (en) | 2020-04-01 | 2022-11-01 | Wipro Limited | Method and system for generating trajectory plan for autonomous ground vehicles |
DE102020111953A1 (de) | 2020-05-04 | 2021-11-04 | Bayerische Motoren Werke Aktiengesellschaft | Trajektorienplanungsmodul für automatisiertes fahren |
US11535257B2 (en) * | 2020-05-22 | 2022-12-27 | Robert Bosch Gmbh | Lane localization system and method |
US11769332B2 (en) * | 2020-06-15 | 2023-09-26 | Lytx, Inc. | Sensor fusion for collision detection |
DE102020117159A1 (de) | 2020-06-30 | 2021-12-30 | Bayerische Motoren Werke Aktiengesellschaft | Fahrassistenzsystem mit einer Spurwechselfunktion zum Durchführen eines automatisierten Spurwechsels auf eine Ausfahrt, entsprechendes Verfahren und entsprechende Software |
JP7167963B2 (ja) * | 2020-07-01 | 2022-11-09 | トヨタ自動車株式会社 | 車線変更計画装置及び車線変更計画用コンピュータプログラム |
CN113954836B (zh) * | 2020-07-20 | 2023-08-04 | 广州汽车集团股份有限公司 | 分段式导航换道方法及其系统、计算机设备、存储介质 |
US20220055639A1 (en) * | 2020-08-24 | 2022-02-24 | Allstate Insurance Company | Autonomous driving algorithm evaluation and implementation |
US11267402B1 (en) | 2020-08-31 | 2022-03-08 | Ford Global Technologies, Llc | Systems and methods for prioritizing driver warnings in a vehicle |
JP7040571B2 (ja) * | 2020-09-03 | 2022-03-23 | トヨタ自動車株式会社 | 学習装置及びモデル学習システム |
DE102020125142B4 (de) | 2020-09-25 | 2024-04-18 | Bayerische Motoren Werke Aktiengesellschaft | Steuerung eines Fahrzeugs |
US11910092B2 (en) * | 2020-10-01 | 2024-02-20 | Black Sesame Technologies Inc. | Panoramic look-around view generation method, in-vehicle device and in-vehicle system |
US11521394B2 (en) * | 2020-10-09 | 2022-12-06 | Motional Ad Llc | Ground plane estimation using LiDAR semantic network |
US11978266B2 (en) | 2020-10-21 | 2024-05-07 | Nvidia Corporation | Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications |
EP3988417A1 (en) * | 2020-10-23 | 2022-04-27 | Tusimple, Inc. | Safe driving operations of autonomous vehicles |
US11897447B2 (en) | 2020-12-01 | 2024-02-13 | Ford Global Technologies, Llc | Iterative sequential velocity and state of charge setpoint selection for autonomous vehicles |
US20220234651A1 (en) * | 2021-01-25 | 2022-07-28 | GM Global Technology Operations LLC | Methods, systems, and apparatuses for adaptive driver override for path based automated driving assist |
US11753027B2 (en) * | 2021-01-27 | 2023-09-12 | Aptiv Technologies Limited | Vehicle lateral-control system with adjustable parameters |
US11731648B2 (en) * | 2021-02-19 | 2023-08-22 | Aptiv Technologies Limited | Vehicle lateral—control system with dynamically adjustable calibrations |
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 |
US11898871B2 (en) | 2021-09-15 | 2024-02-13 | Here Global B.V. | Apparatus and methods for providing a map layer of one or more temporary dynamic obstructions |
TWI819403B (zh) * | 2021-11-04 | 2023-10-21 | 瑞昱半導體股份有限公司 | 影像資料擴增裝置及方法 |
US20230331231A1 (en) * | 2022-04-19 | 2023-10-19 | Aptiv Technologies Limited | Dynamically Calculating Lane Change Trajectories |
US20230410423A1 (en) * | 2022-06-15 | 2023-12-21 | Gm Cruise Holdings Llc | Three-dimensional motion grid system for autonomous vehicle perception |
WO2023248472A1 (ja) * | 2022-06-24 | 2023-12-28 | 本田技研工業株式会社 | 運転支援装置、運転支援方法、およびプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106864454A (zh) * | 2015-11-06 | 2017-06-20 | 福特全球技术公司 | 用于辅助机动车辆的操纵过程的方法和装置 |
US20170364083A1 (en) * | 2016-06-21 | 2017-12-21 | Baidu Online Network Technology (Beijing) Co., Ltd. | Local trajectory planning method and apparatus for smart vehicles |
Family Cites Families (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7852462B2 (en) | 2000-05-08 | 2010-12-14 | Automotive Technologies International, Inc. | Vehicular component control methods based on blind spot monitoring |
JP4159794B2 (ja) | 2001-05-02 | 2008-10-01 | 本田技研工業株式会社 | 画像処理装置及び方法 |
WO2004034183A2 (en) | 2002-08-21 | 2004-04-22 | Gentex Corporation | Image acquisition and processing methods for automatic vehicular exterior lighting control |
JP2004334410A (ja) | 2003-05-06 | 2004-11-25 | Hitachi Ltd | 情報処理装置及びプロセッサ |
US7068815B2 (en) | 2003-06-13 | 2006-06-27 | Sarnoff Corporation | Method and apparatus for ground detection and removal in vision systems |
US7409295B2 (en) | 2004-08-09 | 2008-08-05 | M/A-Com, Inc. | Imminent-collision detection system and process |
JP2006189325A (ja) | 2005-01-06 | 2006-07-20 | Aisin Aw Co Ltd | 車両の現在地情報管理装置 |
EP2383679A1 (en) | 2006-12-06 | 2011-11-02 | Mobileye Technologies Limited | Detecting and recognizing traffic signs |
JP4462333B2 (ja) | 2007-11-13 | 2010-05-12 | 株式会社デンソー | 走行支援装置 |
CA2721375C (en) | 2008-04-14 | 2016-11-29 | Google Inc. | Panning using virtual surfaces |
KR101717787B1 (ko) | 2010-04-29 | 2017-03-17 | 엘지전자 주식회사 | 디스플레이장치 및 그의 음성신호 출력 방법 |
KR101225626B1 (ko) | 2010-07-19 | 2013-01-24 | 포항공과대학교 산학협력단 | 차선 인식 시스템 및 방법 |
US9373057B1 (en) | 2013-11-01 | 2016-06-21 | Google Inc. | Training a neural network to detect objects in images |
EP2950175B1 (de) | 2014-05-27 | 2021-03-31 | dSPACE digital signal processing and control engineering GmbH | Verfahren und Vorrichtung zum Testen eines Steuergerätes |
EP3885217A1 (en) | 2015-02-10 | 2021-09-29 | Mobileye Vision Technologies Ltd. | Sparse map for autonomous vehicle navigation |
US9811756B2 (en) | 2015-02-23 | 2017-11-07 | Mitsubishi Electric Research Laboratories, Inc. | Method for labeling images of street scenes |
US11630800B2 (en) | 2015-05-01 | 2023-04-18 | Nvidia Corporation | Programmable vision accelerator |
WO2016183074A1 (en) | 2015-05-10 | 2016-11-17 | Mobileye Vision Technologies Ltd. | Road profile along a predicted path |
US10002471B2 (en) | 2015-09-30 | 2018-06-19 | Ants Technology (Hk) Limited | Systems and methods for autonomous vehicle navigation |
US9983591B2 (en) | 2015-11-05 | 2018-05-29 | Ford Global Technologies, Llc | Autonomous driving at intersections based on perception data |
DE102015221920A1 (de) | 2015-11-09 | 2017-05-11 | Bayerische Motoren Werke Aktiengesellschaft | Verfahren, Computerprogrammprodukt, Vorrichtung, und Fahrzeug umfassend die Vorrichtung zum Steuern einer Trajektorienplanung eines Egofahrzeugs |
US10800455B2 (en) | 2015-12-17 | 2020-10-13 | Ford Global Technologies, Llc | Vehicle turn signal detection |
DE102015226762B4 (de) | 2015-12-28 | 2024-04-25 | Robert Bosch Gmbh | Verfahren zur Korrektur mindestens eines Kollisionsparameters und korrespondierendes integriertes Sicherheitssystem für ein Fahrzeug |
US10134278B1 (en) * | 2016-01-22 | 2018-11-20 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle application |
US9996771B2 (en) | 2016-02-15 | 2018-06-12 | Nvidia Corporation | System and method for procedurally synthesizing datasets of objects of interest for training machine-learning models |
US9802599B2 (en) * | 2016-03-08 | 2017-10-31 | Ford Global Technologies, Llc | Vehicle lane placement |
JP6575818B2 (ja) * | 2016-03-25 | 2019-09-18 | パナソニックIpマネジメント株式会社 | 運転支援方法およびそれを利用した運転支援装置、自動運転制御装置、車両、運転支援システム、プログラム |
US9896096B2 (en) | 2016-04-11 | 2018-02-20 | David E. Newman | Systems and methods for hazard mitigation |
US10032067B2 (en) | 2016-05-28 | 2018-07-24 | Samsung Electronics Co., Ltd. | System and method for a unified architecture multi-task deep learning machine for object recognition |
US10354157B2 (en) | 2016-06-27 | 2019-07-16 | Mobileye Vision Technologies Ltd. | Controlling host vehicle based on detection of a one-way road |
WO2018002910A1 (en) | 2016-06-28 | 2018-01-04 | Cognata Ltd. | Realistic 3d virtual world creation and simulation for training automated driving systems |
JP7001596B2 (ja) | 2016-07-26 | 2022-02-03 | 株式会社カネカ | 3hh単位含有共重合phaを生産する形質転換体、及び当該phaの製造方法 |
GB2553782B (en) | 2016-09-12 | 2021-10-20 | Niantic Inc | Predicting depth from image data using a statistical model |
US10127670B2 (en) | 2016-09-27 | 2018-11-13 | Xactware Solutions, Inc. | Computer vision systems and methods for detecting and modeling features of structures in images |
US10053091B2 (en) | 2016-10-25 | 2018-08-21 | Baidu Usa Llc | Spring system-based change lane approach for autonomous vehicles |
US10289469B2 (en) | 2016-10-28 | 2019-05-14 | Nvidia Corporation | Reliability enhancement utilizing speculative execution systems and methods |
WO2018102717A1 (en) | 2016-12-02 | 2018-06-07 | Google Llc | Determining structure and motion in images using neural networks |
CN106740457A (zh) | 2016-12-07 | 2017-05-31 | 镇江市高等专科学校 | 基于bp神经网络模型的车辆换道决策方法 |
US10268200B2 (en) | 2016-12-21 | 2019-04-23 | Baidu Usa Llc | Method and system to predict one or more trajectories of a vehicle based on context surrounding the vehicle |
US10137896B2 (en) | 2016-12-30 | 2018-11-27 | Baidu Usa Llc | Method and system for operating autonomous driving vehicles using graph-based lane change guide |
WO2018126228A1 (en) | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Sign and lane creation for high definition maps used for autonomous vehicles |
CN110494715A (zh) | 2017-02-06 | 2019-11-22 | 瓦亚视觉感知有限公司 | 计算机辅助驾驶 |
CN110431037B (zh) | 2017-02-10 | 2022-11-29 | 日产北美公司 | 包括运用部分可观察马尔可夫决策过程模型示例的自主车辆操作管理 |
US11288595B2 (en) | 2017-02-14 | 2022-03-29 | Groq, Inc. | Minimizing memory and processor consumption in creating machine learning models |
US10906583B2 (en) | 2017-03-03 | 2021-02-02 | Continental Automotive Systems, Inc. | Autonomous trailer hitching using neural network |
US10139831B2 (en) | 2017-03-17 | 2018-11-27 | Denso International America, Inc. | Vehicle system and vehicle controller for controlling vehicle |
US11899669B2 (en) | 2017-03-20 | 2024-02-13 | Carnegie Mellon University | Searching of data structures in pre-processing data for a machine learning classifier |
KR102406507B1 (ko) | 2017-03-27 | 2022-06-10 | 현대자동차주식회사 | 딥러닝 기반 자율주행 차량 제어 장치, 그를 포함한 시스템 및 그 방법 |
US10460180B2 (en) | 2017-04-20 | 2019-10-29 | GM Global Technology Operations LLC | Systems and methods for visual classification with region proposals |
US10528059B2 (en) | 2017-05-24 | 2020-01-07 | Uatc, Llc | Systems and methods for controlling autonomous vehicles that provide a vehicle service to users |
US20200151611A1 (en) | 2017-05-26 | 2020-05-14 | Google Llc | Machine-Learned Model System |
US20180349746A1 (en) | 2017-05-31 | 2018-12-06 | Uber Technologies, Inc. | Top-View Lidar-Based Object Detection |
US10346888B2 (en) | 2017-06-16 | 2019-07-09 | Uber Technologies, Inc. | Systems and methods to obtain passenger feedback in response to autonomous vehicle driving events |
US11214273B2 (en) | 2017-06-23 | 2022-01-04 | Nvidia Corporation | Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system |
US10007269B1 (en) * | 2017-06-23 | 2018-06-26 | Uber Technologies, Inc. | Collision-avoidance system for autonomous-capable vehicle |
US20180373980A1 (en) | 2017-06-27 | 2018-12-27 | drive.ai Inc. | Method for training and refining an artificial intelligence |
US11188794B2 (en) | 2017-08-10 | 2021-11-30 | Intel Corporation | Convolutional neural network framework using reverse connections and objectness priors for object detection |
US10339669B2 (en) | 2017-08-22 | 2019-07-02 | Here Global B.V. | Method, apparatus, and system for a vertex-based evaluation of polygon similarity |
US11487988B2 (en) | 2017-08-31 | 2022-11-01 | Ford Global Technologies, Llc | Augmenting real sensor recordings with simulated sensor data |
KR102026697B1 (ko) | 2017-09-21 | 2019-09-30 | 엘지전자 주식회사 | 주행 시스템 및 차량 |
US10579897B2 (en) | 2017-10-02 | 2020-03-03 | Xnor.ai Inc. | Image based object detection |
US10997491B2 (en) | 2017-10-04 | 2021-05-04 | Huawei Technologies Co., Ltd. | Method of prediction of a state of an object in the environment using an action model of a neural network |
US20190129831A1 (en) | 2017-10-27 | 2019-05-02 | Uber Technologies, Inc. | Autonomous Vehicle Simulation Testing Systems and Methods |
US10580158B1 (en) | 2017-11-03 | 2020-03-03 | Zoox, Inc. | Dense depth estimation of image data |
JP7346401B2 (ja) | 2017-11-10 | 2023-09-19 | エヌビディア コーポレーション | 安全で信頼できる自動運転車両のためのシステム及び方法 |
US11017550B2 (en) | 2017-11-15 | 2021-05-25 | Uatc, Llc | End-to-end tracking of objects |
US11062461B2 (en) | 2017-11-16 | 2021-07-13 | Zoox, Inc. | Pose determination from contact points |
US10762396B2 (en) | 2017-12-05 | 2020-09-01 | Utac, Llc | Multiple stage image based object detection and recognition |
CN110574371B (zh) | 2017-12-08 | 2021-12-21 | 百度时代网络技术(北京)有限公司 | 使用硬件加速器的立体摄像机深度确定 |
US20190179979A1 (en) | 2017-12-13 | 2019-06-13 | Uber Technologies, Inc. | Simulated Sensor Testing |
WO2019136375A1 (en) | 2018-01-07 | 2019-07-11 | Nvidia Corporation | Guiding vehicles through vehicle maneuvers using machine learning models |
US11150663B2 (en) | 2018-01-26 | 2021-10-19 | Nvidia Corporation | Detection of hazardous driving using machine learning |
US11789449B2 (en) | 2018-02-09 | 2023-10-17 | Nvidia Corporation | Controlling autonomous vehicles using safe arrival times |
US11995551B2 (en) | 2018-02-14 | 2024-05-28 | Nvidia Corporation | Pruning convolutional neural networks |
CN111133447B (zh) | 2018-02-18 | 2024-03-19 | 辉达公司 | 适于自主驾驶的对象检测和检测置信度的方法和系统 |
US10816978B1 (en) | 2018-02-22 | 2020-10-27 | Msc.Software Corporation | Automated vehicle artificial intelligence training based on simulations |
DE112019000122T5 (de) | 2018-02-27 | 2020-06-25 | Nvidia Corporation | Echtzeiterfassung von spuren und begrenzungen durch autonome fahrzeuge |
US10157331B1 (en) | 2018-03-08 | 2018-12-18 | Capital One Services, Llc | Systems and methods for image preprocessing to improve accuracy of object recognition |
US11537139B2 (en) | 2018-03-15 | 2022-12-27 | Nvidia Corporation | Determining drivable free-space for autonomous vehicles |
US10776985B2 (en) | 2018-03-17 | 2020-09-15 | Nvidia Corporation | Reflection denoising in ray-tracing applications |
US11080590B2 (en) | 2018-03-21 | 2021-08-03 | Nvidia Corporation | Stereo depth estimation using deep neural networks |
WO2019191313A1 (en) | 2018-03-27 | 2019-10-03 | Nvidia Corporation | Remote operation of vehicles using immersive virtual reality environments |
US11467590B2 (en) | 2018-04-09 | 2022-10-11 | SafeAI, Inc. | Techniques for considering uncertainty in use of artificial intelligence models |
US11370423B2 (en) | 2018-06-15 | 2022-06-28 | Uatc, Llc | Multi-task machine-learned models for object intention determination in autonomous driving |
US10885698B2 (en) | 2018-08-10 | 2021-01-05 | Nvidia Corporation | Method for programmable timeouts of tree traversal mechanisms in hardware |
US10942030B2 (en) | 2018-08-17 | 2021-03-09 | Lyft, Inc. | Road segment similarity determination |
US10625748B1 (en) | 2019-06-28 | 2020-04-21 | Lyft, Inc. | Approaches for encoding environmental information |
-
2019
- 2019-01-07 WO PCT/US2019/012535 patent/WO2019136375A1/en active Application Filing
- 2019-01-07 CN CN201980000745.9A patent/CN110248861B/zh active Active
- 2019-01-07 US US16/241,005 patent/US11042163B2/en active Active
- 2019-01-07 DE DE112019000070.5T patent/DE112019000070T5/de active Pending
-
2021
- 2021-05-17 US US17/322,365 patent/US11609572B2/en active Active
-
2023
- 2023-01-11 US US18/153,072 patent/US11755025B2/en active Active
- 2023-07-19 US US18/355,148 patent/US20230359213A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106864454A (zh) * | 2015-11-06 | 2017-06-20 | 福特全球技术公司 | 用于辅助机动车辆的操纵过程的方法和装置 |
US20170364083A1 (en) * | 2016-06-21 | 2017-12-21 | Baidu Online Network Technology (Beijing) Co., Ltd. | Local trajectory planning method and apparatus for smart vehicles |
Non-Patent Citations (4)
Title |
---|
MARIUSZ BOJARSKI 等: "End to End Learning for Self-Driving Cars", 《CORNELL UNIVERSITY》 * |
吴怀宇: "《自动控制原理(第三版)》", 31 August 2017, 华中科技大学出版社 * |
姜卫平: "《GNSS基准站网数据处理方法与应用》", 31 March 2017, 武汉大学出版社 * |
智能科技与产业研究课题组: "《智能交通未来》", 31 December 2016, 中国科学技术出版社 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110733506A (zh) * | 2019-10-17 | 2020-01-31 | 上海舵敏智能科技有限公司 | 无人驾驶车辆的车道变更方法及设备 |
CN110843781A (zh) * | 2019-11-27 | 2020-02-28 | 长安大学 | 一种基于驾驶员行为的车辆弯道自动控制方法 |
CN111104969B (zh) * | 2019-12-04 | 2023-09-19 | 东北大学 | 一种无人驾驶车辆与周边车辆的碰撞可能性预判方法 |
CN111104969A (zh) * | 2019-12-04 | 2020-05-05 | 东北大学 | 一种无人驾驶车辆与周边车辆的碰撞可能性预判方法 |
CN113034941A (zh) * | 2019-12-24 | 2021-06-25 | 丰田自动车株式会社 | 信息处理装置、信息处理方法以及系统 |
CN113052321A (zh) * | 2019-12-26 | 2021-06-29 | 伟摩有限责任公司 | 从短期意图和长期结果生成轨迹标记 |
CN113052321B (zh) * | 2019-12-26 | 2024-05-07 | 伟摩有限责任公司 | 从短期意图和长期结果生成轨迹标记 |
US11900224B2 (en) | 2019-12-26 | 2024-02-13 | Waymo Llc | Generating trajectory labels from short-term intention and long-term result |
CN111016901A (zh) * | 2019-12-30 | 2020-04-17 | 苏州安智汽车零部件有限公司 | 基于深度学习的智能驾驶决策方法及系统 |
CN113071492A (zh) * | 2020-01-06 | 2021-07-06 | 通用汽车环球科技运作有限责任公司 | 建立车道变换操纵的系统方法 |
CN114506337A (zh) * | 2020-11-16 | 2022-05-17 | Aptiv技术有限公司 | 用于确定要由自主车辆执行的操纵的方法和系统 |
US11645906B2 (en) | 2021-04-29 | 2023-05-09 | Tetenav, Inc. | Navigation system with traffic state detection mechanism and method of operation thereof |
EP4083957A1 (en) * | 2021-04-29 | 2022-11-02 | TeleNav, Inc. | Navigation system with traffic state detection mechanism and method of operation thereof |
CN113460086A (zh) * | 2021-06-30 | 2021-10-01 | 重庆长安汽车股份有限公司 | 自动驾驶进入匝道的控制系统、方法、车辆及存储介质 |
CN114758499B (zh) * | 2022-04-01 | 2023-08-18 | 济南市公安局交通警察支队 | 一种基于多源数据的城市高架快速路匝道智能自动控制的方法、设备及存储介质 |
CN114758499A (zh) * | 2022-04-01 | 2022-07-15 | 济南市公安局交通警察支队 | 一种基于多源数据的城市高架快速路匝道智能自动控制的方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110248861B (zh) | 2023-05-30 |
WO2019136375A4 (en) | 2020-01-30 |
US11755025B2 (en) | 2023-09-12 |
US11609572B2 (en) | 2023-03-21 |
US11042163B2 (en) | 2021-06-22 |
US20230168683A1 (en) | 2023-06-01 |
DE112019000070T5 (de) | 2020-03-12 |
US20210271254A1 (en) | 2021-09-02 |
US20230359213A1 (en) | 2023-11-09 |
WO2019136375A1 (en) | 2019-07-11 |
US20190212749A1 (en) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110248861A (zh) | 在车辆操纵过程中使用机器学习模型来引导车辆 | |
US11989642B2 (en) | Future object trajectory predictions for autonomous machine applications | |
US11941819B2 (en) | Object detection using skewed polygons suitable for parking space detection | |
CN111919225B (zh) | 使用模拟环境对自主机器进行培训、测试和验证 | |
US11801861B2 (en) | Using image augmentation with simulated objects for training machine learning models in autonomous driving applications | |
US20230017261A1 (en) | Domain restriction of neural networks through synthetic data pre-training | |
US11682272B2 (en) | Systems and methods for pedestrian crossing risk assessment and directional warning | |
US20190295282A1 (en) | Stereo depth estimation using deep neural networks | |
JP2022530091A (ja) | 自律マシン・アプリケーションにおける交差点姿勢検出 | |
US20200302250A1 (en) | Iterative spatial graph generation | |
WO2021262603A1 (en) | Sensor fusion for autonomous machine applications using machine learning | |
CN113811886A (zh) | 自主机器应用中的路口检测和分类 | |
CN110494863A (zh) | 确定自主车辆的可驾驶自由空间 | |
US20240001957A1 (en) | Using image augmentation with simulated objects for training machine learning models in autonomous driving applications | |
US20230341235A1 (en) | Automatic graphical content recognition for vehicle applications | |
CN116767245A (zh) | 使用自主系统和应用的神经网络的地图信息对象数据管理 | |
US20230406315A1 (en) | Encoding junction information in map data | |
US20230311855A1 (en) | Perception-based parking assistance for autonomous machine systems and applications | |
US20230136860A1 (en) | 3d surface structure estimation using neural networks for autonomous systems and applications | |
US20230324194A1 (en) | Translating route information between data structures for autonomous systems and applications | |
US20240087561A1 (en) | Using scene-aware context for conversational ai systems and applications | |
US20230298361A1 (en) | Image to world space transformation for ground-truth generation in autonomous systems and applications | |
US20230391365A1 (en) | Techniques for generating simulations for autonomous machines and applications | |
JP2023133062A (ja) | 自律システム及びアプリケーションにおける世界モデル表現のキーフレームベースの圧縮 | |
CN116772874A (zh) | 用于自主系统和应用的使用占用网格进行危险检测 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |