CN113741384A - 检测自动驾驶***的方法和装置 - Google Patents
检测自动驾驶***的方法和装置 Download PDFInfo
- Publication number
- CN113741384A CN113741384A CN202010476010.8A CN202010476010A CN113741384A CN 113741384 A CN113741384 A CN 113741384A CN 202010476010 A CN202010476010 A CN 202010476010A CN 113741384 A CN113741384 A CN 113741384A
- Authority
- CN
- China
- Prior art keywords
- data
- vehicle
- target
- driving system
- automatic driving
- 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
- 238000000034 method Methods 0.000 title claims abstract description 143
- 238000012549 training Methods 0.000 claims description 81
- 230000015654 memory Effects 0.000 claims description 60
- 238000001514 detection method Methods 0.000 claims description 51
- 238000013528 artificial neural network Methods 0.000 claims description 32
- 230000002787 reinforcement Effects 0.000 claims description 12
- 230000004807 localization Effects 0.000 claims description 11
- 238000013135 deep learning Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 16
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 21
- 230000001276 controlling effect Effects 0.000 description 20
- 241000282414 Homo sapiens Species 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000008447 perception Effects 0.000 description 11
- 230000006399 behavior Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000004927 fusion Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 241001465754 Metazoa Species 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 239000000446 fuel Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000979 retarding effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24065—Real time diagnostics
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请提供了人工智能领域的智能驾驶技术,涉及检测自动驾驶***的方法和基于自动驾驶***控制车辆行驶的方法。本申请中,获取目标驾驶场景中的多个车辆的传感器采集的数据,使用待检测自动驾驶***根据这些数据获取目标车辆在目标驾驶场景中行驶时的轨迹信息,并将该轨迹信息与预设的轨迹信息进行比较,以及根据比较结果判断该自动驾驶***在所述目标驾驶场景中行驶时是否失效。进一步地,本申请还可以检测该自动驾驶***的失效原因,以及使用检测过的自动驾驶***控制车辆行驶。本申请提出的技术方案有助于提高车辆的安全性。
Description
技术领域
本申请涉及人工智能的自动驾驶领域,尤其涉及一种检测自动驾驶***的方法和测试装置。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位***等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶的车辆使用各种计算***来帮助将乘客从一个位置运输到另一位置。一些自动驾驶车辆可能要求来自操作者(诸如,领航员、驾驶员、或者乘客)的一些初始输入或者连续输入。自动驾驶车辆准许操作者从手动模操作式切换到自东驾驶模式或者介于两者之间的模式。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。
安全对于自动驾驶来说具有很重要的意义,提高自动驾驶的安全性的一个重要途径就是对车辆的自动驾驶***进行测试,以提前发现和分析自动驾驶***的失效驾驶案例,从而可以改进自动驾驶***,以减小自动驾驶***出现失效驾驶案例的可能性。失效驾驶案例也可以理解为出错案例。
传统技术中,对自动驾驶***进行检测时,在车辆上运行该自动驾驶***,并通过该车辆上的传感器采集行驶其周围的环境数据和该车辆的状态数据,这些数据可以统称为传感器数据;该待检测自动驾驶***基于该传感器数据输出车辆的轨迹信息;然后,将该轨迹信息与车辆的人类驾驶员驾驶该车辆所得到的轨迹信息或者与车辆上部署的另一个自动驾驶***基于该传感器数据输出的轨迹信息进行比较;再根据该比较结果分析该待检测自动驾驶***是否在该行驶场景中出现失效案例,例如,若比较的结果是存在差异,则说明该待测试自动驾驶***在这种场景下失效。
虽然上述方法能够在绝大多数情况下检测出自动驾驶***的失效案例,但是,在很多场景下,会出现检测结果出错的现象,例如,自动驾驶***实际没有失效的情况下得出该自动驾驶***失效的结论,或者,自动驾驶***实际失效的情况下,得出该自动驾驶***没有失效的结论。也就是说,上述方法对自动驾驶***的检测率有待提高。
因此,如何提高自动驾驶***的出错案例的检测率,从而提高应用该自动驾驶***的车辆的行驶安全性,是一个亟待解决的技术问题。
发明内容
本申请提供了检测自动驾驶***的方法和基于自动驾驶***控制车辆行驶的方法,有助于提高车辆的安全性。
第一方面,本申请提供一种检测自动驾驶***的方法。所述方法包括:获取第一数据,所述第一数据中包括传感器数据,所述传感器数据包括目标驾驶场景中的多个车辆的传感器采集的数据;使用待检测自动驾驶***,根据所述第一数据,获取目标车辆在所述目标驾驶场景中行驶时的第一轨迹信息;根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶***在所述目标驾驶场景中行驶时是否失效。
该方法中,待检测自动驾驶***推测目标车辆在目标驾驶场景中行驶时的轨迹所使用的传感器数据是多个车辆采集的。这与待检测自动驾驶***基于一个车辆采集的传感器数据推测目标车辆在目标驾驶场景中行驶时的轨迹相比,由于多个车辆上的传感器能够采集到目标驾驶场景中更多的数据,即可以获得目标驾驶场景的更多信息,因此,待检测自动驾驶***推测的轨迹信息更准确。基于该更准确的轨迹信息对该待检测自动驾驶***进行失效检测的结果也就会更准确,最终,可以提高应用该待检测自动驾驶***的车辆的安全性。
在一些可能的实现方式中,所述待检测自动驾驶***在所述目标驾驶场景中行驶时失效的情况下,所述方法还包括:使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶***的失效原因。
该实现方式中的方法,可以通过训练过的神经网络来定位待检测自动驾驶***失效的原因,即定位是由于待检测自动驾驶***中哪个或哪些模块发生错误才导致的失效。这有助于对该待检测自动驾驶***进行改进,以避免该待检测自动驾驶***再出现该失效案例,从而提高应用该自动驾驶***的车辆的安全性。
在一些可能的实现方式中,所述失效原因包括以下一种或多种:所述待检测自动驾驶***的决策规控模块发生错误,所述待检测自动驾驶***的感知模块发生错误。
在一些可能的实现方式中,所述错误定位***是基于第二数据、所述第二数据对应的轨迹信息、对所述第二数据中的数据进行修改得到的第三数据所对应的轨迹信息以及预设失效原因训练得到的神经网络,其中,所述预设失效原因包括感知模块发生错误。
其中,第三数据是根据第二数据得到的,例如,在第二数据中添加新的数据,删减部分数据,或者更改部分数据,从而得到第三数据。第三数据对应的轨迹信息即为基于第三数据推测的轨迹信息。第二数据对应的轨迹信息即为基于第二数据推测得到的轨迹信息。预设失效原因是指会导致第二数据变换成第三数据的原因。
也就是说,该错误***是根据正确数据,基于正确数据推测的轨迹信息,基于错误数据推测的轨迹信息和导致正确数据变换为错误数据的原因进行深度学习得到的神经网络。其中,原因可以作为监督数据。这样,训练得到的错误***可以用于根据正确数据、基于正确数据推测的轨迹信息、基于错误数据推测的轨迹信息,预测得到导致该正确数据变换为该错误数据的原因。
在一些可能的实现方式中,所述预设的第二轨迹信息为基准自动驾驶***根据所述第一数据获取得到的所述目标车辆在所述目标驾驶场景中行驶时的轨迹信息。
也就是说,将另外的自动驾驶***基于第一数据推测得到的轨迹信息作为第二轨迹信息来检测第一轨迹信息,以实现检测待检测自动驾驶***的目的。
可选地,也可以将人工驾驶员驾驶车辆行驶时的轨迹信息作为第二轨迹信息。
与将人工驾驶员驾驶车辆行驶时的轨迹信息作为第二轨迹信息相比,将自动驾驶***基于第一数据推测的轨迹信息作为第二轨迹信息,更便于采集到轨迹信息,且该自动驾驶***输出的轨迹信息与待检测自动驾驶***输出的轨迹信息之间的格式更容易达到一致,从而可以提高检测效率。
在一些可能的实现方式中,所述基准自动驾驶***为经过训练得到的自动驾驶***,所述训练包括基于深度学习方法的训练。
也就是说,使用经过深度学习方法训练的神经网络***作为基准自动驾驶***。因为经过深度学习,所以可以学习到包含传感器数据的数据与轨迹信息之间的深层关系,从而可以提高作为基准轨迹信息的第二轨迹信息的准确性,从而可以提高待检测自动驾驶***的检测准确性。
在一些可能的实现方式,所述训练还包括基于强化学习和逆强化学习的训练。
也就是说,该基准自动驾驶***可以进一步经过强化学习和逆强化学习的训练,从而可以提高其输出的轨迹信息的准确性,进而可以提高待检测自动驾驶***的检测准确性。
在一些可能的实现方式中,所述待检测自动驾驶***在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶***进行训练。
所述待检测自动驾驶***在所述目标驾驶场景中行驶时没有失效的情况下,说明第一轨迹信息是第一数据所对应的合理轨迹信息,因此,可以将该第一数据和第一轨迹信息收集起来作为基准自动驾驶***的对基准自动驾驶***进行再训练,提高基准自动驾驶***的性能,从而可以进一步提高待检测自动驾驶***的检测准确性。
在一些可能的实现方式中,所述目标车辆为虚拟车辆。也就是说,可以构建虚拟车辆,将虚拟车辆作为目标车辆来检测待检测自动驾驶***的失效案例。
将虚拟车辆作为目标车辆,与将真实车辆作为目标车辆相比,不需要真的在真实驾驶场景中行驶,因此有助于降低检测成本,同时也可以提高检测效率。
此外,有助于虚拟更多数量的虚拟车量作为目标车量检测待检测自动驾驶***,从而可以提升检测效率。
在一些可能的实现方式中,可以通过可视化界面来显示目标车辆的行驶轨迹,从而可以更直观地观测到目标车辆的行驶轨迹,进而可以判断目标车辆的行驶轨迹的合理性,最终可以检测待检测自动驾驶***是否失效。
可选地,在该可视化界面中,还可以显示第一数据所对应的多个车辆中的全部或部分车辆的行驶轨迹。
在一些可能的实现方式中,错误定位***基于第一数据、第二轨迹信息和第一轨迹信息,可以输出与第一轨迹信息对应的数据。这种情况下,可以通过可视化界面显示该数据与第一数据之间的差异,从而可以通过可视化界面判断待检测自动驾驶***的失效原因。
例如,该数据的可视化界面中显示的内容与第一数据的可视化界面中的显示内容一致时,可以认为感知模块没有发生错误,则可以认为是规控模块发生错误。若该数据的可视化界面中显示的内容与第一数据的可视化界面中的显示内容不一致,则可以认为是感知模块发生错误。
在一些可能的实现方式中,第一数据中还可以包括目标驾驶场景的地图数据。
第二方面,本申请提供一种控制车辆行驶的方法。所述方法包括:获取目标自动驾驶***基于目标数据输出的轨迹信息,所述目标数据包括目标驾驶场景的地图数据和/或所述目标驾驶场景中的多个车辆的传感器采集的数据,所述多个车辆包括目标车辆;根据所述轨迹信息控制所述目标车辆行驶。
该方法中,因为目标自动驾驶***推测目标车辆在目标驾驶场景中行驶时的轨迹所使用的传感器数据是多个车辆采集的。这与目标自动驾驶***基于一个车辆采集的传感器数据推测目标车辆在目标驾驶场景中行驶时的轨迹相比,由于多个车辆上的传感器能够采集到目标驾驶场景中更多的数据,即可以获得目标驾驶场景的更多信息,因此,目标自动驾驶***推测的轨迹信息更准确,从而可以提高车辆的安全性。
在一些可能的实现方式中,所述目标自动驾驶***是使用第一方面或其中任意一种可能的实现方式中的方法检测得到的自动驾驶***。
因此第一方面或其中任意一种可能的实现方式中的方法检测过的目标自动驾驶***的失效案例可以更少,因此基于该目标自动驾驶***控制车辆行驶时,该车辆的安全性更高。
第三方面,本申请提供一种检测自动驾驶***的装置,所述装置包括用于实现第一方面或其中任意一种可能的实现方式中的方法的模块。
例如,所述装置包括:数据获取模块,用于获取第一数据,所述第一数据中包括传感器数据,所述传感器数据包括目标驾驶场景中的多个车辆的传感器采集的数据;轨迹获取模块,用于使用待检测自动驾驶***,根据所述第一数据,获取目标车辆在所述目标驾驶场景中行驶时的第一轨迹信息;失效检测模块,用于根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶***在所述目标驾驶场景中行驶时是否失效。
在一些可能的实现方式中,所述装置还包括错误定位模块,用于:在所述待检测自动驾驶***在所述目标驾驶场景中行驶时失效的情况下,使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶***的失效原因。
在一些可能的实现方式中,所述失效原因包括以下一种或多种:所述待检测自动驾驶***的决策规控模块发生错误,所述待检测自动驾驶***的感知模块发生错误。
在一些可能的实现方式中,所述错误定位***是基于第二数据、所述第二数据对应的轨迹信息、对所述第二数据中的数据进行修改得到的第三数据所对应的轨迹信息以及预设失效原因训练得到的神经网络,其中,所述预设失效原因包括感知模块发生错误。
在一些可能的实现方式中,所述预设的第二轨迹信息为基准自动驾驶***根据所述第一数据获取得到的所述目标车辆在所述目标驾驶场景中行驶时的轨迹信息。
在一些可能的实现方式中,所述基准自动驾驶***为经过训练得到的自动驾驶***,所述训练包括基于深度学习方法的训练。
在一些可能的实现方式中,所述训练还包括基于强化学习和逆强化学习的训练。
在一些可能的实现方式中,在所述待检测自动驾驶***在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶***进行训练。
在一些可能的实现方式中,所述目标车辆为虚拟车辆。
第四方面,本申请提供一种控制车辆行驶的装置,所述装置包括用于实现第三方面或其中任意一种实现方式中的方法的模块。
例如,所述装置包括:轨迹获取模块,用于获取目标自动驾驶***基于目标数据输出的轨迹信息,所述目标数据包括目标驾驶场景的地图数据和/或所述目标驾驶场景中的多个车辆的传感器采集的数据,所述多个车辆包括目标车辆;控制模块,用于根据所述轨迹信息控制所述目标车辆行驶。
在一些可能的实现方式中,所述目标自动驾驶***是使用第一方面或其中任意一种可能的实现方式中的方法检测得到的自动驾驶***。
第五方面,提供了一种检测自动驾驶***的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。
第六方面,提供了一种控制车辆行驶的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
第七方面,提供一种计算机可读介质,该计算机可读介质存储用于计算设备执行的程序代码,该程序代码包括用于执行第一方面或其中任意一种实现方式中的方法。
第八方面,提供一种计算机可读介质,该计算机可读介质存储用于计算设备执行的程序代码,该程序代码包括用于执行第二方面或者其中任意一种实现方式中的方法。
第九方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或其中任意一种实现方式中的方法。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第二方面或者其中任意一种实现方式中的方法。
第十一方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或其中任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或其中任意一种实现方式中的方法。
第十二方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第二方面或者其中任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
第十三方面,提供了一种计算设备,该计算设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。
第十四方面,提供了一种计算设备,该计算设备包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
第十五方面,提供了一种车辆,该车辆包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面或者其中任意一种实现方式中的方法。
第十六方面,提供了一种车辆,该车辆包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面或者其中任意一种实现方式中的方法。
附图说明
图1为本申请实施例提供的一种车辆的结构示意图;
图2为本申请实施例提供的一种计算机***的结构示意图;
图3为本申请一个实施例的自动驾驶***的结构示意图;
图4为本申请一个实施例的云侧指令自动驾驶汽车的应用示意图;
图5为本申请一个实施例的构建虚拟车运行网络***的示意性流程图;
图6为本申请一个实施例的虚拟驾驶场景示意图;
图7为本申请一个实施例的训练模型的方法的示意性架构图;
图8为本申请一个实施例的轨迹聚类示意图;
图9为本申请一个实施例的检测自动驾驶***的方法的示意性流程图;
图10为本申请一个实施例的控制车辆行驶的方法的示意性流程图;
图11为本申请一个实施例的检测自动驾驶***的装置的示意性结构图;
图12为本申请一个实施例的控制车辆行驶的装置的示意性结构图;
图13为本申请一个实施例的装置的示意性结构图;
图14为本申请一个实施例的计算机程序产品的示意图。
具体实施方式
下面先对本申请实施例中的一些用语进行解释。
自动驾驶***:包括规控模块,当然,还可以包括行为决策模块、感知模块、定位模块和控制模块等。
本申请中的自动驾驶***可以是高级驾驶辅助***(advanced drivingassistance system,ADAS),或者可以是高级驾驶***(advanced driving system),也可以是其他任何包含规控模块的驾驶***。
规控模块:根据行为决策,规划生成一条满足特定约束条件(例如车辆本身的动力学约束、避免碰撞、乘客舒适性等)的轨迹,该轨迹作为控制模块的输入决定车辆最终行驶路径。
传感器数据:可以通过车载传感器,例如摄像头、激光雷达、毫米波雷达等获取的数据。本申请中的传感器数据可以是原始采集的视频流、雷达的点云数据或者是经过分析的结构化的人、车、物的位置、速度、转向角度、尺寸大小等信息或数据。对于原始的视频流数据、雷达的点云数据,感知模块可以将这些传感器数据处理成可识别的、结构化的人、车、物的位置、速度、转向角度、尺寸大小等信息或数据。
下面将结合附图,对本申请的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请一个实施例的车辆100的功能框图。其中,车辆100可以是人工驾驶车辆,或者可以将车辆100配置可以为完全或部分地自动驾驶模式。
在一个示例中,车辆100在处于自动驾驶模式中的同时,可以控制自车,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式中时,可以将车辆100置为在没有和人交互的情况下操作。
车辆100中可以包括各种子***,例如,行进***110、传感***120、控制***130、一个或多个***设备140以及电源160、计算机***150和用户接口170。
可选地,车辆100可以包括更多或更少的子***,并且每个子***可包括多个元件。另外,车辆100的每个子***和元件可以通过有线或者无线互连。
示例性地,行进***110可以包括用于向车辆100提供动力运动的组件。在一个实施例中,行进***110可以包括引擎111、传动装置112、能量源113和车轮(轮胎)114。其中,引擎111可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合;例如,汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎111可以将能量源113转换成机械能量。
示例性地,能量源113可以包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源113也可以为车辆100的其他***提供能量。
示例性地,传动装置112可以包括变速箱、差速器和驱动轴;其中,传动装置112可以将来自引擎111的机械动力传送到车轮114。
在一个实施例中,传动装置112还可以包括其他器件,比如离合器。其中,驱动轴可以包括可耦合到一个或多个车轮114的一个或多个轴。
示例性地,传感***120可以包括感测关于车辆100周边的环境的信息的若干个传感器。
传感器***120可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器***120可包括定位***121、惯性测量单元(inertial measurement unit,IMU)122、雷达123、激光测距仪124以及相机125。定位***121可以是全球定位***(globalpositioning system,GPS),也可以是北斗***或者其他定位***。
传感器***120还可包括车辆100的内部***的传感器,例如车内空气质量监测器、燃油量表、机油温度表等。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测是车辆100的安全操作的关键功能。
定位***121可用于估计车辆100的地理位置。IMU 122用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个示中,IMU 122可以是加速度计和陀螺仪的组合。
雷达123可利用无线电信号来感测车辆100的周边环境内的物体。在一些示例中,除了感测物体以外,雷达123还可用于感测物体的速度和/或前进方向。
激光测距仪124可利用激光来感测车辆100所位于的环境中的物体。在一些示例中,激光测距仪124可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他***组件。
相机125可用于捕捉车辆100的周边环境的多个图像。相机125可以是静态相机或视频相机。
如图1所示,控制***130用于控制车辆100及其组件。控制***130可以包括各种元件,比如可以包括转向***131、油门132、制动单元133、计算机视觉***134、路线控制***135和障碍规避***136。
示例性地,转向***131可以操作来调整车辆100的前进方向。例如,在一个实施例中可以为方向盘***。油门132可以用于控制引擎111的操作速度并进而控制车辆100的速度。
示例性地,制动单元133可以用于控制车辆100减速;制动单元133可以使用摩擦力来减慢车轮114。在其他实施例中,制动单元133可以将车轮114的动能转换为电流。制动单元133也可以采取其他形式来减慢车轮114转速从而控制车辆100的速度。
计算机视觉***134可以操作来处理和分析由相机125捕捉的图像以便识别车辆100周边环境中的物体和/或特征。上述物体和/或特征可以包括交通信号、道路边界和障碍物。计算机视觉***134可以使用物体识别算法、运动中恢复结构(structure frommotion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉***134可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
示例性地,路线控制***135可以用于确定车辆100的行驶路线。在一些实施例中,路线控制***135可结合来自传感器、GPS和一个或多个预定地图的数据以为车辆100确定行驶路线。
障碍规避***136可以用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
车辆100可以通过***设备140与外部传感器、其他车辆、其他计算机***或用户之间进行交互;其中,***设备140可包括无线通信***141、车载电脑142、麦克风143和/或扬声器144。
在一些实施例中,***设备140可以提供车辆100与用户接口170交互的手段。例如,车载电脑142可以向车辆100的用户提供信息。用户接口116还可操作车载电脑142来接收用户的输入;车载电脑142可以通过触摸屏进行操作。在其他情况中,***设备140可以提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风143可以从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器144可以向车辆100的用户输出音频。
无线通信***141可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信***141可以使用3G蜂窝通信;例如,码分多址(code division multipleaccess,CDMA)、EVD0、全球移动通信***(global system for mobile communications,GSM)/通用分组无线服务(general packet radio service,GPRS),或者4G蜂窝通信,例如长期演进(long term evolution,LTE);或者,5G蜂窝通信。无线通信***141可以利用无线上网(WiFi)与无线局域网(wireless local area network,WLAN)通信。
在一些实施例中,无线通信***141可以利用红外链路、蓝牙或者紫蜂协议(ZigBee)与设备直接通信;其他无线协议,例如各种车辆通信***,例如,无线通信***141可以包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源160可以向车辆100的各种组件提供电力。在一个实施例中,电源160可以为可再充电锂离子电池或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源160和能量源113可一起实现,例如一些全电动车中那样。
示例性地,车辆100的部分或所有功能可以受计算机***150控制,其中,计算机***150可以包括至少一个处理器151,处理器151执行存储在例如存储器152中的非暂态计算机可读介质中的指令153。计算机***150还可以是采用分布式方式控制车辆100的个体组件或子***的多个计算设备。
例如,处理器151可以是任何常规的处理器,诸如商业可获得的中央处理器(central processing unit,CPU)。
可选地,该处理器可以是诸如专用集成电路(application specific integratedcircuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图2功能性地图示了处理器、存储器、和在相同块中的计算机的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,存储器152可包含指令153(例如,程序逻辑),指令153可以被处理器151执行来执行车辆100的各种功能,包括以上描述的那些功能。存储器152也可包含额外的指令,比如包括向行进***110、传感***120、控制***130和***设备140中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
示例性地,除了指令153以外,存储器152还可存储数据,例如,道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机***150使用。
用户接口170可以用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口170可以包括在***设备140的集合内的一个或多个输入/输出设备,例如,无线通信***141、车载电脑142、麦克风143和扬声器144。
在本申请的实施例中,计算机***150可以基于从各种子***(例如,行进***110、传感***120和控制***130)以及从用户接口170接收的输入来控制车辆100的功能。例如,计算机***150可以利用控制***130的输出以便控制制动单元133来避免由传感***120和障碍规避***136检测到的障碍物,或者计算机***150可以利用控制***130的输出以便控制制动单元133来按照指定的轨迹行驶。在一些实施例中,计算机***150可操作来对车辆100及其子***的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器152可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
在一些实现方式中,车辆100上可以部署有自动驾驶***,并且在车辆100的行驶过程中,车辆100的传感器***120采集到数据之后,该自动驾驶***可以根据传感器***120采集的数据以及车辆100周围的一个或多个车辆的传感器***采集的数据预测得到车辆100的轨迹信息,同时,车辆100的计算机***150可以基于该轨迹信息调用控制***130来控制车辆100按照该轨迹信息所指示的轨迹行驶。可选地,自动驾驶***预测轨迹信息时,还可以使用地图数据。
在一些实现方式中,车辆100上可以部署有使用图9所示的方法检测得到的自动驾驶***,并且在车辆100的行驶过程中,车辆100的传感器***120采集到数据之后,该自动驾驶***可以根据传感器***120采集的数据预测得到车辆100的轨迹信息,同时,车辆的计算机***150可以基于该轨迹信息调用控制***130来控制车辆100按照该轨迹信息所指示的轨迹行驶。
可选地,该自动驾驶***在预测轨迹信息时,还可以使用车辆100周围的一个或多个车辆的传感器***采集的数据。
作为一个示例,车辆100可以执行图10所示的方法来控制自身的行驶。
在一些实现方式中,车辆100上可以部署有待检测的自动驾驶***和自动驾驶***的检测***。在人类驾驶员驾驶车辆100行驶的过程中,车辆100的传感器***120采集到数据之后,该待检测的自动驾驶***可以根据传感器***120采集的数据和车辆100周围的一个或多个车辆的传感器***采集的数据预测得到车辆100的轨迹信息。然后,该检测***可以基于该检测自动驾驶***预测得到的轨迹信息和车辆100的实际轨迹信息作比较,判断该待检测自动驾驶***的失效案例。进一步地,在该待检测自动驾驶***失效的情况下,该检测***可以判断该待检测自动驾驶***的失效原因。
作为一个示例,车辆100上的检测***可以执行图9中所示的相关操作,以实现自动驾驶***的检测。
在一些实现方式中,车辆100上可以部署有待检测的自动驾驶***、可信的自动驾驶***和自动驾驶***的检测***。在人类驾驶员驾驶车辆100行驶的过程中,车辆100的传感器***120采集到数据之后,该待检测的自动驾驶***可以根据传感器***120采集的数据和车辆100周围的一个或多个车辆的传感器***采集的数据预测得到车辆100的一个轨迹信息,可信的自动驾驶***也可以根据传感器***120采集的数据预测得到车辆100的另一个轨迹信息。然后,该检测***可以基于该检测自动驾驶***预测得到的轨迹信息和可信的自动驾驶***预测得到的轨迹信息作比较,判断该待检测自动驾驶***是否失效。进一步地,在该待检测自动驾驶***失效的情况下,该检测***可以判断该待检测自动驾驶***的失效原因。
作为一个示例,车辆100上的检测***可以执行图9中所示的相关操作,以实现自动驾驶***的检测。
在一些实现方式中,车辆100上可以部署有待检测的自动驾驶***、可信的自动驾驶***和自动驾驶***的检测***。在可信自动驾驶***控制车辆100行驶的过程中,车辆100的传感器***120采集到数据之后,该待检测的自动驾驶***可以根据传感器***120和车辆100周围的一个或多个车辆采集的数据预测得到车辆100的一个轨迹信息,可信的自动驾驶***也可以根据传感器***120采集的数据预测得到车辆100的另一个轨迹信息。然后,该检测***可以基于该检测自动驾驶***预测得到的轨迹信息和可信的自动驾驶***预测得到的轨迹信息作比较,判断该待检测自动驾驶***是否失效。进一步地,在该待检测自动驾驶***失效的情况下,该检测***可以判断该待检测自动驾驶***的失效原因。
作为一个示例,车辆100上的检测***可以执行图9中所示的相关操作,以实现自动驾驶***的检测。
图2为本申请一个实施例的计算机***的示意性流程图。例如,图1中的计算机***150的一种示例性结构可以如图2所示。
计算机***201可以包括处理器203,处理器203和***总线205耦合。处理器203可以是一个或者多个处理器,其中,每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)207,显示适配器可以驱动显示器209,显示器209和***总线205耦合。***总线205可以通过总线桥211和输入输出(I/O)总线213耦合,I/O接口215和I/O总线耦合。I/O接口215和多种I/O设备进行通信,比如,输入设备217(如:键盘,鼠标,触摸屏等),媒体盘(media tray)221(例如,CD-ROM,多媒体接口等)。收发器223可以发送和/或接受无线电通信信号,摄像头255可以捕捉景田和动态数字视频图像。其中,和I/O接口215相连接的接口可以是USB端口225。
其中,处理器203可以是任何传统处理器,比如,精简指令集计算(reducedinstruction set computer,RISC)处理器、复杂指令集计算(complex instruction setcomputer,CISC)处理器或上述的组合。
可选地,处理器203可以是诸如专用集成电路(ASIC)的专用装置;处理器203可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
可选地,在本申请所述的各种实施例中,计算机***201可位于远离车辆的地方,并且可与车辆无线通信。在其它方面,本申请所述的一些过程在设置在车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
计算机***201可以通过网络接口229和软件部署服务器249通信。网络接口229可以是硬件网络接口,比如,网卡。网络227可以是外部网络,比如,因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,VPN)。可选地,网络227还可以是无线网络,比如WiFi网络,蜂窝网络等。
硬盘驱动接口和***总线205耦合,硬件驱动器接口231可以与硬盘驱动器233相连接,***内存235和***总线205耦合。运行在***内存235的数据可以包括操作***237和应用程序243。其中,操作***237可以包括解析器(shell)239和内核(kernel)241。shell239是介于使用者和操作***之内核间的一个接口。
shell可以是操作***最外面的一层;shell可以管理使用者与操作***之间的交互,比如,等待使用者的输入,向操作***解释使用者的输入,并且处理各种各样的操作***的输出结果。内核241可以由操作***中用于管理存储器、文件、外设和***资源的那些部分组成。直接与硬件交互,操作***内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等。
应用程序243包括控制车辆行驶相关的程序,比如,管理车辆和路上障碍物交互的程序,控制车辆路线或者速度的自动驾驶程序,控制车辆和路上其他车辆交互的程序,基于传感器采集的数据为车辆规划轨迹的程序,根据规划的轨迹控制车辆行驶,将自动驾驶程序的检测程序,等等。
应用程序243也存在于软件部署服务器249的***上。在一个实施例中,在需要执行驾驶相关程序247时,计算机***201可以从软件部署服务器249下载应用程序。
传感器253可以与计算机***201关联,传感器253可以用于探测计算机201周围的环境。
举例来说,传感器253可以探测路上的车道,比如可以探测到车道线,并能够在车辆移动(如正在行驶)过程中实时跟踪到车辆前方一定范围内的车道线变化。又例如,传感器253可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。再如,传感器253可以探测其所属车辆的速度、加速度、方向盘转角等等状态信息。
可选地,传感器253可以是摄像头,红外线感应器,化学检测器,麦克风等。
在一些实现方式中,驾驶相关程序247中可以包括自动驾驶***的相关程序,并且在计算机***201所属的车辆的行驶过程中,传感器253采集到数据之后,该自动驾驶***的相关程序可以根据传感器253采集的数据以及该车辆周围的一个或多个车辆的传感器***采集的数据预测得到该车辆的轨迹信息。计算机***201可以基于该轨迹信息调用其他驾驶相关程序来控制该车辆按照该轨迹信息所指示的轨迹行驶。可选地,该自动驾驶***的相关程序预测轨迹信息时,还可以使用地图数据。
在一些实现方式中,驾驶相关程序247中可以包括使用图9所示的方法检测得到的自动驾驶***的相关程序,并且在计算机***201所属的车辆的行驶过程中,传感器253采集到数据之后,该自动驾驶***的相关程序可以根据传感器253采集的数据预测得到该车辆的轨迹信息。计算机***201可以基于该轨迹信息控制其所属车辆按照该轨迹信息所指示的轨迹行驶。
可选地,该自动驾驶***的相关程序在预测轨迹信息时,还可以使用车辆周围的一个或多个车辆的传感器***采集的数据。
作为一个示例,计算机***201可以执行图10所示的方法来控制自身的行驶。
在一些实现方式中,驾驶相关程序247中可以包括待检测自动驾驶***的程序和用于检测该自动驾驶***的程序。在人类驾驶员驾驶计算机***201所属的车辆行驶的过程中,传感器253采集到数据之后,该待检测自动驾驶***可以根据传感器253和其他车辆的传感器采集的数据预测得到该车辆的轨迹信息。然后,该用于检测自动驾驶***的程序可以基于该检测自动驾驶***预测得到的轨迹信息和该车辆的实际轨迹信息作比较,判断该待检测自动驾驶***是否失效。进一步地,在该待检测自动驾驶***失效的情况下,该检测程序可以判断该待检测自动驾驶***的失效原因。
作为一个示例,该检测程序可以执行图9中所示的相关操作,以实现自动驾驶***的检测。
在一些实现方式中,驾驶相关程序247中可以包括待检测自动驾驶***、可信自动驾驶***和自动驾驶***的检测***。在人类驾驶员驾驶计算机***201所属车辆行驶的过程中,传感器***253采集到数据之后,该待检测自动驾驶***可以根据传感器253和其他车辆的传感器采集的数据预测得到该车辆的一个轨迹信息,可信自动驾驶***也可以根据传感器253和其他传感器采集的数据预测得到该车辆的另一个轨迹信息。然后,该检测***可以基于该检测自动驾驶***预测得到的轨迹信息和可信自动驾驶***预测得到的轨迹信息作比较,判断该待检测自动驾驶***是否失效。进一步地,在该待检测自动驾驶***失效的情况下,该检测***可以判断该待检测自动驾驶***的失效原因。
作为一个示例,该检测***可以执行图9中所示的相关操作,以实现自动驾驶***的检测。
在一些实现方式中,驾驶相关程序247中可以包括待检测自动驾驶***、可信自动驾驶***和自动驾驶***的检测***。在可信自动驾驶***控制计算机***201所属车辆行驶的过程中,传感器253采集到数据之后,该待检测自动驾驶***可以根据传感器253和其他车辆的传感器采集的数据预测得到该车辆的一个轨迹信息,可信的自动驾驶***也可以根据传感器***120和其他车辆的传感器采集的数据预测得到车辆100的另一个轨迹信息。然后,该检测***可以基于该检测自动驾驶***预测得到的轨迹信息和可信的自动驾驶***预测得到的轨迹信息作比较,判断该待检测自动驾驶***是否失效。进一步地,在该待检测自动驾驶***失效的情况下,该检测***可以判断该待检测自动驾驶***的失效原因。
作为一个示例,车辆100上的检测***可以执行图9中所示的相关操作,以实现自动驾驶***的检测。
图3是本申请一个实施例的自动驾驶***的示例性结构框图。如图3所示,自动驾驶***300包括感知模块310、融合模块320和规控模块330。
感知模块310可以执行特定的感知算法,基于传感设备采集的数据,对车辆周围进行环境感知。传感设备可以包括摄像头、毫米波雷达、激光雷达以及超声波雷达等传感器。
环境感知通常包括感知路面、静态物体和动态物体等。其中,对于动态物体,还要对其轨迹进行追踪,并根据追踪结果,预测该物体下一步的轨迹(位置)。
在一些示例中,感知模块310可以使用深度学习算法来识别车辆周边环境中的物体。
例如,感知模块310中可以包括神经网络,该神经网络可以是通用的分类网络,也可以是自行设计的分类网络。基于训练数据对该神经网络进行训练可以得到该神经网络的参数,该参数也可以称为该神经网络的权重。
例如,训练数据可以包括路标、行人、建筑物或车辆等信息的图像数据以及这些图像数据的标注数据,该标注数据用于标注该图像中的目标物所属的类别。基于该训练数据对神经网络进行训练,得到参数之后,该神经网络即可以用于图像分类。
例如,在实际应用场景中,向该神经网络输入车辆的摄像头采集的图像数据之后,该神经网络基于训练得到的参数,对该图像中的目标物进行分类,从而可以得到该图像中的目标物所属的类别以及该目标物属于该类别的概率,或者说可以识别出智能车周边环境中的目标物所属的类别以及属于对应类别的概率。
融合模块320可以控制传感器,组合处理各传感器接收到的数据信息,帮助预测交通参与者状态,输出交通环境信息等。
规控模块330可以根据融合模块320输出的信息计算车辆的安全空间,即对车辆进行轨迹规划。例如,规控模块330可以结合融合模块320输出的信息,规划智能车的安全路径,该安全路径也可以称为智能车的预测轨迹。
在一些示例中,自动驾驶***300可以用于执行图10所示的方法。在另一些示例中,自动驾驶***300可以是使用图9所示的方法检测得到的自动驾驶***。
图4示出了车辆410和云服务中心420的示例。云服务中心410可以经诸如无线通信网络的网络402,从其操作环境内的车辆410接收数据(例如传感器数据等)。
在一个示例中,云服务中心420根据接收到的数据,运行其存储的车辆驾驶相关程序,实现图10中所示的方法,控制车辆410的行驶。
在一个示例中,云服务中心420根据接收到的数据,运行其存储的车辆驾驶相关程序,实现图9中所示的方法,对车辆410的自动驾驶***进行检测,以便于对该自动驾驶***优化。
优化得到的自动驾驶***可以发送给车辆410。车辆410接收到该自动驾驶***之后,可以根据传感器采集的数据,执行图10中所示的方法。
或者,优化得到的自动驾驶***可以部署在云服务中心上。车辆410通过网络402将采集的数据发送给云服务中心420。云服务中心420可以执行图10中的方法,以控制车辆410的行驶。
网络402可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备,诸如调制解调器和无线接口。
在一个示例中,云服务中心420可以包括具有多个计算机的服务器,例如负载均衡服务器群。这些服务器可以被类似于计算机***201或计算机***150的配置,具有处理器、存储器、指令等。
图5为本申请一个实施例的虚拟车运行网络***的构建方法的示意性流程图。
S510,获取真实车辆的传感器数据。
其中,可以获取一个或多个真实车辆的传感器数据。传感器数据是指传感器采集的数据。通常来说,这多个真实车辆位于同一驾驶场景中,或者可以说这多个真实车辆中任意两个车辆之间的距离不大于预设的距离阈值。
本实施例中,真实车辆简称为实车。
S520,根据所述真实车辆的传感器数据构建虚拟车运行网络***,该虚拟车运行网络***中包括一个或多个虚拟车。其中,虚拟车又可以称为影子车。
在一些示例中,获取到真实车辆的传感器数据之后,可以根据这些传感器数据构建得到虚拟的驾驶场景,例如构建得到该虚拟驾驶场景的地图数据,并在该虚拟驾驶场景中生成一个或多个影子车。其中,每个影子车可以放在虚拟驾驶场景范围内的任意位置,例如可以放在与真实车辆相对应的位置上,并将虚拟车的相关数据与该虚拟车对应的实车的相关数据同步。该相关数据可以包括速度、加速度、位置、转向角等等。
可以理解的是,影子车的相关数据也可以全部或部分虚拟生成的,即不是通过与实车同步得到的。
可选地,每个影子车的生命周期可以由真实驾驶场景中采集的传感器数据决定。例如,当根据传感器数据判断出影子车对应的实车已驶出该真实驾驶场景之后,可以删除该影子车。又如,当根据传感器数据判断出真实驾驶场景中出现新的实车的情况下,可以新增该实车对应的影子车。
可以理解的是,也可以是随机生成的影子车。例如,预设虚拟驾驶场景中要保持M辆影子车并行的情况下,若该虚拟驾驶场景中的虚拟车少于了M辆,则可以随机挑选位置生成新的影子车,M为正整数。
可选地,同一个影子车可以使用同一个软件栈独立的处理传感器数据,从而得到预测得到轨迹信息。所述软件栈可以理解为神经网络模型。
可选地,影子车的规控决策(例如轨迹信息)可以与其对应的真实车辆的规控决策(例如轨迹信息)实时保持一致,这类影子车称为第一类影子车。
可选地,影子车的规控决策(例如轨迹信息)可以与其对应的真实车辆的规控决策(例如轨迹信息)实时保持一致,但是该影子车具有决策预测能力,只是其决策不用于控制其行驶行为,这类影子车称为第二类影子车。
可选地,影子车可以具有决策预测能力,并且该决策预测能力预测的轨迹信息实际用于指导自己的行驶行为,这类影子车可以称为第三类影子车。本实施例中的决策预测能力是指可以运行规控算法,得到规控输出的轨迹。
可选地,本实施例中的虚拟车运行网络***中可以并行运行多个影子车,并且可以根据获取的传感器数据和地图数据选择添加或者删减影子车,以及选择添加或删减的影子车的位置或者其他特性。
本实施例中的虚拟车运行网络***中并行运行多个影子车的情况下,这多个影子车可以称为一个影子车集群。
可选地,每个影子车可以获知或者不获知其他影子车的存在。影子车获知其他影子车存在的情况,与不获知其他影子车的存在的情况,对该影子车而言,可以认为是两个不同的驾驶场景,根据这两种情况下的数据推测的轨迹信息也就可以认为是不同的驾驶场景下的轨迹信息。
也就是说,本申请实施例的虚拟车运行网络***根据同一真实驾驶场景下的一个或多个车辆的传感器数据和该真实驾驶场景的地图数据,可以获取到更多数量的虚拟驾驶场景,从而可以采集到车辆在更多驾驶场景下的轨迹信息。
在训练用于基于传感器数据和地图数据预测轨迹信息的自动驾驶***时,使用如图4所示的方法构建虚拟车运行网络***,可以采集到更多更丰富的驾驶场景和对应的轨迹信息,即可以采集到更多更丰富的训练数据,从而有助于提高训练后的自动驾驶***的性能。
本申请的虚拟车运行网络***构建的虚拟驾驶场景的一个示例如图6所示。其中,白色车辆表示该虚拟驾驶场景对应的真实场景中的实车;带斜线的车辆表示虚拟车。
其中,1号车为第一类影子车,即没有决策预测能力,且行驶行为与对应的真实车辆的行驶行为完全一致;2号车为第二类影子车,即有决策预测能力,但行驶行为与对应的真实车辆的行驶行为完全一致;3号车和4号车为第三类影子车,即既有决策预测能力,且行驶行为由自己的自动驾驶***输出的轨迹信息决定。
图7为本申请一个实施例的模型训练方法的示意图。
在图7中,数据采集设备760用于采集训练数据。例如,数据采集设备760可以从图4所示的方法构建的虚拟车运行网络***中采集传感器数据和影子车的轨迹信息,根据该传感器数据和轨迹信息获取训练数据。
在采集到训练数据之后,数据采集设备760将这些训练数据存入数据库730,训练设备720基于数据库730中维护的训练数据训练得到自动驾驶***701。
需要说明的是,在实际的应用中,所述数据库730中维护的训练数据不一定都来自于数据采集设备760的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备720也不一定完全基于数据库730维护的训练数据进行模型701的训练,也有可能从云端或其他地方获取训练数据进行型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备720训练得到的模型201可以应用于不同的***或设备中,如应用于图7所示的执行设备710,所述执行设备710可以是车辆,还可以是服务器或者云端等。在图7中,执行设备710配置输入/输出(input/output,I/O)接口712,用于与外部设备进行数据交互,用户可以通过客户设备740向I/O接口712输入数据,所述输入数据在本申请实施例中的一种示例可以包括车辆的传感器采集的数据。
预处理模块713用于根据I/O接口712接收到的输入数据(如传感器数据)进行预处理,在本申请实施例中,也可以没有预处理模块713。
在执行设备710对输入数据进行预处理,或者在执行设备710的处理模块711执行计算等相关的处理过程中,执行设备710可以调用数据存储***750中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储***750中。
最后,I/O接口212将处理结果返回给客户设备740,从而提供给用户。
值得注意的是,图7仅是本申请实施例提供的一种训练模型的示意架构图,图7中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图7中,数据存储***750相对执行设备710是外部存储器,在其它情况下,也可以将数据存储***750置于执行设备710中。
在一个示例中,模型701可以是自动驾驶***,相应地,训练数据中可以包括车辆的传感器在驾驶场景中采集的数据和车辆在该驾驶场景中的轨迹信息,例如该传感器数据和轨迹信息可以是从使用图4所示的方法构建的虚拟车运行网络***中采集的;执行设备向客户设备反馈的可以是自动驾驶***预测的轨迹信息。
在另一个示例中,模型701可以是自动驾驶***的错误定位***,相应地,训练数据可以包括车辆的传感器在驾驶场景中采集的数据、车辆在该驾驶场景中的轨迹信息,车辆在变换数据对应的驾驶场景中行驶的轨迹信息以及模拟的自动驾驶***的失效原因,其中,该传感器数据和轨迹信息可以是从使用图4所示的方法构建的虚拟车运行网络***中采集的,变换数据是基于该模拟的失效原因从该传感器数据变换得到的数据。执行设备向客户设备反馈的是自动驾驶***的失效原因。
下面介绍本申请训练自动驾驶***的一种示例性方法。
本实施例中的自动驾驶***可以是神经网络,进一步地,可以是深度神经网络。本实施例中的自动驾驶***的一种示例为卷积神经网络。
该方法中,针对获取的训练数据中的轨迹信息,进行聚类处理。例如,可以使用K均值聚类算法、层次聚类算法、基于密度的聚类算法、高斯混合模型聚类算法或者均值漂移聚类算法中的任意一种对训练数据中的轨迹信息进行聚类处理,得到多类轨迹,以及得到每类轨迹的中心轨迹和概率分布。
聚类得到的轨迹类的一种示例图如图8所示。图8中,在四个车道上总共有编号从1至8的八辆车,该八辆车上的传感设备分别采集数据,并且可以将该八辆车上的传感设备分别采集的数据组合在一起,从而可以得到该驾驶场景中更宽视角的道路信息。
例如,在图8所示的驾驶场景下,对车辆8在该驾驶场景下的四条轨迹进行聚类,可以得到两类轨迹,其中,长虚线表示第一类轨迹为,短虚线表示第二类轨迹。
得到聚类结果之后,可以获取训练数据中每个轨迹信息所属的轨迹类的中心轨迹和概率分布,并将该中心轨迹和概率分布作为该轨迹信息对应的传感器数据的标签数据。
在训练过程中,可以将训练数据中每个传感器数据输入待训练的自动驾驶***,自动驾驶***预测得到轨迹信息之后,将该预测轨迹信息与各个轨迹类的中心轨迹信息相比较,计算预测轨迹信息与各个中心轨迹信息之间的距离,并根据该距离判断该预测轨迹信息属于各个轨迹类的概率,从而根据判断结构训练自动驾驶***,例如调整自动驾驶***的参数,直到结束条件得到满足。预测轨迹信息属于各个轨迹类的概率,也可以理解为预测轨迹信息与各个中心轨迹信息的相似度,或者可以理解为将各个中心轨迹信息作为预测轨迹信息的概率。
训练后的自动驾驶***基于传感器数据,可以输出传感器数据对应的轨迹信息为各个中心轨迹信息的概率。在一种示例中,可以将最大概率对应的中心轨迹信息作为预测轨迹信息。
结束条件的一种示例为训练数据中一定比例的传感器数据对应的预测轨迹信息与该传感器数据对应的中心轨迹信息属于同一个轨迹类。例如,假设比例阈值为98%,则自动驾驶***基于98%的传感器数据预测的轨迹信息与对应的中心轨迹信息属于同一个轨迹类时,说明该自动驾驶***是可靠的,可以停止训练。
其中,计算预测的轨迹信息和中心轨迹信息之间的距离时,在一种可能的实现方式中,可以在预测轨迹信息中取M个轨迹点,并在中心轨迹信息中取M个轨迹点,在标签轨迹信息中取的M个轨迹点与在预测轨迹信息中取的M个轨迹点一一对应,M为正整数;然后计算预测轨迹信息中的M个点中的每个点与中心轨迹信息中的M个点中的对应点的之间的距离,最终可以得到M个距离;根据这M个距离确定预测轨迹信息与中心轨迹信息之间的距离。
根据这M个距离确定预测轨迹信息与中心轨迹信息之间的距离时,在一种可能的实现方式中,可以计算这M个距离的平均距离,并将该平均距离作为预测轨迹信息与中心轨迹信息之间的距离。
根据这M个距离确定预测轨迹信息与中心轨迹信息的距离时,在另一种可能的实现方式中,可以找出这M个距离中的最大距离,并根据该最大距离作为预测轨迹信息与中心轨迹信息之间的距离。
根据这M个距离确定预测轨迹信息与中心轨迹信息之间的距离时,在又一种可能的实现方式中,可以计算这M个距离的和,并将该和作为预测轨迹信息与中心轨迹信息之间的距离。
在轨迹信息中取点时,可以从指定位置开始,按照固定的距离取点,即每个一段固定的距离,在轨迹信息中取一个点,直到取得预定数量的点,或者直到取点位置超出轨迹信息的范围。该固定的距离可以是预先设置的。
在轨迹信息中取点时,也可以参考轨迹的形状来进行。例如,在轨迹的直线形状部分,取点距离可以适当大一些,在轨迹的弧线形状部分,取点距离可以适当小一些。
可以理解的是,通常来说,预测轨迹信息中的取点距离应与中心轨迹信息中的取点距离相对应。例如,预测轨迹信息的第三个点与第二个点之间的距离,应与在中心轨迹信息中的第三个点与第二个点之间的距离相同。
本申请实施例的训练方法中,可选地,将每个训练数据输入自动驾驶***之前,可以对每个训练数据包括的数据进行分类;并将不同类的数据输入到自动驾驶***不同的输入通道。例如,将传感器数据中的数据分为车道线标记数据、速度数据、道路边界数据和/或障碍物数据等,其中,障碍物也可以称为对象,可以包括建筑物、行人、其他车辆等。
本申请实施例的训练方法中,可选地,可以基于每个训练数据,生成该训练数据对应的驾驶场景的二维顶视图,该二维顶视图可以包括多个语义层,每个语义层对应前述对训练数据进行分类得到的多个类中的一个类中的数据。例如该二维顶视图可以包括车道线标记层,速度层,道路边界层,障碍物层等等。
在一些方式中,该二维顶视图可以剪裁或者旋转。该二维顶视图中可以显示该驾驶场景中的可移动物体以及该可移动物体的轨迹、方向等等。
本申请实施例的训练方法中,可选地,可以结合强化学习和逆强化学习的方式加强第一神经网络的性能。例如,可以通过人们先验知识设定一系列规则,第一神经网络预测出符合这些规则的轨迹数据时,给予第一神经网络较高的奖励值,否则可以给予较低的奖励值,该奖励值用于调整第一神经网络的权重。这些规则可以包括但不限于:无撞击,较快移动速度,没有压实线,没有走之字形等。该方式训练得到的第一神经网络能够预测得到更安全、效率更高的轨迹。
下面介绍本申请训练自动驾驶***的错误定位***的一种示例性方法。
本实施例中的错误定位***可以是神经网络,进一步地,可以是深度神经网络。本实施例中的自动驾驶***的一种示例为卷积神经网络。
训练错误定位***时,首先获取训练集,该训练集中可以包括车辆在驾驶场景中采集的传感器数据和车辆在该驾驶场景中的轨迹信息,例如该训练集中可以包括训练自动驾驶***时的训练数据。
另外,可以针对自动驾驶***预设错误,例如预设自动驾驶***的感知模块或融合模块发生错误,并基于该错误对采集的传感器数据进行变换,得到变换数据,然后基于该变换数据预测车辆的轨迹信息,例如自动驾驶***基于该变换数据预测车辆的轨迹信息。这种情况下,训练集中还可以包括基于变换数据预测的轨迹信息和预设的错误原因。
获取到训练集后,可以使用该训练集对错误定位***进行训练,直到结束条件得到满足,例如训练次数达到最大次数,训练时长达到最大时长,等等。
训练后的错误定位***可以基于传感器数据、车辆在该传感器数据对应的驾驶场景中行驶时的合理轨迹信息以及待检测自动驾驶***基于该传感器数据预测的轨迹信息,输出待检测自动驾驶***的失效原因。该失效原因可以认为是导致该待检测自动驾驶***基于该传感器数据预测得到的轨迹信息不是该合理轨迹信息的原因。
本实施例中,可以对每个传感器数据进行分类,例如,将传感器数据中的数据分为车道线标记数据、速度数据、道路边界数据和/或障碍物数据等,其中,障碍物也可以称为对象,可以包括建筑物、行人、其他车辆等;同样,对变换数据进行分类,分类方式与前述传感器数据的分类方式相同。
然后,可以生成该传感器数据的二维顶视图,该二维顶视图可以包括多个语义层,每个语义层对应前述多个分类中的一个分类中的数据。例如该二维顶视图可以包括车道线标记层,速度层,道路边界层,障碍物层等等。
在一些方式中,该二维顶视图可以剪裁或者旋转。该二维顶视图中可以显示可移动物体以及该可移动物体的轨迹、方向等等。
接下来,可以选择修改传感器数据中一个或多个分类所对应的数据,得到变换数据,并记录下该分类对应的是哪个层,该层的位置可以作为标签数据。并且,基于该变换数据预测得到轨迹信息,该轨迹信息可以认为是不合理轨迹信息。
训练错误定位***时,错误定位***基于传感器数据、该传感器数据对应的合理轨迹信息和不合理轨迹信息之后,可以预测该变换数据与传感器数据在哪些层上的数据不同。这样,可以基于错误定位***预测的层和标签数据记录的层对错误定位***进行训练。
训练后的错误定位***,基于传感器数据、该传感器数据对应的合理轨迹信息和待检测自动驾驶***基于该传感器数据预测的轨迹信息,可以推测导致该检测自动驾驶***失效的数据层,并根据该数据层的位置推测该检测自动驾驶***的失效原因。
其中,车道线标记层、速度层、道路边界层或障碍物层的发生错误,都可以认为是待检测自动驾驶***的感知模块发生错误,若不是感知模块或融合模块发生错误,则可以认为是规控模块发生错误。
换种角度来说,就是通过在传感器数据中添加新的信息或者移出现有信息来模拟自动驾驶***的错误。例如,通过在传感器数据中添加本不存在的车辆信息来模拟感知模块的多检问题。又如,通过移出道路上的部分车道线来模拟地图中因为某些原因造成的车道线输出不完整的问题。
这些添加的信息或移出的信息可以体现在顶视图中。例如,这些信息的变化会存储在相应的语义层中,并且会编码生成导致该语音层发生变换的错误位置的语义信息。
在一些示例中错误定位***输出的是含有错误信息的多语义层顶视图。对比错误定位***输出的顶视图与输入该错误定位***的顶视图,可以判断待检测自动驾驶***是否发生了感知模块的错误、融合模块的错误或者地图数据的错误。如果这些都没有错误,可以初步确定是规控模块发生了错误。其中,地图数据是指能够用于指示驾驶场景的环境信息的数据。
图9为本申请一个实施例的检测自动驾驶***的方法的示意性流程图。该方法包括S910至S930。
S910,获取第一数据,所述第一数据中包括目标驾驶场景中的多个车辆的传感器采集的数据。
例如,可以从使用图5所示的方法构建的虚拟车运动网络***中获取第一数据。
S920,使用待检测自动驾驶***,根据所述第一数据,获取目标车辆在所述目标驾驶场景中行驶时的第一轨迹信息。
该待检测自动驾驶***可以是使用图7所示的方法训练得到的自动驾驶***。该目标车辆可以是真实车辆,也可以是虚拟车辆。例如,该目标车辆可以是图6所示的驾驶场景中的实车,也可以是其中的虚拟车。
S930,根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶***在所述目标驾驶场景中行驶时是否失效。
该方法中,待检测自动驾驶***推测目标车辆在目标驾驶场景中行驶时的轨迹所使用的传感器数据是多个车辆采集的。这与待检测自动驾驶***基于一个车辆采集的传感器数据推测目标车辆在目标驾驶场景中行驶时的轨迹相比,由于多个车辆上的传感器能够采集到目标驾驶场景中更多的数据,即可以获得目标驾驶场景的更多信息,因此,待检测自动驾驶***推测的轨迹信息更准确。基于该更准确的轨迹信息对该待检测自动驾驶***进行失效检测的结果也就会更准确,最终,可以提高应用该待检测自动驾驶***的车辆的安全性。
本实施例中,可选地,所述待检测自动驾驶***在所述目标驾驶场景中行驶时失效的情况下,所述方法还可以包括:S940,使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶***的失效原因。
其中的神经网络可以是使用图7所示的方法训练得到的错误定位***。
该实现方式中,可以通过训练过的神经网络来定位待检测自动驾驶***失效的原因,即定位是由于待检测自动驾驶***中哪个或哪些模块发生错误才导致的失效。这有助于对该待检测自动驾驶***进行改进,以避免该待检测自动驾驶***再出现该失效案例,从而提高应用该自动驾驶***的车辆的安全性。
可选地,待检测自动驾驶***的失效原因可以包括以下一种或多种:所述待检测自动驾驶***的决策规控模块发生错误,所述待检测自动驾驶***的感知模块发生错误,所述待检测自动驾驶***的融合模块发生错误。
本实施例中,该第二轨迹信息可以是人类驾驶员驾驶真实车辆行驶时的轨迹信息,也可以是其他可信自动驾驶***基于第一数据输出的轨迹信息。
与将人工驾驶员驾驶车辆行驶时的轨迹信息作为第二轨迹信息相比,将可信自动驾驶***基于第一数据推测的轨迹信息作为第二轨迹信息,更便于采集到轨迹信息,且该自动驾驶***输出的轨迹信息与待检测自动驾驶***输出的轨迹信息之间的格式更容易达到一致,从而可以提高检测效率。
在第二轨迹信息为可信自动驾驶***输出的轨迹信息的情况下,该可信自动驾驶***为经过训练得到的自动驾驶***,所述训练包括基于深度学习方法的训练。例如,该可信自动驾驶***可以是使用图7所示的方法训练得到的自动驾驶***。
因为经过深度学习,所以可以学习到包含传感器数据的数据与轨迹信息之间的深层关系,从而可以提高作为基准轨迹信息的第二轨迹信息的准确性,从而可以提高待检测自动驾驶***的检测准确性。
本实施例中,可选地,所述待检测自动驾驶***在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶***进行训练。也就是说,所述待检测自动驾驶***在所述目标驾驶场景中行驶时没有失效的情况下,将该第一数据和第一轨迹信息收集起来作为训练数据,以便于对该可信自动驾驶***进行再训练,提高该可信自动驾驶***的性能,从而可以进一步提高待检测自动驾驶***的检测准确性。
本实施例中,可以通过可视化界面来显示目标车辆的行驶轨迹,从而可以更直观地观测到目标车辆的行驶轨迹,进而可以判断目标车辆的行驶轨迹的合理性,最终可以检测待检测自动驾驶***是否失效。例如,可以使用如图4所示的方法构建虚拟车运行网络***,并在可视化界面中显示驾驶场景以及各个车辆的轨迹信息。
可以理解的是,本申请的实施例中,可以使用该待检测自动驾驶***基于多个传感器数据输出多个目标车辆的轨迹信息,并将这多个目标车辆的多个轨迹信息与预设的多个基准轨迹信息分别进行比较,以判断该自动驾驶***在多种驾驶场景下的失效情况。其中,这多个目标车辆中可以包括在真实驾驶环境中行驶的车辆,也可以包括虚拟车辆。当目标车辆为真实车辆时,基准轨迹信息可以是该真实车辆在人类驾驶员控制下行驶时的轨迹信息,也可以是真实车辆上的其他可信自动驾驶***为该车辆预测的轨迹信息。当目标车辆为虚拟车辆时,基准轨迹信息可以是该可信自动驾驶***为该车辆预测的轨迹信息,也可以是与该虚拟车辆对应的实车的真实轨迹信息。
图10是本申请一个实施例的控制车辆行驶的方法的示意性流程图。该方法可以包括S1010至S1020。
S1010,获取目标自动驾驶***基于目标数据输出的轨迹信息,所述目标数据包括目标驾驶场景中的多个车辆的传感器采集的数据,所述多个车辆包括目标车辆。
S1020,根据所述轨迹信息控制所述目标车辆行驶。
该方法中,因为目标自动驾驶***推测目标车辆在目标驾驶场景中行驶时的轨迹所使用的传感器数据是多个车辆采集的。这与目标自动驾驶***基于一个车辆采集的传感器数据推测目标车辆在目标驾驶场景中行驶时的轨迹相比,由于多个车辆上的传感器能够采集到目标驾驶场景中更多的数据,即可以获得目标驾驶场景的更多信息,因此,目标自动驾驶***推测的轨迹信息更准确,从而可以提高车辆的安全性。
例如,该目标自动驾驶***可以是使用图7所示的方法训练之后又使用图9所示的方法检测得到的自动驾驶***。由于使用图9所示方法检测过的目标自动驾驶***的失效案例可以更少,因此基于该目标自动驾驶***控制车辆行驶时,该车辆的安全性更高。
图11为本申请一个实施例的检测自动驾驶***的装置1100的结构示意图。装置1100可以包括数据获取模块1110、轨迹获取模块1120和失效检测模块1130。装置1100可以用于实现前述图9所示的方法。
例如,数据获取模块1110可以用于执行S910,轨迹获取模块1120可以用于执行S920,失效检测模块1130可以用于执行S930。
装置1100可部署在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。装置1100可以是云数据中心中用于检测自动驾驶***的服务器。装置1100也可以是创建在云数据中心中的用于检测自动驾驶***的虚拟机。装置1100还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于检测自动驾驶***,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,装置1100中的数据获取模块1110、轨迹获取模块1120和失效检测模块1130可以分布式地部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。又如,失效检测模块1130包括多个子模块时,这多个子模块可以部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。
装置1100可以由云服务提供商在云服务平台抽象成一种检测自动驾驶***的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供优检测自动驾驶***的云服务,用户可以通过应用程序接口(application programinterface,API)或者通过云服务平台提供的网页界面上传检测的自动驾驶***至云环境,装置1100优化自动驾驶***之后,将检测结果(例如是否失效甚至实效原因)返回至用户。
当装置1100为软件装置时,装置1100也可以单独部署在任意环境的一个计算设备上。
图12为本申请实施例提供的一种控制车辆行驶的装置1200的结构示意图。装置1200可以包括轨迹获取模块1210和控制模块1220。装置1000可以用于实现前述图10所示的方法。
例如,轨迹获取模块1210可以用于执行S1010,控制模块1230可以用于执行S1020。
装置1200可部署在云环境中,云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的计算设备(例如服务器)。装置1200可以是云数据中心中用于控制车辆行驶的服务器。装置1200也可以是创建在云数据中心中的用于控制车辆行驶的虚拟机。装置1200还可以是部署在云数据中心中的服务器或者虚拟机上的软件装置,该软件装置用于控制车辆行驶,该软件装置可以分布式地部署在多个服务器上、或者分布式地部署在多个虚拟机上、或者分布式地部署在虚拟机和服务器上。例如,装置1200中的轨迹获取模块1210和控制模块1220可以分布式地部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。又如,控制模块1220包括多个子模块时,这多个子模块可以部署在多个服务器上,或分布式地部署在多个虚拟机上,或者分布式地部署在虚拟机和服务器上。
装置1200可以由云服务提供商在云服务平台抽象成一种控制车辆行驶的云服务提供给用户,用户在云服务平台购买该云服务后,云环境利用该云服务向用户提供控制车辆行驶的云服务,用户可以通过应用程序接口或者通过云服务平台提供的网页界面上传传感器数据至云环境,装置1200得到控制策略(例如轨迹信息)之后,向车辆返回该控制策略,以控制车辆行驶。
当装置1200为软件装置时,装置1200也可以单独部署在任意环境的一个计算设备上。
图13为本申请实施例提供的一种装置1300的结构示意图。装置1300包括处理器1302、通信接口1303和存储器1304。装置1300的一种示例为芯片。装置1300的另一种示例为计算设备。
处理器1302、存储器1304和通信接口1303之间可以通过总线通信。存储器1304中存储有可执行代码,处理器1302读取存储器1304中的可执行代码以执行对应的方法。存储器1304中还可以包括操作***等其他运行进程所需的软件模块。操作***可以为LINUXTM,UNIXTM,WINDOWSTM等。
例如,存储器1304中的可执行代码用于实现图9或图10所示的方法,处理器1302读取存储器1304中的该可执行代码以执行图9或图10所示的方法。
其中,处理器1302可以为CPU。存储器1304可以包括易失性存储器(volatilememory),例如随机存取存储器(random access memory,RAM)。存储器1304还可以包括非易失性存储器(2non-volatile memory,2NVM),例如只读存储器(2read-only memory,2ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态启动器(solid state disk,SSD)。
在本申请的一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图14示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,所述示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品1400是使用信号承载介质1401来提供的。所述信号承载介质1401可以包括一个或多个程序指令1402,其当被一个或多个处理器运行时可以提供以上针对图9或图10所示的方法中描述的功能或者部分功能。因此,例如,参考图9中所示的实施例,S910至S930的一个或多个特征可以由与信号承载介质1401相关联的一个或多个指令来承担。又如,参考图10中所示的实施例,S1010至S1020的一个或多个特征可以由与信号承载介质1401相关联的一个或多个指令来承担。
在一些示例中,信号承载介质1401可以包含计算机可读介质1403,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等等。在一些实施方式中,信号承载介质1401可以包含计算机可记录介质1404,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质1401可以包含通信介质1405,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1401可以由无线形式的通信介质1405(例如,遵守IEEE802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令1402可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,前述的计算设备可以被配置为,响应于通过计算机可读介质1403、计算机可记录介质1404、和/或通信介质1405中的一个或多个传达到计算设备的程序指令1402,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (25)
1.一种检测自动驾驶***的方法,其特征在于,所述方法包括:
获取第一数据,所述第一数据中包括传感器数据,所述传感器数据包括目标驾驶场景中的多个车辆的传感器采集的数据;
使用待检测自动驾驶***,根据所述第一数据,获取目标车辆在所述目标驾驶场景中行驶时的第一轨迹信息;
根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶***在所述目标驾驶场景中行驶时是否失效。
2.根据权利要求1所述的方法,其特征在于,所述待检测自动驾驶***在所述目标驾驶场景中行驶时失效的情况下,所述方法还包括:
使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶***的失效原因。
3.根据权利要求2所述的方法,其特征在于,所述失效原因包括以下一种或多种:所述待检测自动驾驶***的决策规控模块发生错误,所述待检测自动驾驶***的感知模块发生错误。
4.根据权利要求3所述的方法,其特征在于,所述错误定位***是基于第二数据、所述第二数据对应的轨迹信息、对所述第二数据中的数据进行修改得到的第三数据所对应的轨迹信息以及预设失效原因训练得到的神经网络,其中,所述预设失效原因包括感知模块发生错误。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述预设的第二轨迹信息为基准自动驾驶***根据所述第一数据获取得到的所述目标车辆在所述目标驾驶场景中行驶时的轨迹信息。
6.根据权利要求5所述的方法,其特征在于,所述基准自动驾驶***为经过训练得到的自动驾驶***,所述训练包括基于深度学习方法的训练。
7.根据权利要求6所述的方法,其特征在于,所述训练还包括基于强化学习和逆强化学习的训练。
8.根据权利要求6或7所述的方法,其特征在于,所述待检测自动驾驶***在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶***进行训练。
9.根据权利要求5至8中任一项所述的方法,其特征在于,所述目标车辆为虚拟车辆。
10.一种控制车辆行驶的方法,其特征在于,包括:
获取目标自动驾驶***基于目标数据输出的轨迹信息,所述目标数据包括目标驾驶场景中的多个车辆的传感器采集的数据,所述多个车辆包括目标车辆;
根据所述轨迹信息控制所述目标车辆行驶。
11.根据权利要求10所述的方法,其特征在于,所述目标自动驾驶***是使用如权利要求1至9中任一项所述的方法检测得到的自动驾驶***。
12.一种检测自动驾驶***的装置,其特征在于,包括:
数据获取模块,用于获取第一数据,所述第一数据中包括传感器数据,所述传感器数据包括目标驾驶场景中的多个车辆的传感器采集的数据;
轨迹获取模块,用于使用待检测自动驾驶***,根据所述第一数据,获取目标车辆在所述目标驾驶场景中行驶时的第一轨迹信息;
失效检测模块,用于根据所述第一轨迹信息与预设的第二轨迹信息之间的差异,检测所述待检测自动驾驶***在所述目标驾驶场景中行驶时是否失效。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括错误定位模块,用于:在所述待检测自动驾驶***在所述目标驾驶场景中行驶时失效的情况下,使用预设的神经网络根据所述第一数据、所述第二轨迹信息和所述第一轨迹信息,获取所述待检测自动驾驶***的失效原因。
14.根据权利要求13所述的装置,其特征在于,所述失效原因包括以下一种或多种:所述待检测自动驾驶***的决策规控模块发生错误,所述待检测自动驾驶***的感知模块发生错误。
15.根据权利要求14所述的装置,其特征在于,所述错误定位***是基于第二数据、所述第二数据对应的轨迹信息、对所述第二数据中的数据进行修改得到的第三数据所对应的轨迹信息以及预设失效原因训练得到的神经网络,其中,所述预设失效原因包括感知模块发生错误。
16.根据权利要求12至15中任一项所述的装置,其特征在于,所述预设的第二轨迹信息为基准自动驾驶***根据所述第一数据获取得到的所述目标车辆在所述目标驾驶场景中行驶时的轨迹信息。
17.根据权利要求16所述的装置,其特征在于,所述基准自动驾驶***为经过训练得到的自动驾驶***,所述训练包括基于深度学习方法的训练。
18.根据权利要求17所述的装置,其特征在于,所述训练还包括基于强化学习和逆强化学习的训练。
19.根据权利要求17或18所述的装置,其特征在于,在所述待检测自动驾驶***在所述目标驾驶场景中行驶时没有失效的情况下,所述第一数据和所述第一轨迹信息用于对所述基准自动驾驶***进行训练。
20.根据权利要求16至19中任一项所述的装置,其特征在于,所述目标车辆为虚拟车辆。
21.一种控制车辆行驶的装置,其特征在于,包括:
轨迹获取模块,用于获取目标自动驾驶***基于目标数据输出的轨迹信息,所述目标数据包括目标驾驶场景中的多个车辆的传感器采集的数据,所述多个车辆包括目标车辆;
控制模块,用于根据所述轨迹信息控制所述目标车辆行驶。
22.根据权利要求21所述的装置,其特征在于,所述目标自动驾驶***是使用如权利要求11至20中任一项所述的方法检测得到的自动驾驶***。
23.一种检测自动驾驶***的装置,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于存储指令;
所述处理器用于执行所述存储器中存储的指令,以使得所述装置实现如权利要求1至9中任一项所述的方法。
24.一种控制车辆行驶的装置,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于存储指令;
所述处理器用于执行所述存储器中存储的指令,以使得所述装置实现如权利要求10或11所述的方法。
25.一种计算机可读介质,其特征在于,包括指令,当所述指令在处理器上运行时,使得所述处理器实现如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476010.8A CN113741384B (zh) | 2020-05-29 | 2020-05-29 | 检测自动驾驶***的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476010.8A CN113741384B (zh) | 2020-05-29 | 2020-05-29 | 检测自动驾驶***的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113741384A true CN113741384A (zh) | 2021-12-03 |
CN113741384B CN113741384B (zh) | 2023-12-29 |
Family
ID=78724684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010476010.8A Active CN113741384B (zh) | 2020-05-29 | 2020-05-29 | 检测自动驾驶***的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113741384B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115056754A (zh) * | 2022-08-18 | 2022-09-16 | 江苏天一航空工业股份有限公司 | 一种物流行李牵引车制动控制***及方法 |
CN115107791A (zh) * | 2022-04-06 | 2022-09-27 | 东软睿驰汽车技术(沈阳)有限公司 | 一种触发数据采集的方法、数据采集的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160082959A1 (en) * | 2014-09-24 | 2016-03-24 | Mando Corporation | Automatic driving controlling system and method |
CN108089571A (zh) * | 2016-11-22 | 2018-05-29 | 百度(美国)有限责任公司 | 用于预测无人驾驶车辆的车辆交通行为以做出驾驶决策的方法和*** |
CN109445425A (zh) * | 2019-01-02 | 2019-03-08 | 奇瑞汽车股份有限公司 | 自动驾驶***的性能检测方法、装置及存储介质 |
CN109597317A (zh) * | 2018-12-26 | 2019-04-09 | 广州小鹏汽车科技有限公司 | 一种基于自学习的车辆自动驾驶方法、***及电子设备 |
CN110884502A (zh) * | 2019-12-06 | 2020-03-17 | 北京京东乾石科技有限公司 | 自动驾驶路径规划质量测评方法、装置和*** |
CN111123933A (zh) * | 2019-12-24 | 2020-05-08 | 华为技术有限公司 | 车辆轨迹规划的方法、装置、智能驾驶域控制器和智能车 |
-
2020
- 2020-05-29 CN CN202010476010.8A patent/CN113741384B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160082959A1 (en) * | 2014-09-24 | 2016-03-24 | Mando Corporation | Automatic driving controlling system and method |
CN108089571A (zh) * | 2016-11-22 | 2018-05-29 | 百度(美国)有限责任公司 | 用于预测无人驾驶车辆的车辆交通行为以做出驾驶决策的方法和*** |
CN109597317A (zh) * | 2018-12-26 | 2019-04-09 | 广州小鹏汽车科技有限公司 | 一种基于自学习的车辆自动驾驶方法、***及电子设备 |
CN109445425A (zh) * | 2019-01-02 | 2019-03-08 | 奇瑞汽车股份有限公司 | 自动驾驶***的性能检测方法、装置及存储介质 |
CN110884502A (zh) * | 2019-12-06 | 2020-03-17 | 北京京东乾石科技有限公司 | 自动驾驶路径规划质量测评方法、装置和*** |
CN111123933A (zh) * | 2019-12-24 | 2020-05-08 | 华为技术有限公司 | 车辆轨迹规划的方法、装置、智能驾驶域控制器和智能车 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115107791A (zh) * | 2022-04-06 | 2022-09-27 | 东软睿驰汽车技术(沈阳)有限公司 | 一种触发数据采集的方法、数据采集的方法及装置 |
CN115056754A (zh) * | 2022-08-18 | 2022-09-16 | 江苏天一航空工业股份有限公司 | 一种物流行李牵引车制动控制***及方法 |
CN115056754B (zh) * | 2022-08-18 | 2022-10-28 | 江苏天一航空工业股份有限公司 | 一种物流行李牵引车制动控制***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113741384B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109901574B (zh) | 自动驾驶方法及装置 | |
CN111123952B (zh) | 一种轨迹规划方法及装置 | |
CN113879295B (zh) | 轨迹预测方法及装置 | |
CN112230642B (zh) | 道路可行驶区域推理方法及装置 | |
WO2021102955A1 (zh) | 车辆的路径规划方法以及车辆的路径规划装置 | |
CN110471411A (zh) | 自动驾驶方法和自动驾驶装置 | |
EP4184476A1 (en) | Method and device for controlling switching of vehicle driving mode | |
WO2021212379A1 (zh) | 车道线检测方法及装置 | |
CN113498529B (zh) | 一种目标跟踪方法及其装置 | |
CN112543877B (zh) | 定位方法和定位装置 | |
CN113835421A (zh) | 训练驾驶行为决策模型的方法及装置 | |
WO2022017307A1 (zh) | 自动驾驶场景生成方法、装置及*** | |
US20230048680A1 (en) | Method and apparatus for passing through barrier gate crossbar by vehicle | |
US20230399023A1 (en) | Vehicle Driving Intention Prediction Method, Apparatus, and Terminal, and Storage Medium | |
CN114693540A (zh) | 一种图像处理方法、装置以及智能汽车 | |
CN113741384B (zh) | 检测自动驾驶***的方法和装置 | |
CN112810603A (zh) | 定位方法和相关产品 | |
US20230107033A1 (en) | Method for optimizing decision-making regulation and control, method for controlling traveling of vehicle, and related apparatus | |
CN113022573A (zh) | 道路结构检测方法及装置 | |
EP4159564A1 (en) | Method and device for planning vehicle longitudinal motion parameters | |
CN114556251B (zh) | 用于确定车辆可通行空间的方法和装置 | |
WO2022001432A1 (zh) | 推理车道的方法、训练车道推理模型的方法及装置 | |
CN112639910B (zh) | 交通元素的观测方法和装置 | |
CN113701746A (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 |