CN110858325A - 车辆自适应学习 - Google Patents
车辆自适应学习 Download PDFInfo
- Publication number
- CN110858325A CN110858325A CN201910784564.1A CN201910784564A CN110858325A CN 110858325 A CN110858325 A CN 110858325A CN 201910784564 A CN201910784564 A CN 201910784564A CN 110858325 A CN110858325 A CN 110858325A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- unsafe
- sensor data
- state
- agent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000003044 adaptive effect Effects 0.000 title abstract description 3
- 238000013528 artificial neural network Methods 0.000 claims abstract description 112
- 230000009471 action Effects 0.000 claims abstract description 61
- 230000002787 reinforcement Effects 0.000 claims abstract description 23
- 239000003795 chemical substances by application Substances 0.000 claims description 102
- 238000000034 method Methods 0.000 claims description 68
- 239000000872 buffer Substances 0.000 claims description 38
- 230000001149 cognitive effect Effects 0.000 claims description 27
- 238000004088 simulation Methods 0.000 claims description 25
- 238000012549 training Methods 0.000 claims description 24
- 238000010801 machine learning Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 description 55
- 230000006870 function Effects 0.000 description 50
- 230000008569 process Effects 0.000 description 38
- 238000013527 convolutional neural network Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000036461 convulsion Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/10—Path keeping
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D21/00—Measuring or testing not otherwise provided for
- G01D21/02—Measuring two or more variables by means not covered by a single other subclass
-
- 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
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
- B60W10/06—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
- B60W10/08—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of electric propulsion units, e.g. motors or generators
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/18—Conjoint control of vehicle sub-units of different type or different function including control of braking systems
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- 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
- B60W2710/00—Output or target parameters relating to a particular sub-units
- B60W2710/18—Braking system
-
- 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
- B60W2710/00—Output or target parameters relating to a particular sub-units
- B60W2710/20—Steering systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
本公开提供了“车辆自适应学习”。一种计算系统可以基于将车辆传感器数据输入到第一神经网络来确定车辆动作,所述第一神经网络包括可以确定不安全车辆操作的概率的第一安全代理。所述第一神经网络可以多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二深度神经网络。可以基于所述车辆动作来操作车辆。
Description
技术领域
本发明涉及一种可以基于将车辆传感器数据输入到第一神经网络来确定车辆动作的计算系统,所述第一神经网络包括可以确定不安全车辆操作的概率的第一安全代理。所述第一神经网络可以多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二深度神经网络。可以基于所述车辆动作来操作车辆。
背景技术
车辆可以被配备以在自主和乘员驾驶模式这两种模式下操作。车辆可以配备有计算装置、网络、传感器和控制器以获取关于车辆环境的信息并基于所述信息来操作车辆。车辆的安全且舒适操作可取决于获取关于车辆环境的准确且及时的信息。车辆传感器可以提供关于要行驶的路线和要在车辆环境中避开的对象的数据。车辆的安全且有效操作可取决于获取当车辆在道路上操作时关于车辆环境中的路线和对象的准确且及时的信息。
发明内容
一种方法包括:将车辆传感器数据输入到第一神经网络(NN),所述第一神经网络包括确定不安全车辆操作的概率的安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二NN;以及基于从所述第一NN输出的车辆动作来操作车辆。
所述车辆动作可以包括车辆转向、制动和动力传动系统部件的操作。
所述方法可以包括通过将彩色视频图像输入到所述第一NN中来输入车辆传感器数据。
所述安全代理可以基于将车辆动作输入到基于模拟数据训练的基于规则的机器学习系统或第三NN中的一者中来确定不安全车辆操作的概率。
可以基于车辆动作地面实况来训练所述第二NN,其中车辆动作地面实况包括车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息。
车辆传感器数据、车辆动作和来自所述安全代理的信息可以基于模拟数据。
所述方法可以包括在服从误差边界的情况下基于记录的车辆传感器数据、记录的车辆动作地面实况以及来自所述安全代理的关于不安全车辆操作的记录信息来周期性地再训练所述第二NN、强化学习代理。
所述方法可以包括通过用来自所述第二NN的参数更新所述第一NN参数来多次调适所述第一NN。
对第一NN的初始训练可以基于在离线模拟期间收集的安全缓冲器(状态,安全动作)对和不安全缓冲器(状态,不安全动作)对两者,并且对所述第二NN的训练是基于在离线模拟期间收集并在驾驶期间收集的安全缓冲器(状态,安全操作)对和不安全缓冲器(状态,不安全操作)两者。
一种系统包括处理器和存储器,所述存储器包括由所述处理器执行以将车辆传感器数据输入到第一神经网络(NN)并基于从所述第一NN输出的所述车辆动作来操作车辆的指令,所述第一神经网络包括确定不安全车辆操作的概率的第一安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二NN。
所述车辆动作可以包括车辆转向、制动和动力传动系统部件的操作。
所述系统可以包括通过将彩色视频图像输入到所述第一深度神经网络中来输入车辆传感器数据。
所述安全代理可以基于将车辆动作输入到基于模拟数据训练的基于规则的机器学习系统或第三NN中的一者中来确定不安全车辆操作的概率。
可以基于车辆动作地面实况来训练所述第二NN,其中车辆动作地面实况包括车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息。
车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息可以基于模拟数据。
所述系统可以包括在服从误差边界的情况下基于记录的车辆传感器数据、记录的车辆动作地面实况以及来自所述安全代理的关于不安全车辆操作的记录信息来周期性地再训练所述第二NN、深度强化学习代理。
所述系统可以包括通过用来自所述第二NN的参数更新所述第一NN参数来多次调适所述第一NN。
对第一NN的初始训练可以基于在离线模拟期间收集的安全缓冲器(状态,安全动作)对和不安全缓冲器(状态,不安全动作)对两者,并且对所述第二NN的训练是基于在离线模拟期间收集并在驾驶期间收集的安全缓冲器(状态,安全操作)对和不安全缓冲器(状态,不安全操作)两者。
一种系统包括用于控制车辆转向、制动和动力传动系统的装置;
计算机装置,其用于将车辆传感器数据输入到第一神经网络(NN)并基于所述车辆动作来操作车辆,所述第一神经网络包括确定不安全车辆操作的概率的第一安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二NN;以及用于控制车辆转向、制动和动力传动系统的装置。
所述系统可以包括通过将彩色视频图像输入到所述第一NN中来输入车辆传感器数据。
附图说明
图1是示例性交通基础设施系统的框图。
图2是包括交通场景的示例性视频图像的图式。
图3是示例性认知地图的图式。
图4是示例性深度神经网络(DNN)的图式。
图5是示例性深度强化学习(DRL)系统的图式。
图6是基于视频图像操作车辆的示例性过程的流程图。
图7是基于DRL系统确定车辆状态的示例性过程的流程图。
具体实施方式
车辆可以被配备以在自主和乘员驾驶模式这两种模式下操作。半自主或全自主模式意味着其中车辆可以通过将计算装置作为具有传感器和控制器的车辆信息系统的一部分来驾驶的操作模式。车辆可以被占用或未被占用,但在任一种情况下,车辆可以在没有乘员辅助的情况下驾驶。出于本公开的目的,自主模式被定义为其中车辆推进(例如,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一者由一个或多个车辆计算机控制的模式;在半自主模式下,一个或多个车辆计算机控制车辆推进、制动和转向中的一者或多者。在非自主车辆中,这些当中没有一个是由计算机控制的。
车辆中的计算装置可以被编程为获取关于车辆的外部环境的数据并使用所述数据来确定用于以例如自主或半自主模式操作车辆的轨迹,其中计算装置可以向控制器提供信息以在包括其他车辆的交通道路上操作车辆。基于传感器数据,计算装置可以确定车辆在其他车辆和行人存在的情况下行驶到达道路上的目的地的安全路径,其中路径被定义为当车辆从道路上的第一位置移动到道路上的第二位置时连接车辆的连续位置的线路,并且安全路径被定义为将车辆保持在道路内并且不包括与包括例如其他车辆和行人的对象的碰撞的路径。可以通过基于神经网络(NN)和安全代理(SA)确定安全路径并且基于在操作车辆时获取的数据周期性地更新NN来改善确定安全路径,所述神经网络在本文中也可以被称为深度神经网络(DNN)。
本文公开了一种方法,所述方法包括:将车辆传感器数据输入到第一神经网络(NN),所述第一神经网络包括确定不安全车辆操作的概率的第一安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二DNN;以及基于从所述第一NN输出的车辆动作来操作车辆。所述车辆动作可以包括车辆转向、制动和动力传动系统部件的操作。可以通过将彩色视频图像输入到所述第一NN中来输入车辆传感器数据。所述第一和第二安全代理可以基于将车辆动作输入到基于模拟数据训练的基于规则的机器学习系统或第三NN中的一者中来确定不安全车辆操作的概率。可以基于车辆动作地面实况来训练所述第二NN,其中车辆动作地面实况包括车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息。
所述第一和第二NN可以基于车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息来训练,所述车辆传感器数据、车辆动作和信息可以基于模拟数据。所述第二NN、强化学习代理可以在服从误差边界的情况下基于记录的车辆传感器数据、记录的车辆动作地面实况以及来自所述安全代理的关于不安全车辆操作的记录信息来周期性地再训练。可以通过基于来自经周期性再训练的第二NN的信息再训练所述第一NN来调适所述第一NN。对所述第一NN的初始训练可以基于在离线模拟期间收集的安全缓冲器(状态,安全动作)对和不安全缓冲器(状态,不安全动作)对两者,并且对所述第二NN的训练是基于在离线模拟期间收集并在驾驶期间收集的安全缓冲器(状态,安全操作)对和不安全缓冲器(状态,不安全操作)两者。操作车辆可以基于从所述第一NN输出的车辆动作,包括基于所述车辆动作输出来确定路径多项式。所述路径多项式可以基于所述车辆相对于认知地图的估计的3D位置。所述车辆位置可以基于所述路径多项式和所述认知地图。所述车辆传感器数据可以是由包括在所述车辆中的视频摄像机获取的彩色视频流。可以通过控制车辆转向、制动和动力传动系统来操作所述车辆。
还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述一些或全部方法步骤的程序指令。进一步公开了一种被编程用于执行一些或所有上述方法步骤的计算机,所述计算机包括计算机设备,所述计算机设备被编程为将车辆传感器数据输入到第一神经网络(NN)并基于从所述第一NN输出的车辆动作来操作车辆,所述第一神经网络包括确定不安全车辆操作的概率的第一安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二NN。所述车辆动作可以包括车辆转向、制动和动力传动系统部件的操作。可以通过将彩色视频图像输入到所述第一NN中来输入车辆传感器数据。所述第一和第二安全代理可以基于将车辆动作输入到基于模拟数据训练的基于规则的机器学习系统或第三NN中的一者中来确定不安全车辆操作的概率。可以基于车辆动作地面实况来训练所述第二NN,其中车辆动作地面实况包括车辆传感器数据、车辆动作和来自所述安全代理的信息。
所述计算机设备还可以被编程为基于车辆传感器数据、车辆动作和来自所述安全代理的信息来训练第一和第二NN,所述车辆传感器数据、车辆动作和信息基于模拟数据。所述深度强化学习代理可以在服从误差边界的情况下基于记录的车辆传感器数据、记录的车辆动作地面实况以及来自所述安全代理的记录信息来周期性地再训练。可以通过基于来自经周期性再训练的第二NN的信息再训练所述第一NN来调适所述第一NN。对所述第一NN的初始训练可以基于在离线模拟期间收集的安全缓冲器(状态,安全动作)对和不安全缓冲器(状态,不安全动作)对两者,并且对所述第二NN的训练是基于在离线模拟期间收集并在驾驶期间收集的安全缓冲器(状态,安全操作)对和不安全缓冲器(状态,不安全操作)两者。操作车辆可以基于从所述DNN输出的车辆动作,包括基于所述车辆动作输出来确定路径多项式。所述路径多项式可以基于所述车辆相对于认知地图的估计的3D位置。所述车辆位置可以基于所述路径多项式和所述认知地图。所述车辆传感器数据可以是由包括在所述车辆中的视频摄像机获取的彩色视频流。可以通过控制车辆转向、制动和动力传动系统来操作所述车辆。
图1是交通基础设施系统100的图式,所述车辆信息系统包括可以自主(“自主”本身在本公开中意味着“全自主”)模式和乘员驾驶(也称为非自主)模式操作的车辆110。车辆110还包括一个或多个计算装置115以执行用于在自主操作期间驾驶车辆110的计算。计算装置115可以从传感器116接收关于车辆的操作的信息。计算装置115可以通过自主模式、半自主模式或非自主模式来操作车辆110。出于本公开的目的,自主模式被定义为计算装置控制车辆110的推进、制动和转向中的每一者的模式;在半自主模式中,计算装置115控制车辆110的推进、制动和转向中的一者或两者;在非自主模式中,人类操作员控制车辆推进、制动和转向。
计算装置115包括诸如已知的处理器和存储器。另外,存储器包括一种或多种形式的计算机可读介质,并存储可由处理器执行的用于执行包括如本文所公开的各种操作的指令。例如,计算装置115可以包括编程为操作车辆制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆110的加速)、转向、气候控制、内部和/或外部灯等中的一项或多项,以及确定计算装置115而不是人类操作员是否以及何时控制此类操作。
计算装置115可以包括或者例如经由如下面进一步描述的车辆通信总线通信地耦合到一个以上的计算装置,例如包括在车辆110中用于监控和/或控制各种车辆部件的控制器等,所述各种车辆部件例如动力传动系统控制器112、制动控制器113、转向控制器114等。计算装置115通常被布置用于在车辆通信网络上进行通信,所述车辆通信网络例如包括车辆110中的总线(诸如控制器局域网(CAN)等);车辆110网络另外地或可选地可以包括诸如已知的有线或无线通信机制,例如以太网或其他通信协议。
经由车辆网络,计算装置115可以向车辆中的各种装置传输消息和/或从各种装置(例如,控制器、致动器、传感器(包括传感器116)等)接收消息。可选地或另外,在计算装置115实际上包括多个装置的情况下,车辆通信网络可以用于在本公开中表示为计算装置115的装置之间的通信。此外,如下文所提及的,各种控制器或感测元件(诸如传感器116)可以经由车辆通信网络向计算装置115提供数据。
另外,计算装置115可以被配置用于经由如下文描述的网络130通过车辆对基础设施(V-to-I)接口111与远程服务器计算机120(例如,云服务器)进行通信,所述V-to-I接口包括允许计算装置115经由诸如无线因特网(Wi-Fi)或蜂窝网络等网络130与远程服务器计算机120通信的硬件、固件和软件。因此,V-to-I接口111可以包括被配置为利用各种有线和/或无线联网技术(例如,蜂窝网络、和有线和/或无线分组网络)的处理器、存储器、收发器等。计算装置115可以被配置用于使用车辆对车辆(V-to-V)网络例如根据在附近车辆110之间基于特定的基础形成或通过基于基础设施的网络形成的专用短程通信(DSRC)通过V-to-I接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将信息存储在非易失性存储器中以供以后检索和经由车辆通信网络和车辆对基础设施(V-to-I)接口111传输到服务器计算机120或用户移动装置160来记录信息。
如上文已经提及,用于在没有人类驾驶员干预的情况下操作一个或多个车辆110部件(例如,制动部件、转向部件、推进部件等)的编程通常包括在存储于存储器中并可由计算装置115的处理器执行的指令中。使用在计算装置115中接收的数据(例如,来自传感器116、服务器计算机120等的传感器数据),计算装置115可以在没有驾驶员操作车辆110的情况下作出各种确定和/或控制各种车辆110部件和/或操作。例如,计算装置115可以包括编程为调节车辆110操作行为(即,车辆110操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以预期用于实现路线的安全且有效行驶的方式控制操作行为),诸如车辆之间的距离和/或车辆之间的时间量、变道、车辆之间的最小间隙、最小左转路径值、到达特定位置的时间和(无信号)穿过十字路口的最小到达时间。
控制器(如该术语在本文中所使用的那样)包括通常被编程为控制特定车辆子系统的计算装置。示例包括动力传动系统控制器112、制动控制器113和转向控制器114。控制器可以是诸如已知的可能包括如本文所描述的额外编程的电子控制单元(ECU)。控制器可以可通信地连接到计算装置115并且从计算装置接收指令以根据指令致动子系统。例如,制动控制器113可以从计算装置115接收指令以操作车辆110的制动器。
车辆110的一个或多个控制器112、113、114可以包括已知的电子控制单元(ECU)等,作为非限制性示例,所述已知的电子控制单元包括一个或多个动力传动系统控制器112、一个或多个制动控制器113和一个或多个转向控制器114。控制器112、113、114中的每一者可以包括相应的处理器和存储器以及一个或多个致动器。控制器112、113、114可以被编程并且连接到车辆110通信总线(诸如控制器局域网(CAN)总线或局域互连网(LIN)总线)以从计算机115接收指令并基于所述指令来控制致动器。
传感器116可以包括已知经由车辆通信总线提供数据的各种装置。例如,固定到车辆110的前保险杠(未示出)的雷达可以提供从车辆110到车辆110前面的下一辆车的距离,或者设置在车辆110中的全球定位系统(GPS)传感器可以提供车辆110的地理坐标。由雷达和/或其他传感器116提供的一个或多个距离和/或由GPS传感器提供的地理坐标可以由计算装置115使用来自主地或半自主地操作车辆110。
车辆110通常是能够进行自主和/或半自主操作并具有三个或更多个车轮的基于地面的车辆110(例如,客车、轻型货车等)。车辆110包括一个或多个传感器116、V-to-I接口111、计算装置115和一个或多个控制器112、113、114。传感器116可以收集与车辆110和车辆110正在操作所处的环境相关的数据。作为示例但不受限制,传感器116可以包括例如测高仪、摄像机、激光雷达(LIDAR)、雷达、超声传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可以用于感测车辆110正在操作所处的环境,例如,传感器116可以检测诸如天气状况(降雨、外部环境温度等)等现象、道路坡度、道路位置(例如,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆110)的位置。传感器116还可以用于收集数据,其包括与车辆110的操作相关的动态车辆110数据(诸如速度、横摆率、转向角、发动机转速、制动压力、油压、施加到车辆110中的控制器112、113、114的功率电平、部件之间的连接性以及车辆110的部件的准确和及时性能)。
图2是以黑色和白色呈现以符合37C.F.R.§1.84(a)(1)的交通场景的示例性彩色图像200的图式。彩色图像200可以由包括视频传感器的传感器116获取。彩色图像200可以由计算装置115输入并且被处理以产生关于真实世界附近车辆110的用于操作车辆110的信息。使用包括卷积神经网络(CNN)的机器视觉技术,计算装置115可以定位并识别视频传感器的视野中的对象和区域,并且使用所述对象和区域来安全地操作车辆110。
用于定位并识别彩色图像200中的对象的CNN可以包括散布有池化层的多个卷积层,随后是散布有非池化层的多个卷积层,以使用跳过连接到卷积层来恢复分辨率,同时保持中间数据中的确定位置和标识,其中位置是彩色图像200中的像素地址(i,j),并且标识是从包括“车辆”、“行人”、“道路”、“车道标记”等的标签列表中选择并通过训练的CNN应用于已连接像素区域的标签。可以通过使用记录的图像和关于彩色图像200中的对象和区域的位置和标识的地面实况训练CNN来训练CNN以确定彩色图像200中的已连接像素区域的位置和标识,这是被称为图像分割的过程。
例如,在彩色图像200中,计算装置115可以使用CNN分割视频图像200以基于使用彩色图像200和与彩色图像200相对应的地面实况训练CNN来定位并识别道路202、车道标记204、206、208、停车标记210、中间分隔带212、其他车辆214、216、218、222、222、交通信号224、226、228。如本文中所使用的,地面实况意味着关于来自CNN的从独立于CNN的来源获得的输出的信息。例如,人类可以凭经验定位并识别与道路202、车道标记204、206、208、停车标记210、中间分隔带212、其他车辆214、216、218、222、222和交通信号224、226、228相对应的彩色图像200的区域。该信息可以作为地面实况输入到CNN以通过将地面实况与CNN输出进行比较并基于输出与地面实况的相似性奖励CNN来训练CNN。
可以基于模拟数据训练CNN。模拟数据是来自由计算机软件生成和呈现的(而不是由在真实世界环境中包括在车辆110中并包括基于真实世界环境的地面实况的视频传感器获取的)近乎逼真的模拟环境的彩色图像200数据和对应的地面实况。在这种背景下的近乎逼真的模拟环境意味着可以生成并呈现彩色图像200的软件程序,所述彩色图像对于观看者表现为真实世界环境(例如,具有车辆的道路)的真实照片(照片般逼真)。例如,计算机游戏软件可以基于模拟环境中的对象和区域的数学和逻辑描述来呈现车辆、道路和背景的照片般逼真的视频场景。计算机软件可以在足够快到使产生的彩色图像200和相对应的地面实况数据集远多于车辆110上的视频传感器(在车辆110在道路上操作时获取数据)可以获取的彩色图像和相对应的地面实况数据集的速率生成和呈现真实世界交通场景(包括道路、车辆、行人和背景)的模拟数据。例如,可以选择模拟交通场景以再现可能在真实世界环境中找到的多种道路配置、交通、照明和天气状况。可以用于产生模拟交通场景的软件程序的示例是TORCS,截至提交本申请之日,该软件程序在torcs.sourceforge.net可用的。由于包括在模拟数据中的彩色图像200包括来自近乎逼真的模拟环境的信息,因此CNN处理彩色图像200,就好像所述彩色图像包括来自真实世界环境的真实数据一样。
图3是由计算装置115基于彩色图像200和存储在计算装置115中的地图数据生成的示例性认知地图300的图式。认知地图是车辆110附近以俯视图呈现的真实世界的地图。认知地图300是基于地图数据和车辆110位置数据。地图数据可以基于包括基于车辆110的位置从服务器计算机120下载的谷歌TM地图的地图软件。车辆110位置可以由计算装置115基于传感器116来确定,所述传感器包括例如GPS传感器和/或加速度计。可以通过以下方式改善相对于认知地图300的车辆110位置:利用如上所述的CNN处理彩色图像200,以定位并识别与视野中的对象和区域相对应的已连接像素区域,并且基于视野的真实世界3D姿态和像素在认知地图300中的真实世界3D位置将与已定位并识别的对象和区域相对应的已连接区域投影到认知地图300上,其中真实世界3D位置是点相对于真实世界x、y和z坐标系统的位置,如纬度、经度和海拔,并且3D姿态是相对于真实世界坐标系的3D位置和围绕真实世界3D坐标系的x、y和z轴的旋转ρ、和θ。
基于真实世界坐标中的视频传感器的视野以及对象或区域相对于视野的位置,并且基于存储在计算装置115中的地图数据确定像素在认知地图300中的真实世界3D位置,计算装置可以将来自彩色图像200的对象和区域投影到认知地图300上。例如,道路202、车道标记204、206、208、停车标记210、中间分隔带212、其他车辆214、216、218、220、222和交通信号224、226、228可以投影到认知地图上以形成道路302、车道标记304、306、308、停车标记310、中间分隔带312、其他车辆314、316、318、320、322和交通信号324、326、328。基于如上面所讨论的位置和标识,投影的对象和区域与关于道路302、车辆110的位置以及对象和区域以俯视图中出现在认知地图300中时所述对象和区域的大小和形状的数据进行组合。例如,计算装置可以基于关于彩色图像200中的大小和形状以及位置的信息、关于道路的视频摄像机视野3D姿态和存储信息以及俯视图中的车辆形状来预测或估计其他车辆314、316、318、320、322在俯视图中的大小、形状和3D姿态。单词预测和估计将在本文中互换使用。
计算装置115可以基于独立软件程序的分级层来操作车辆110,所述独立软件程序的范围从确定高级任务(如“搭乘乘员并将其运输到目的地”或“返回服务区”)而后向下确定中级任务(如“在下一个十字路口右转”或“向右车道行驶”)而后向下确定低级任务(如“将方向盘转动a度,释放制动器并施加b动力持续c秒”)的高级程序开始。中级任务可以使用认知地图信息来基于车辆110的位置和第二位置(例如,诸如另一车辆的对象的位置)来形成路径多项式330。可以通过绘图软件基于车辆110的位置和目的地以类似于如谷歌TM地图的绘图软件可用的逐段驾驶方向的方式或者通过这里描述的技术来确定位置,所述技术可以在形成路径多项式330时通过将来自如上所述的处理后的彩色图像200的状态变量输入至如下面关于图4和图5所讨论的DNN块400和包括在定向强化学习(DRL)系统500中的安全代理块508(SA)来改善,所述状态变量识别车辆并相对于道路和附近对象定位所述车辆。DRL系统500可以输出包括车辆110的预测的3D位置332的车辆转变状态。预测的3D位置332可以输入到软件程序,所述软件程序可以基于对横向和纵向加速度和加加速度(加加速度是加速度的一阶导数,即,速度的二阶导数)的限制来确定路径多项式330。计算装置115可以使用输出路径多项式330来通过经由控制器112、113、114控制车辆转向、制动和动力传动系统来操作车辆110以使车辆110沿着路径多项式330行进。
路径多项式330是描述车辆110的预测运动的一个或多个三次或更多次多项式函数。路径多项式330可以基于车辆110对响应于经由控制器112、113、114接收的命令而由转向、制动器和动力传动系统产生的力的预测行为来确定。通过这种方式,计算装置可以确定要发送到控制器112、113、114以使车辆110以确定的横向和纵向加速度和加加速度沿着路径多项式330操作的命令。例如,计算装置115可以基于路径多项式330向控制器112、113、114发送命令以使车辆110沿着路径多项式330行进并在第二预测的3D位置332处减速停车。
图4是示例性DNN 400的图式,所述DNN可以基于输入状态层402的输入车辆状态404以及在训练期间奖励层406的奖励408来计算并输出输出状态层428的车辆转变状态430。DNN 400包括隐藏层416、422,所述隐藏层分别包括经由互连件420、426、432与输入车辆状态404、奖励408和输出车辆转变状态430完全连接的节点418、424。互连件420、426、432是用于在发生DNN 400计算时向节点418、428传输数据、从它们传输数据和在它们之间传输数据的装置。隐藏层416的每个节点418可以访问所有输入车辆状态404,并且在训练期间访问所有奖励408,所述奖励用于计算要经由互连件426提供给隐藏层422的节点424的中间状态。隐藏层422的所有节点424可以经由互连件426访问所有中间状态,以用于计算输出车辆转变状态430并经由互连432将其传输到输出状态层428。车辆转变状态430是提供描述车辆轨迹的值的数据集,例如,转变状态可以包括预测的3D姿态、速度以及横向和纵向加速度数据,并且可以输出到软件程序以创建路径多项式330以例如便于车辆110的操作。
所有隐藏层416、422计算都被参数化以允许DNN 400学习将输入车辆状态404变换为输出车辆转变状态430,其中输出车辆转变状态包括车辆110的预测3D姿态、相对于道路302的速度和横向和纵向加速度数据。例如,输入车辆状态404包括描述车辆110相对于道路302和其他车辆314、316、318、320、322的位置、速度和方向的值以及关于当前车辆行驶方向的信息,其中当前车辆行驶方向包括用于完成较长行驶任务的一部分(例如车辆行驶方向、“向右车道移动”)的指令,可以是较长行驶方向的一部分(“在100英尺处的交叉路口右转”),这继而可以是行驶任务的一部分,例如“沿着路线从第一位置行驶到第二位置”等。车辆方向可以由在服务器计算机120上运行并经由V-to-I接口111下载到计算装置115的软件程序(如谷歌地图)来确定或者由计算装置115确定并存储在计算装置115中。
计算装置115可以将输出车辆转变状态430输入到软件程序中,所述软件程序可以产生路径多项式330以将车辆110操作从当前位置引导到第二预测3D位置332,同时保持对横向和纵向加速度和加加速度的限制,从而避免与其他车辆314、316、318、320、322碰撞或接近碰撞,并执行针对完成当前车辆方向的一个或多个步骤,例如“向右车道移动到第二预测3D位置332”。
例如,使用基于每个传感器116的视野的信息,计算装置115可以估计认知地图300中包括的自由空间区域和非自由空间区域。自由空间区域是认知地图300的可以预测车辆110在道路表面上无阻碍地行驶的区域。例如,计算装置115可以确定认知地图300中用于车辆110行驶的目的地,所述车辆行驶将是完成更高级别的目标导向活动的步骤,如搭乘乘客并将乘客在目的地放下。认知地图300中包括的非自由空间区域可以包括非道路区域和围绕对象的区域、固定对象(如交通锥)和障碍物两者,并且包括当确定对象正在移动时对象可能要移动到的位置(例如预测车辆、行人和骑行者的行驶)。可以基于对象随时间变化的重复观察来确定认知地图300中对象可能要移动到的位置,以例如基于确定的对象速度和方向来确定对象位置概率。可以确定路径多项式以引导车辆110在自由空间区域内行驶到达目的地,同时避开非自由空间区域。
可以使用由CNN确定的输入车辆状态404来训练DNN 400,所述CNN已经使用来自如上面关于图2所讨论的近乎逼真的模拟环境的视频图像200进行了训练。模拟的视频图像200不太可能模仿在真实世界中操作车辆110的各种各样的复杂性。本文公开的技术通过并入有包括安全代理块508(SA)的DNN块400作为深度强化学习(DRL)系统500的一部分,来改善对DNN块400的训练以适于产生先前未见的输入车辆状态的先前未见的彩色图像200,所述DRL系统包括经由V-to-I接口111用来自服务器计算机120的新训练的DRL系统500周期性地更新的能力。
图5是示例性深度强化学习(DRL)系统500的图式,所述DRL系统将DNN 400并入在可以通过使用安全代理块508(SA)确定车辆110的安全操作以改善方式响应于输入514车辆状态值而输出510车辆转变状态来进行训练的系统中。DRL系统500包括安全代理508,所述安全代理输入从DNN块400输出的预测的车辆转变状态并如上面所讨论的那样使用短时间安全检查来评估所述车辆转变状态的安全违规,并且在车辆转变状态对应于安全违规的示例中在输出510中用终止车辆状态替换车辆转变状态。
本文公开的技术通过并入有安全代理块508以检查来自DNN块400的输出改善对DRL系统500的训练以适于响应于先前未见的视频图像200而产生的输入车辆状态,其需要新的输出车辆状态。
安全代理块508是机器学习软件程序,其可以是基于规则的软件程序,其中有限状态机分析车辆输出状态并根据存储在计算装置115中以供安全代理块508使用的用户输入规则和概率来确定安全违规概率,或者安全代理块508可以是使用由用户输入提供的安全违规概率进行训练的DNN软件程序。在任一情况下,安全代理块508可以分析由DNN块400输出的车辆转变状态以确定是否可能发生短时间安全违规。
短时间安全违规可以包括与其他车辆或行人碰撞和接近碰撞,或者要求另一车辆或行人停止或改变方向(例如,在由车辆110行驶到预测的3D位置的操作所表示的时间范围期间发生)的车辆110移动。安全代理块508可以通过将包括在车辆转变状态中的车辆110的预测3D姿态与包括其他车辆314、316、318、320、322和/或道路的认知地图300之间的关系与基于所述关系的一系列规则和概率进行比较来确定短时间安全违规。例如,基于关于车辆110的预测的3D位置确定的其他车辆314、316、318、320、322的3D姿态,其他车辆中的一者或多者将会移动到干扰车辆110并由此导致碰撞或接近碰撞的概率可以通过访问所述系列规则来确定。例如,在车辆转变状态指示车辆110将执行如路径多项式330所指示的变道的情况下,变道规则可以要求执行安全检查以确定相邻车道是否没有正接近的交通。例如,计算装置115可以基于来自包括例如侧视和后视视频摄像机的传感器116的处理数据来执行安全检查。基于来自侧视和后视视频摄像机的数据,计算装置115可以确定正移动车辆在时间上在车辆110之前或附近将会占用或接近预测的3D位置332的概率并因此确定安全违规的概率。用户输入基于查看由DNN块400发出的示例性车辆状态并针对认知地图300分析所述车辆转变状态来确定车辆110的预测3D姿态与和安全违规相关联的概率之间的关系以及因此基于规则的系统的规则以确定潜在的安全违规并基于例如其他车辆的位置和预测运动分配概率。
例如,引导车辆110行驶到由图3中的路径多项式330表示的预测的3D位置的DNN块400可以被视为具有高安全违规概率,因为执行变道操纵可以被视为在操作车辆110执行操纵之前缺少关于相邻车道中的正接近交通的安全检查信息的短时间安全违规。如果安全代理块508基于输入车辆状态中包括的关于相邻车道交通的安全检查信息或者基于存储在安全代理块508中的关于相邻车道交通的先前处理的安全检查信息来确定不会发生短时间安全违规,则安全代理块508可以输出510不变的输出车辆状态并将副本发送到状态转变函数/奖励函数块512。如果安全代理块508通过基于规则的系统中包括的规则基于车辆的预测的3D姿态确定短时间安全违规的中高概率(>50%)与车辆转变状态相关联,则安全代理块508可以用终止输出车辆状态代替由DNN块400输出的车辆状态。终止输出车辆状态可以引导车辆110操作以避免短时间安全违规,其中终止车辆状态可以取决于从DNN块400输出的车辆状态,包括立即减速到在车道中停车或立即反转操纵,例如将变道操纵反转为返回到起始车道等。
安全代理块508还可以由安全代理DNN来实施,其中输入包括由DNN 400输出并被输入到安全代理DNN的车辆转变状态。可以基于记录的车辆转变状态集和相对应的地面实况来训练安全代理DNN。在这种情况下,地面实况包括基于对车辆转变状态的检查和相对应的认知地图300以经验确定的短时间安全违规的概率。可以训练安全代理DNN以基于输入车辆转变状态来输出“未违规”和原始车辆转变状态或“违规”和终止状态。
安全代理块508还将关于安全违规、车辆转变状态和终止状态车辆状态的信息传递到状态转变函数/奖励函数块512(STF/RF)。在训练期间,状态转变函数/奖励函数块512输入输入514车辆状态并基于来自安全代理块508的预测车辆转变状态和由输入514车辆状态表示的地面真实来确定误差函数ε。在该示例中,输入514车辆状态表示DRL系统500正在学习对函数的下一次观察。DRL系统500可以通过确定误差函数ε来学习如将输入514车辆状态变换为输出510车辆转变状态的函数,所述误差函数是基于值函数V(st,at)其中st是时间t的车辆状态,并且at是时间t的车辆转变状态,并且误差函数ε可以是如下方程式:
ε=V(st+1,at+1)-V(st,at) (1)
时间差学习(Temporal difference learning)以及因此深度强化学习(DRL)系统可以由以下方程式表示:
V(st,at)←V(st,at)+α(ε) (2)
其中被称为学习常数的以经验确定的常数α(0至1)确定状态与在时间t+1的对状态的下一次观察之间的值差的百分比,所述百分比可以被加到值方程式V(st,at)以增加训练将会收敛于正确解的概率,所述正确解通过在所有的解空间中将误差函数ε最小化来表示(st,at)。所有(st,at)的解空间可以通过适合于提供易处理的数据量和速率的密度的样本来表示。
确定误差函数ε还包括确定在训练期间要输入到DNN块400的奖励函数,以响应于输入车辆状态而确定正确的输出车辆转变状态。在训练期间,DNN块400可以通过探索来确定输出车辆状态,其中输出车辆状态是从所有(st,at)的采样解空间确定的。通过这种方式,可以通过状态转变函数/奖励函数块512来评估所有可能的输出车辆状态的代表性样本以确定(st,at)具有最低误差函数ε的状态。
在DRL系统500的操作期间,经由状态转变函数/奖励函数块512将对车辆状态的观察输入514到DNN块400。DNN块400基于先前训练的最低误差函数ε确定输出车辆转变状态以输出到安全代理508,所述安全代理确定输出车辆状态是否表示安全违规并输出510车辆转变状态或车辆终止状态。安全代理块508还将输出车辆转变状态、车辆终止状态和关于安全违规的信息发送到状态转变函数/奖励函数块512。在操作期间,基于输出车辆转变状态和下一个观察车辆状态输入514来确定误差函数ε,并且基于误差函数ε超过以经验确定的最小阈值,计算装置115可以将输出车辆状态存储在存储缓冲器B1 516或B2 518中,这取决于输出车辆状态是否表示安全违规。要求误差函数ε超过以经验确定的阈值可以确保激发新观察的充分持久性。
状态转变函数/奖励函数块512可以存储输出车辆状态、误差函数ε和基于安全违规信息的奖励。在发生无安全违规的示例中,输入车辆状态、输出车辆转变状态、误差函数ε以及基于误差函数ε和无安全违规(安全动作)的奖励可以存储在缓冲器B1 516中。在安全代理块508已经确定安全违规的示例中,输入车辆状态、输出车辆终止状态、误差函数ε以及基于误差函数ε和安全违规(不安全动作)确定的奖励可以存储在缓冲器B2 518中。缓冲器B1 516和B2 518的内容可以由计算装置115经由V-to-I网络111周期性地上载到服务器计算机120。一旦上载,服务器计算机120就可以使用在解空间中寻找局部极大值和极小值的随机梯度搜索方法再训练DRL系统500,所述DRL系统是车辆110中以上载数据训练的DRL系统500的副本。经再训练的DRL系统500中的数据可以被下载到车辆110并用于升级包括在车辆110中的DRL系统500。
实际上,服务器计算机120通常与多辆自主和半自主车辆110通信,每辆车辆110获取充满数据的缓冲器B1 516和B2 518,并且每辆车辆110周期性地将数据缓冲器上载到服务器计算机120,其中服务器计算机120基于上载数据来再训练DRL系统500。服务器计算机可以周期性地将再训练版本的DRL系统500下载到车辆110,因此不断提高DRL系统500输出与车辆110的安全操作相对应的车辆状态的能力。在服务器计算机120中集中计算可以降低车辆110中的计算装置115所需的计算复杂度。
图6是关于图1至图5描述的用于基于将车辆传感器数据输入到DRL系统500来操作车辆的过程600的流程图的图式,其中DRL系统500包括DNN块400和安全代理块508。过程600可以通过计算装置115的处理器来实施,例如,将来自传感器116的信息作为输入,并经由控制器112、113、114执行命令和发送控制信号。过程600包括以所公开的顺序进行的多个框。过程600还包括包含更少框的实现方式或者可以包括以不同顺序进行的框。
过程600开始于框602,其中包括在车辆110中的计算装置115可以将车辆传感器数据输入到DRL系统500中。车辆传感器数据可以是由包括在车辆110中的彩色视频传感器获取的并由CNN处理的彩色视频数据和来自诸如雷达传感器和激光雷达传感器的其他传感器116的数据,以确定对车辆状态的观察以便输入到DRL系统500。车辆状态可以包括车辆110相对于地图数据的位置、速度和方向以及到车辆和行人的距离和方向,例如,如上面关于图4和图5所讨论的。
在框604中,DRL 500的DNN块400确定要输入到DRL 500的安全代理块508的输出车辆状态。安全代理块508基于以经验确定的规则来确定输出车辆状态是否为安全违规。当输出车辆状态表示安全违规时,输出510终止车辆状态而不是输出车辆状态,以确保车辆110的安全操作。在操作期间,DRL 500将包括安全违规的结果存储在缓冲器B1 516或B2 518中,这取决于安全违规。缓冲器B1 516和B2 518中的数据被周期性地上载到服务器计算机120,其中基于上载数据再训练DRL系统500的副本。可以将经再训练的DRL系统500的副本周期性地下载到车辆110以更新DRL系统500。
输出车辆状态可以输出510到计算装置115以在操作车辆110中使用。计算装置115可以输入输出车辆状态以控制理论程序,所述理论程序可以确定路径多项式330以使车辆110沿着预测的3D位置332操作。计算装置115可以向控制器112、113、114发送命令以操作车辆转向、制动器和动力传动系统以在确定的横向和纵向加速度下沿着路径多项式330操作车辆。在该步骤之后,过程600结束。
图7是关于图1至图5描述的用于基于将车辆传感器数据输入到DRL系统500来确定车辆输出状态的过程700的流程图的图式,其中DRL系统500包括DNN块400和安全代理块508。过程700可以通过计算装置115的处理器来实施,例如将来自传感器116的信息作为输入,并经由控制器112、113、114执行命令和发送控制信号。过程700包括以所公开的顺序进行的多个框。过程700还包括包含更少框的实现方式或者可以包括以不同顺序进行的框。
过程700开始于框702,其中包括在车辆110中的计算装置115可以将车辆传感器数据输入到CNN中以确定车辆状态信息(包括相对于地图数据的车辆位置、速度和方向)以及关于到车辆传感器的视野中的车辆和行人的距离和方向的信息,并将车辆状态数据输入到DRL系统500。
在过程700的框704处,DRL系统500的DNN块400基于如上面关于图5所讨论的输入车辆状态来确定输出车辆状态,并输出要在安全代理块508中输入的输出车辆状态。
在过程700的框706处,安全代理块508确定输出车辆转变状态是否表示安全违规。安全代理块508可以是基于规则的机器学习软件程序,其通过将车辆转变状态与在基于规则的机器学习软件中编码为规则的以经验确定的状态进行比较来确定安全违规,其中规则可以基于与例如其他车辆314、316、318、320、322的移动和未来位置相关的以经验确定的概率。当计算装置115操作车辆110作用时可以被预测将车辆110定位在认知地图300中被确定为被其他车辆314、316、318、320、322中的至少一者占用的概率大于以经验确定的阈值的区域内的车辆转变状态可以被确定为例如安全违规。安全代理块508还可以被实施为DNN,其中基于以经验确定为包括安全违规的存在或不存在作为地面实况的输入车辆状态来训练DNN。
在过程700的框708处分支,这取决于安全代理块508对框706处的车辆转变状态执行安全检查的结果。如果没有安全违规,则过程700分支到框710,并且如果存在安全违规,则分支到框712。
在框710处,安全代理508将被确定为包括无安全违规的车辆转变状态输出510到计算装置115以用于确定用于车辆110操作的路径多项式330。安全代理508将安全违规信息和车辆转变状态输出到转变函数/奖励函数块512,以基于车辆转变函数和输入514对车辆状态的下一次观察来确定误差函数ε。如果误差函数ε大于或等于以经验确定的阈值,则过程700转到框714。如果误差函数ε小于以经验确定的阈值,则过程700结束。
在框712处,安全代理508输出510车辆终止状态以避免将具有包括短时间安全违规的高概率的车辆转变状态输出到计算装置115以用于确定用于车辆110操作的路径多项式330。安全代理508将安全违规信息和车辆转变状态输出到转变函数/奖励函数块512,以基于车辆转变函数和输入514对车辆状态的下一次观察来确定误差函数ε。如果误差函数ε大于或等于以经验确定的阈值,则过程700转到框716。如果误差函数ε小于以经验确定的阈值,则过程700结束。
在框714处,过程700将车辆转变状态、安全违规信息(安全动作)和基于误差函数ε确定的奖励函数存储在缓冲器B1 516中。然后,过程700转到框718。
在框716处,过程700将车辆转变状态、安全违规信息(不安全动作)和基于误差函数ε确定的奖励函数存储在缓冲器B2 518中。然后,过程700转到框718。
在框718处,过程700周期性地将缓冲器B1 518和B2 516上载到服务器计算机120,其中服务器计算机120基于上载的缓冲器来再训练DRL系统500的副本。服务器计算机120周期性地将经再训练的DRL系统500的副本下载到车辆110以更新DRL系统500。在框718之后,过程700结束。
诸如本文讨论的计算装置通常各自包括可由一个或多个计算装置(诸如上面识别的那些计算装置等)执行的并且用于执行上述过程的框或步骤的命令。例如,上文论述的过程框可以被体现为计算机可执行命令。
计算机可执行指令可以由使用各种编程语言和/或技术创建的计算机程序来编译或解译,这些编程语言和/或技术单独地或组合地包括但不限于JavaTM、C、C++、VisualBasic、Java Script、Perl、HTML等。一般来说,处理器(例如,微处理器)例如从存储器、计算机可读介质等接收命令,并且执行这些命令,由此执行一个或多个过程,包括本文所述的过程中的一者或多者。可以使用多种计算机可读介质来在文件中存储和传输此类命令和其他数据。计算装置中的文件通常是存储在计算机可读介质(诸如存储介质、随机存取存储器等)上的数据的集合。
计算机可读介质包括参与提供可以由计算机读取的数据(例如,命令)的任何介质。这种介质可以采用许多形式,包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘或磁盘和其他永久性存储器。非易失性介质包括通常构成主存储器的动态随机存取存储器(DRAM)。常见形式的计算机可读介质包括(例如)软磁盘、软盘、硬盘、磁带、任何其他磁性介质、CD-ROM、DVD、任何其他任何光学介质、穿孔卡、纸带、带有穿孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储芯片或盒式磁带,或计算机可以从中读取的任何其他介质。
除非本文做出相反的明确指示,否则权利要求中使用的所有术语意图给予其如所属领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的元件中的一者或多者。
术语“示例性”在本文以表示示例的意义使用,例如,对“示例性小部件”的引用应被理解为仅指代小部件的示例。
修饰值或结果的副词“大约”表示形状、结构、测量、值、确定、计算等可能偏离精确描述的几何形状、距离、测量、值、确定、计算等,因为材料、加工、制造、传感器测量、计算、处理时间、通信时间等存在缺陷。
在附图中,相同的附图标记指示相同元件。此外,可以改变这些元件中的一些或全部。关于本文所述的介质、过程、系统、方法等,应理解,尽管已经将此类过程等的步骤或框描述为根据某个有序序列发生,但是此类过程可以采用以本文所述顺序之外的顺序执行的所描述步骤来实践。还应理解,可以同时执行某些步骤、可以添加其他步骤,或者可以省略本文所述的某些步骤。换句话说,本文对过程的描述是为了示出某些实施例而提供,而决不应将其理解为对所要求保护发明进行限制。
根据本发明,提供了一种方法,所述方法具有:将车辆传感器数据输入到第一神经网络(NN),所述第一神经网络包括确定不安全车辆操作的概率的安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二NN;以及基于从所述第一NN输出的车辆动作来操作车辆。
根据实施例,所述车辆动作包括车辆转向、制动和动力传动系统部件的操作。
根据实施例,上述发明的特征还在于通过将彩色视频图像输入到所述第一NN中来输入车辆传感器数据。
根据实施例,所述安全代理基于将车辆动作输入到基于模拟数据训练的基于规则的机器学习系统或第三NN中的一者中来确定不安全车辆操作的概率。
根据实施例,基于车辆动作地面实况来训练所述第二NN,其中车辆动作地面实况包括车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息。
根据实施例,车辆传感器数据、车辆动作和来自所述安全代理的信息是基于模拟数据。
根据实施例,上述发明的特征还在于在服从误差边界的情况下基于记录的车辆传感器数据、记录的车辆动作地面实况以及来自所述安全代理的关于不安全车辆操作的记录信息来周期性地再训练所述第二NN、强化学习代理。
根据实施例,上述发明的特征还在于通过用来自所述第二NN的参数更新所述第一NN参数来多次调适所述第一NN。
根据实施例,对第一NN的初始训练是基于在离线模拟期间收集的安全缓冲器(状态,安全动作)对和不安全缓冲器(状态,不安全动作)对两者,并且对所述第二NN的训练是基于在离线模拟期间收集并在驾驶期间收集的安全缓冲器(状态,安全操作)对和不安全缓冲器(状态,不安全操作)两者。
根据本发明,提供了一种系统,所述系统具有处理器;以及存储器,所述存储器包括由所述处理器执行以将车辆传感器数据输入到第一神经网络(NN)并基于从所述第一NN输出的所述车辆动作来操作车辆的指令,所述第一神经网络包括确定不安全车辆操作的概率的第一安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二NN。
根据实施例,所述车辆动作包括车辆转向、制动和动力传动系统部件的操作。
根据实施例,上述发明的特征还在于通过将彩色视频图像输入到所述第一深度神经网络中来输入车辆传感器数据。
根据实施例,所述安全代理基于将车辆动作输入到基于模拟数据训练的基于规则的机器学习系统或第三NN中的一者中来确定不安全车辆操作的概率。
根据实施例,基于车辆动作地面实况来训练所述第二NN,其中车辆动作地面实况包括车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息。
根据实施例,车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息是基于模拟数据。
根据实施例,上述发明的特征还在于在服从误差边界的情况下基于记录的车辆传感器数据、记录的车辆动作地面实况以及来自所述安全代理的关于不安全车辆操作的记录信息来周期性地再训练所述第二NN、深度强化学习代理。
根据实施例,上述发明的特征还在于通过用来自所述第二NN的参数更新所述第一NN参数来多次调适所述第一NN。
根据实施例,对第一NN的初始训练是基于在离线模拟期间收集的安全缓冲器(状态,安全动作)对和不安全缓冲器(状态,不安全动作)对两者,并且对所述第二NN的训练是基于在离线模拟期间收集并在驾驶期间收集的安全缓冲器(状态,安全操作)对和不安全缓冲器(状态,不安全操作)两者。
根据本发明,提供了一种系统,所述系统具有:用于控制车辆转向、制动和动力传动系统的装置;计算机装置,其用于将车辆传感器数据输入到第一神经网络(NN)并基于所述车辆动作来操作车辆,所述第一神经网络包括确定不安全车辆操作的概率的第一安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二NN;以及用于控制车辆转向、制动和动力传动系统的装置。
根据实施例,上述发明的特征还在于通过将彩色视频图像输入到所述第一NN中来输入车辆传感器数据。
Claims (15)
1.一种方法,其包括:
将车辆传感器数据输入到第一神经网络(NN),所述第一神经网络包括确定不安全车辆操作的概率的安全代理并且多次通过经周期性再训练的深度强化学习代理来调适,所述经周期性再训练的深度强化学习代理包括包含第二安全代理的第二NN;以及
基于从所述第一NN输出的车辆动作来操作车辆。
2.如权利要求1所述的方法,其中所述车辆动作包括车辆转向、制动和动力传动系统部件的操作。
3.如权利要求1所述的方法,其还包括通过将彩色视频图像输入到所述第一NN中来输入车辆传感器数据。
4.如权利要求1所述的方法,其中所述安全代理基于将车辆动作输入到基于模拟数据训练的基于规则的机器学习系统或第三NN中的一者中来确定不安全车辆操作的概率。
5.如权利要求1所述的方法,其中基于车辆动作地面实况来训练所述第二NN,其中车辆动作地面实况包括车辆传感器数据、车辆动作和来自所述安全代理的关于不安全车辆操作的信息。
6.如权利要求5所述的方法,其中车辆传感器数据、车辆动作和来自所述安全代理的信息是基于模拟数据。
7.如权利要求1所述的方法,其还包括在服从误差边界的情况下基于记录的车辆传感器数据、记录的车辆动作地面实况以及来自所述安全代理的关于不安全车辆操作的记录信息来周期性地再训练所述第二NN、强化学习代理。
8.如权利要求7所述的方法,其还包括通过用来自所述第二NN的参数更新第一NN参数来多次调适所述第一NN。
9.如权利要求1所述的方法,其中对第一NN的初始训练是基于在离线模拟期间收集的安全缓冲器(状态,安全动作)对和不安全缓冲器(状态,不安全动作)对两者,并且对所述第二NN的训练是基于在离线模拟期间收集并在驾驶期间收集的安全缓冲器(状态,安全操作)对和不安全缓冲器(状态,不安全操作)两者。
10.如权利要求1所述的方法,其中基于从所述NN输出的车辆动作来操作车辆包括基于所述车辆动作输出来确定路径多项式。
11.如权利要求10所述的方法,其中所述路径多项式是基于所述车辆相对于认知地图的估计的3D位置。
12.如权利要求11所述的方法,其还包括基于所述路径多项式和所述认知地图来操作所述车辆。
13.如权利要求1所述的方法,其中所述车辆传感器数据是由包括在所述车辆中的视频摄像机获取的彩色视频流。
14.如权利要求1所述的方法,其还包括通过控制车辆转向、制动和动力传动系统来操作所述车辆。
15.一种系统,其包括被编程为执行如权利要求1所述的方法的计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/111,550 | 2018-08-24 | ||
US16/111,550 US10733510B2 (en) | 2018-08-24 | 2018-08-24 | Vehicle adaptive learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110858325A true CN110858325A (zh) | 2020-03-03 |
Family
ID=69412290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910784564.1A Pending CN110858325A (zh) | 2018-08-24 | 2019-08-23 | 车辆自适应学习 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10733510B2 (zh) |
CN (1) | CN110858325A (zh) |
DE (1) | DE102019122826A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020094525A1 (en) | 2018-11-09 | 2020-05-14 | Curious Ai Oy | Solution for machine learning system |
US11131992B2 (en) * | 2018-11-30 | 2021-09-28 | Denso International America, Inc. | Multi-level collaborative control system with dual neural network planning for autonomous vehicle control in a noisy environment |
US11560146B2 (en) * | 2019-03-26 | 2023-01-24 | Ford Global Technologies, Llc | Interpreting data of reinforcement learning agent controller |
US11772671B2 (en) * | 2019-06-03 | 2023-10-03 | Toyota Research Institute, Inc. | Systems and methods for predicting control handback |
US11126891B2 (en) * | 2019-09-11 | 2021-09-21 | Toyota Research Institute, Inc. | Systems and methods for simulating sensor data using a generative model |
US20210150892A1 (en) * | 2019-11-19 | 2021-05-20 | Ford Global Technologies, Llc | Vehicle operating parameters |
US11315260B2 (en) * | 2019-12-23 | 2022-04-26 | Waymo Llc | Geo-motion and appearance aware data association |
DE102020209221A1 (de) * | 2020-07-22 | 2022-01-27 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Koppeln und Ankoppeln eines Sensors und Kommunikationsnetzwerk |
US11794723B2 (en) * | 2020-10-08 | 2023-10-24 | Hyundai Mobis Co., Ltd. | Apparatus and method for controlling driving of vehicle |
US11760376B2 (en) * | 2020-12-29 | 2023-09-19 | Ford Global Technologies, Llc | Machine learning updating with sensor data |
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 |
US20220366175A1 (en) * | 2021-05-13 | 2022-11-17 | Waymo Llc | Long-range object detection, localization, tracking and classification for autonomous vehicles |
US20230012905A1 (en) * | 2021-07-02 | 2023-01-19 | Canoo Technologies Inc. | Proximity detection for automotive vehicles and other systems based on probabilistic computing techniques |
US20230020503A1 (en) * | 2021-07-08 | 2023-01-19 | Ford Global Technologies, Llc | Machine control |
US12091042B2 (en) | 2021-08-02 | 2024-09-17 | Ford Global Technologies, Llc | Method and system for training an autonomous vehicle motion planning model |
CN113361665B (zh) | 2021-08-11 | 2021-11-16 | 成都理工大学 | 一种基于强化学习的高原山地旅游安全风险预警方法 |
CN114852043B (zh) * | 2022-03-23 | 2024-06-18 | 武汉理工大学 | 一种基于分层回报td3的hev能量管理方法及系统 |
CN115009291B (zh) * | 2022-05-23 | 2023-05-23 | 暨南大学 | 基于网络演化重放缓冲区的自动驾驶辅助决策方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6366896B1 (en) | 1997-03-18 | 2002-04-02 | William R. Hutchison | Adaptive agent using neural network |
US9679258B2 (en) | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
WO2017019555A1 (en) | 2015-07-24 | 2017-02-02 | Google Inc. | Continuous control with deep reinforcement learning |
WO2017177128A1 (en) | 2016-04-08 | 2017-10-12 | The Trustees Of Columbia University In The City Of New York | Systems and methods for deep reinforcement learning using a brain-artificial intelligence interface |
CN107563256A (zh) * | 2016-06-30 | 2018-01-09 | 北京旷视科技有限公司 | 辅助驾驶信息产生方法及装置、辅助驾驶系统 |
US20180011981A1 (en) | 2016-07-05 | 2018-01-11 | The Regents Of The University Of Michigan | Quantum-based machine learning for oncology treatment |
CN106910351B (zh) | 2017-04-19 | 2019-10-11 | 大连理工大学 | 一种基于深度强化学习的交通信号自适应控制方法 |
CN106990714A (zh) | 2017-06-05 | 2017-07-28 | 李德毅 | 基于深度学习的适配控制方法与装置 |
CN107506830A (zh) | 2017-06-20 | 2017-12-22 | 同济大学 | 面向智能汽车规划决策模块的人工智能训练平台 |
US11093829B2 (en) * | 2017-10-12 | 2021-08-17 | Honda Motor Co., Ltd. | Interaction-aware decision making |
US11568236B2 (en) * | 2018-01-25 | 2023-01-31 | The Research Foundation For The State University Of New York | Framework and methods of diverse exploration for fast and safe policy improvement |
US11150663B2 (en) * | 2018-01-26 | 2021-10-19 | Nvidia Corporation | Detection of hazardous driving using machine learning |
-
2018
- 2018-08-24 US US16/111,550 patent/US10733510B2/en active Active
-
2019
- 2019-08-23 CN CN201910784564.1A patent/CN110858325A/zh active Pending
- 2019-08-26 DE DE102019122826.3A patent/DE102019122826A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US10733510B2 (en) | 2020-08-04 |
US20200065665A1 (en) | 2020-02-27 |
DE102019122826A1 (de) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733510B2 (en) | Vehicle adaptive learning | |
US10981564B2 (en) | Vehicle path planning | |
US11312372B2 (en) | Vehicle path prediction | |
US10853670B2 (en) | Road surface characterization using pose observations of adjacent vehicles | |
US10345822B1 (en) | Cognitive mapping for vehicles | |
US10831208B2 (en) | Vehicle neural network processing | |
US11465617B2 (en) | Vehicle path planning | |
US11042758B2 (en) | Vehicle image generation | |
US20200020117A1 (en) | Pose estimation | |
CN111016872A (zh) | 车辆路径规划 | |
CN111986128A (zh) | 偏心图像融合 | |
US11055859B2 (en) | Eccentricity maps | |
US12103530B2 (en) | Vehicle data augmentation | |
US11718290B2 (en) | Methods and systems for safe out-of-lane driving | |
CN110858866A (zh) | 前景检测 | |
US11030774B2 (en) | Vehicle object tracking | |
CN111791814A (zh) | 车辆胶囊网络 | |
CN112061138A (zh) | 车辆偏心率映射 | |
US11429843B2 (en) | Vehicle operation labeling | |
CN115907250A (zh) | 用于调整自主驾驶车辆的运动规划器的基于学习的评论器 | |
US11610412B2 (en) | Vehicle neural network training | |
US10599146B2 (en) | Action-conditioned vehicle control | |
US20230053243A1 (en) | Hybrid Performance Critic for Planning Module's Parameter Tuning in Autonomous Driving Vehicles | |
CN115320635A (zh) | 评估自主驾驶车辆的规划功能的方法及系统 | |
CN117184123A (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 |