汽车自动驾驶方法和装置
技术领域
本发明涉及车辆智能控制技术领域,特别是涉及一种汽车自动驾驶方法和装置。
背景技术
近年例如自适应巡航系统、车道保持系统等汽车驾驶辅助系统迅速发展,改善了道路交通安全状况。
目前人们正在研究汽车自动驾驶技术。其中一种基于分布式处理方法实现汽车自动驾驶的技术,该技术将一个大的系统分为多个子系统,每个子系统具有清楚的语义信息。例如,自动驾驶系统划分为基于视觉的车道线识别、基于雷达的车辆识别、行人检测、车辆控制等子系统。其中的每个子系统负责设定的一项或多项任务。例如,负责环境感知的不同子系统分别输出特定的环境感知信息,如分别输出车道线、车辆、行人等。车辆控制子系统根据这些环境感知信息做出运动决策,输出车辆控制指令。
然而,这些特定的环境感知信息一般是事先设定的,如车道线偏移量及夹角、车辆距离及速度等,在复杂的道路环境中并不能全面的反映车辆的驾驶环境,例如,道路环境中可能出现非常见的障碍物等,这会导致车辆控制子系统的失效。另外,传统的分布式处理方式决定了自动驾驶系统的感知和驾驶方式不能很好的学习优秀人类驾驶员的经验,无法做到拟人化自动驾驶。
发明内容
本发明要解决的其中一个技术问题是,如何全面的反映车辆的驾驶环境,实现拟人化自动驾驶。
为实现上述目的,本发明提供一种汽车自动驾驶方法,包括:根据采集的环境感知信息和驾驶员操作信息建立车辆自动驾驶数据库,并将所述车辆自动驾驶数据库划分为训练集和测试集;根据所述训练集中的环境感知信息建立训练用的行驶环境风险场,根据所述训练用的行驶环境风险场和所述训练集中的驾驶员操作信息对所述深度学习模型进行训练;根据所述测试集中的环境感知信息建立测试用的行驶环境风险场,将所述测试用的行驶环境风险场输入所述深度学习模型,输出预测的车辆控制变量,通过比较预测的车辆控制变量和所述测试集中的驾驶员操作信息对所述深度学习模型进行测试。
其中,训练用或者测试用的行驶环境风险场采用以下方法建立:根据静止物体形成的势能场信息、运动物体形成的动能场信息以及驾驶员形成的行为场信息建立行驶环境风险场;其中,
对于训练用的行驶环境风险场,静止物体形成的势能场信息和运动物体形成的动能场信息根据所述训练集中的环境感知信息确定,驾驶员形成的行为场信息根据所述训练集中的驾驶员操作信息确定;
对于测试用的行驶环境风险场,静止物体形成的势能场信息和运动物体形成的动能场信息根据所述测试集中的环境感知信息确定,驾驶员形成的行为场信息根据所述测试集中的驾驶员操作信息确定。
在一个实施例中,静止物体形成的势能场信息根据静止物体的属性和道路条件确定;运动物体形成的动能场信息根据运动物体的属性、运动状态和道路条件确定。
在环境感知信息由多个传感器采集得到的情况下,该方法还包括:
对多个传感器的坐标系进行转换,以形成统一的坐标系;
和/或
使用目标的马氏距离关联不同传感器观测的同一目标,对不同传感器观测的同一目标按发生概率进行加权平均,作为该同一目标的发生概率。
在一个实施例中,根据所述训练用的行驶环境风险场和所述训练集中的驾驶员操作信息对所述深度学习模型进行训练包括:将所述训练用的行驶环境风险场和所述训练集中的驾驶员操作信息输入深度学习模型,输出预测的车辆控制变量和驾驶员操作信息的损失信息;根据所述驾驶员操作信息的损失信息修正所述深度学习模型中车辆控制变量的参数。
为实现上述目的,本发明提供一种汽车自动驾驶装置,包括:样本形成模块,用于根据采集的环境感知信息和驾驶员操作信息建立车辆自动驾驶数据库,并将所述车辆自动驾驶数据库划分为训练集和测试集;模型训练模块,用于根据所述训练集中的环境感知信息建立训练用的行驶环境风险场,根据所述训练用的行驶环境风险场和所述训练集中的驾驶员操作信息对所述深度学习模型进行训练;模型测试模块,用于根据所述测试集中的环境感知信息建立测试用的行驶环境风险场,将所述测试用的行驶环境风险场输入所述深度学习模型,输出预测的车辆控制变量,通过比较预测的车辆控制变量和所述测试集中的驾驶员操作信息对所述深度学习模型进行测试。
所述模型训练模块包括第一风险场建立单元,用于根据静止物体形成的势能场信息、运动物体形成的动能场信息以及驾驶员形成的行为场信息建立训练用的行驶环境风险场;其中,静止物体形成的势能场信息和运动物体形成的动能场信息根据所述训练集中的环境感知信息确定,驾驶员形成的行为场信息根据所述训练集中的驾驶员操作信息确定;
所述模型测试模块包括第二风险场建立单元,用于根据静止物体形成的势能场信息、运动物体形成的动能场信息以及驾驶员形成的行为场信息建立测试用的行驶环境风险场;其中,静止物体形成的势能场信息和运动物体形成的动能场信息根据所述测试集中的环境感知信息确定,驾驶员形成的行为场信息根据所述测试集中的驾驶员操作信息确定。
其中,静止物体形成的势能场信息根据静止物体的属性和道路条件确定;运动物体形成的动能场信息根据运动物体的属性、运动状态和道路条件确定。
在环境感知信息由多个传感器采集得到的情况下,所述样本形成模块包括:数据处理单元和样本形成单元;
所述数据处理单元,用于
对多个传感器的坐标系进行转换,以形成统一的坐标系;
和/或
使用目标的马氏距离关联不同传感器观测的同一目标,对不同传感器观测的同一目标按发生概率进行加权平均,作为该同一目标的发生概率;
所述样本形成单元,用于根据采集的环境感知信息和驾驶员操作信息建立车辆自动驾驶数据库,并将所述车辆自动驾驶数据库划分为训练集和测试集。
所述模型训练模块包括模型训练单元,用于将所述训练用的行驶环境风险场和所述训练集中的驾驶员操作信息输入深度学习模型,输出预测的车辆控制变量和驾驶员操作信息的损失信息;根据所述驾驶员操作信息的损失信息修正所述深度学习模型中车辆控制变量的参数。
本发明基于场的理论建立车辆行驶环境的风险模型,从而利用行驶环境风险场全面的反映车辆的驾驶环境,有利于实现不同道路环境下的自动驾驶。并且根据行驶环境风险场和驾驶员操作对车辆自动驾驶模型进行训练,以学习优秀人类驾驶员的经验,实现拟人化自动驾驶。
附图说明
图1是本发明汽车自动驾驶方法一个实施例的流程示意图。
图2是本发明对深度学习模型进行训练的一个实施例的流程图。
图3示出本发明一典型道路环境下的行驶环境风险场的示意图。
图4是本发明对深度学习模型进行测试的一个实施例的流程图。
图5是本发明汽车自动驾驶装置一个实施例的结构示意图。
图6是本发明汽车自动驾驶装置再一个实施例的结构示意图。
具体实施方式
本发明提出了一种汽车自动驾驶方法,该方法利用采集的环境感知信息建立行驶环境风险场,根据行驶环境风险场和驾驶员操作训练深度学习模型,可实现车辆的自动驾驶,降低了车辆自动驾驶模型(简称模型)的训练难度。
图1是本发明汽车自动驾驶方法一个实施例的流程示意图。如图1所示,该方法包括以下步骤:
步骤S102,根据采集的环境感知信息和驾驶员操作信息建立车辆自动驾驶数据库,并将车辆自动驾驶数据库划分为训练集和测试集,以形成样本。训练集用来训练模型,在模型训练阶段使用;测试集用来验证模型的可用性,在模型测试阶段使用。
其中,环境感知信息是由至少一种传感器采集的环境数据。例如,车载摄像机采集的图像,激光雷达的点云信息和毫米波雷达的目标信息等,但不限于所举示例。
其中,驾驶员操作信息包括车辆转向角、车辆加/减速度等信息。为了获取丰富多样的驾驶数据,可以选用不同驾驶员的驾驶数据。例如,使用的数据库采样频率为10赫兹,选用不同驾驶员两小时的驾驶数据作为训练集,共计72000帧,选用不同驾驶员半小时的驾驶数据作为测试集,共计18000帧。通过学习不同驾驶员的驾驶行为,可以实现车辆的拟人化自动驾驶。
步骤S104,根据训练集中的环境感知信息建立训练用的行驶环境风险场,根据训练用的行驶环境风险场和训练集中的驾驶员操作信息对深度学习模型进行训练。
在一个实施例中,对深度学习模型进行训练包括:将训练用的行驶环境风险场和训练集中的驾驶员操作信息输入深度学习模型,输出预测的车辆控制变量,例如车辆转向角、车辆加/减速度等,根据预测的车辆控制变量和期望的车辆控制变量(根据驾驶员操作信息确定期望的车辆控制变量)确定驾驶员操作信息的损失信息,根据驾驶员操作信息的损失信息修正深度学习模型中车辆控制变量的参数。经过一定次数的迭代,得到符合要求的深度学习模型。其中,深度学习模型例如可以为深度卷积神经网络模型。
行驶环境风险场可以全面地描述行驶环境,有利于实现不同道路环境下的自动驾驶。
步骤S106,根据测试集中的环境感知信息建立测试用的行驶环境风险场,将测试用的行驶环境风险场输入深度学习模型,输出预测的车辆控制变量,通过比较预测的车辆控制变量和测试集中的驾驶员操作信息对深度学习模型进行测试。
一种示例性的测试方法描述如下,如果预测的车辆控制变量和测试集中的驾驶员操作信息之间的差距小于预设值,也即,二者的一致性较好,则可以确定深度学习模型可用。其中,车辆控制变量例如包括车辆转向角、车辆加/减速度等。
然而,本领域技术人员可以理解,上述测试方法并非唯一的。例如,将预测的车辆控制变量用于对车辆进行控制,观察车辆能否正常行驶,如果可以正常行驶,则确定深度学习模型可用。
上述实施例本发明基于场的理论建立车辆行驶环境的风险模型,从而利用行驶环境风险场全面的反映车辆的驾驶环境,有利于实现不同道路环境下的自动驾驶。并且根据行驶环境风险场和驾驶员操作对车辆自动驾驶模型进行训练,以学习优秀人类驾驶员的经验,实现拟人化自动驾驶。此外,相对于直接利用环境感知信息对车辆自动驾驶模型进行训练,降低了车辆自动驾驶模型的训练难度。
本发明还提供了一种对深度学习模型进行训练的方法。参见图2所示的对深度学习模型进行训练的流程图,针对训练集中的数据,训练过程如下:
步骤S202,对训练集中由至少一个传感器采集的环境感知信息进行识别,识别出例如静止物体、运动物体、道路等驾驶环境信息。
下面以摄像机、激光雷达、毫米波雷达等为例描述识别过程。
根据摄像机采集的图像,识别出车道线及车辆等目标。其中,可以使用图像处理方法识别图像中的车道线。该方法通过图像自适应阈值分割、车道标记线特征点提取、特征点聚类与拟合、车道线匹配与跟踪等步骤,实现车道线的准确识别与稳定跟踪。其中,可以使用机器学习的方法识别图像中的车辆目标。该方法使用HOG(Histogram of OrientedGradient,方向梯度直方图)特征及AdaBoost(一种迭代算法)级联分类器训练车辆检测模型,进而使用车辆检测模型实现车辆目标的准确检测。本领域技术人员可以理解,对于行人、骑车人、道路、路标等目标可以参考前述的车道线及车辆目标的识别方法,这里不再赘述。
此外,激光雷达可获得道路上障碍物及路面的点云信息(即空间坐标信息)。毫米波雷达可获得障碍物(如车辆、围栏等目标)的位置与速度等信息。
步骤S204,可选的,在多个传感器采集环境感知信息的情况下,还可以进行坐标转换和/或数据融合。
其中,坐标转换是指对多个传感器的坐标系进行转换,以形成统一的坐标系,使后续的数据融合更容易。一种坐标转换的方法例如可以是,将图像坐标系转换为摄像机坐标,再将摄像机坐标及其他传感器的坐标系转换到统一的车辆坐标系(例如固联于自车的坐标系,坐标原点在车辆质心),实现不同传感器感知信息的坐标转换。
其中,由于不同传感器感知信息的属性不同,如毫米波雷达横向分辨率低、视觉传感器测距精度差等,本发明使用目标的马氏距离关联不同传感器观测的同一目标,进一步为了融合不同传感器观测值,对不同传感器观测的同一目标按发生概率进行加权平均,作为该同一目标的发生概率,从而实现多传感器信息的融合及观测值真实状态的有效估计。其中,例如可以使用联合概率数据关联(JPDA,Joint Probability Data Association)方法对不同传感器观测的同一目标按发生概率进行加权平均。
通过上述坐标转换或数据融合,可以更准确地识别道路环境信息。
步骤S206,根据训练集中的环境感知信息建立训练用的行驶环境风险场。
本发明提供了一种能够全面的反映车辆行驶环境的风险程度的风险场建立方法。即,根据静止物体(如停靠的车辆等)形成的势能场信息、运动物体(如运动的车辆和行人)形成的动能场信息以及驾驶员形成的行为场信息建立行驶环境风险场,公式表示如下:
Es=Er+Ev+Ed (1)
其中,Es表示行驶环境风险场,Er表示静止物体形成的势能场信息,Ev表示运动物体形成的动能场信息,Ed表示驾驶员形成的行为场信息。
对于训练用的行驶环境风险场,静止物体形成的势能场信息和运动物体形成的动能场信息根据训练集中的环境感知信息确定,驾驶员形成的行为场信息根据训练集中的驾驶员操作信息确定。具体来说,势能场表征道路上静止物体对行车安全影响的物理场,势能场场强的大小和方向主要由静止物体属性和道路条件决定。动能场是表征道路上运动物体对行车安全影响的物理场,动能场场强的大小和方向主要由运动物体的属性、运动状态及道路条件决定。行为场是表征驾驶员行为特性对行车安全影响的物理场,行为场场强的大小主要由驾驶员的行为特性决定的。相同条件下,激进型的驾驶员常常比保守型驾驶员造成的行车风险大,其行为场场强就大;驾驶技能低的驾驶员通常比驾驶技能高的驾驶员行为场场强大。
图3示出一典型道路环境下的行驶环境风险场的示意图。为方便深度学习的训练过程,可将风险场离散化并投影到二维的图像上。其中,风险场图像的横坐标表示车辆的横向方向,纵坐标表示车辆的纵向方向,图像像素值表示风险程度(例如可以量化到0到255)。在本实施例中例如可以考虑车辆左右20米、前100米、后50米的范围,每个像素代表0.5米的长度,故生成的风险场灰度图像大小为300x80。
步骤S208,将训练用的行驶环境风险场和训练集中的驾驶员操作信息(即监督信息)输入深度学习模型,输出预测的车辆控制变量。
其中,驾驶员操作信息包括车辆转向角、车辆加/减速度等信息。为了获取丰富多样的驾驶数据,可以选用不同驾驶员的驾驶数据。
其中,深度学习模型例如可以是深度卷积神经网络模型,该模型包括五层卷积层和两层全连接层,最后一层输出二维的车辆控制量。
步骤S210,根据预测的车辆控制变量和期望的车辆控制变量(根据驾驶员操作信息确定)确定驾驶员操作信息的损失信息,例如用L2损失函数,根据驾驶员操作信息的损失信息修正深度学习模型中车辆控制变量的参数。
经过一定次数(例如10万次)的迭代,可以得到符合要求的深度学习模型,从而完成对深度学习模型的训练过程。
上述实施例,基于场的理论建立车辆行驶环境的风险评估模型,融合多种传感器信息输入,建立全面的行驶环境描述体系,有利于实现不同道路环境下的自动驾驶。结合车辆行驶环境及驾驶员相应的车辆操作输出,基于深度学习方法学习车辆的自动驾驶模型,可实现车辆的自动驾驶。通过学习不同驾驶员的驾驶行为,可实现车辆的拟人化自动驾驶。
本发明还提供了一种对深度学习模型进行测试的方法。参见图4所示的对深度学习模型进行测试的流程图,针对测试集中的数据,测试过程如下:
步骤S402,对测试集中由至少一个传感器采集的环境感知信息进行识别,识别出例如静止物体、运动物体、道路等驾驶环境信息。
其中,对测试集中的环境感知信息的识别方法可以参考对训练集中的环境感知信息的识别方法(即参考步骤S202),这里不再赘述。
步骤S404,可选的,在多个传感器采集环境感知信息的情况下,还可以进行坐标转换和/或数据融合。
其中,对测试集中的环境感知信息的坐标转换和/或数据融合方法可以参考对训练集中的环境感知信息的坐标转换和/或数据融合方法(即参考步骤S204),这里不再赘述。
步骤S406,根据测试集中的环境感知信息建立测试用的行驶环境风险场。
其中,测试用的行驶环境风险场的建立方法可以参考训练用的行驶环境风险场的建立方法(即参考步骤S206),这里不再赘述。
步骤S408,将测试用的行驶环境风险场输入训练得到的深度学习模型,即使用训练的深度学习模型处理输入的行驶环境风险场,输出预测的车辆控制变量。
例如,将生成的大小为300x80的风险场灰度图像输入到训练得到的深度卷积神经网络模型,通过回归得到二维的车辆控制量,例如车辆转向角、加/减速度等信息。
步骤S410,通过比较预测的车辆控制变量和测试集中的驾驶员操作信息对深度学习模型进行测试。
一种示例性的测试方法描述如下,如果预测的车辆控制变量和测试集中的驾驶员操作信息之间的差距小于预设值,也即,二者的一致性较好,则可以确定深度学习模型可用。其中,车辆控制变量例如包括车辆转向角、车辆加/减速度等。
如果深度学习模型可用,则可以根据深度学习模型输出的车辆控制量(如车辆转向角、加/减速度等),使用PID(比例积分微分)控制实现对车辆的有效控制。
本发明还提供了一种汽车自动驾驶装置,参考图5,该装置包括:
样本形成模块502,用于根据采集的环境感知信息和驾驶员操作信息建立车辆自动驾驶数据库,并将车辆自动驾驶数据库划分为训练集和测试集;
模型训练模块504,用于根据训练集中的环境感知信息建立训练用的行驶环境风险场,根据训练用的行驶环境风险场和训练集中的驾驶员操作信息对深度学习模型进行训练;
模型测试模块506,用于根据测试集中的环境感知信息建立测试用的行驶环境风险场,将测试用的行驶环境风险场输入深度学习模型,输出预测的车辆控制变量,通过比较预测的车辆控制变量和测试集中的驾驶员操作信息对深度学习模型进行测试。
参考图6,在环境感知信息由多个传感器采集得到的情况下,样本形成模块502包括:数据处理单元5022和样本形成单元5024;
数据处理单元5022,用于对多个传感器的坐标系进行转换,以形成统一的坐标系;和/或,使用目标的马氏距离关联不同传感器观测的同一目标,对不同传感器观测的同一目标按发生概率进行加权平均,作为该同一目标的发生概率。
样本形成单元5024,用于根据采集的环境感知信息和驾驶员操作信息建立车辆自动驾驶数据库,并将车辆自动驾驶数据库划分为训练集和测试集。
其中,模型训练模块504包括第一风险场建立单元5042,用于根据静止物体形成的势能场信息、运动物体形成的动能场信息以及驾驶员形成的行为场信息建立训练用的行驶环境风险场;其中,静止物体形成的势能场信息和运动物体形成的动能场信息根据训练集中的环境感知信息确定,驾驶员形成的行为场信息根据训练集中的驾驶员操作信息确定。
其中,模型训练模块504包括模型训练单元5044,用于将训练用的行驶环境风险场和训练集中的驾驶员操作信息输入深度学习模型,输出预测的车辆控制变量和驾驶员操作信息的损失信息;根据驾驶员操作信息的损失信息修正深度学习模型中车辆控制变量的参数。
其中,模型测试模块506包括第二风险场建立单元5062,用于根据静止物体形成的势能场信息、运动物体形成的动能场信息以及驾驶员形成的行为场信息建立测试用的行驶环境风险场;其中,静止物体形成的势能场信息和运动物体形成的动能场信息根据测试集中的环境感知信息确定,驾驶员形成的行为场信息根据测试集中的驾驶员操作信息确定。
其中,静止物体形成的势能场信息根据静止物体的属性和道路条件确定;运动物体形成的动能场信息根据运动物体的属性、运动状态和道路条件确定。
其中,模型测试模块506包括模型测试单元5064,用于将测试用的行驶环境风险场输入深度学习模型,输出预测的车辆控制变量,通过比较预测的车辆控制变量和测试集中的驾驶员操作信息对深度学习模型进行测试。
本发明基于场的理论建立车辆行驶环境的风险模型,从而利用行驶环境风险场全面的反映车辆的驾驶环境,有利于实现不同道路环境下的自动驾驶。并且根据行驶环境风险场和驾驶员操作对车辆自动驾驶模型进行训练,以学习优秀人类驾驶员的经验,实现拟人化自动驾驶。此外,相对于直接利用环境感知信息对车辆自动驾驶模型进行训练,降低了车辆自动驾驶模型的训练难度。
最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。本领域的普通技术人员应当理解:可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。