一种基于车辆行驶仿真数据的深度强化测试方法和系统与流程

文档序号:19285339发布日期:2019-11-29 23:28阅读:194来源:国知局
一种基于车辆行驶仿真数据的深度强化测试方法和系统与流程

本发明涉及汽车辅助驾驶/自动驾驶的技术领域,尤其涉及一种基于车辆行驶仿真数据的深度强化学习训练方法及其系统。



背景技术:

近年来随着人工智能的发展,汽车的辅助驾驶逐渐成为未来的研究方向,其对于汽车行业甚至是交通运输业有着深远的影响。可靠的辅助驾驶技术在汽车领域的应用,能够提高汽车出行领域的安全性,降低发生交通事故发生的频率,保证了行人、乘客、司机的安全。随着人工智能的深度发展,以及视觉识别、雷达探测等核心检测技术的不断突破,使得人工智能技术在汽车的无人驾驶方面得到越来越多的应用,必将大大推动汽车产业的智能化发展。

在未来的汽车智能工业领域,汽车的辅助驾驶/自动驾驶必将作为重中之重得到大力发展。在交通出行方面,通过车辆对道路、行人、指示标志、网络信息、监控信息等等的识别判断,可以减少交通事故、提升通行效率,更加合理地规划出行路线,实现互联互通,提升社会的整体的效益。



技术实现要素:

本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

鉴于上述现有存在的问题,提出了本发明。

因此,本发明解决的一个技术问题是:提供一种基于车辆行驶仿真软件的数据训练深度强化学习方法,来实现车辆辅助驾驶/自动驾驶的方法,大大减少车辆道路测试的时间以及成本。

为解决上述技术问题,本发明提供如下技术方案:一种基于车辆行驶仿真数据的深度强化测试方法,包括以下步骤,仿真软件模块输出车辆行驶仿真数据;所述车辆行驶仿真数据图像输入转换模块中转换成符合道路情况的实际数据;信息处理模块接收所述实际数据进行识别并处理为详细数据;所述详细数据输入深度强化学习模块内进行训练学习,通过反馈的reward自动调整网络参数。

作为本发明所述的基于车辆行驶仿真数据的深度强化测试方法的一种优选方案,其中:所述信息处理模块根据车辆在道路上的行驶数据进行处理,还包括,将天气信息、路面信息和信号灯信息使用cnn网络框架处理;指示牌信息使用nlp、orc框架处理;行人车辆信息和障碍物信息使用yolov3框架识别。

作为本发明所述的基于车辆行驶仿真数据的深度强化测试方法的一种优选方案,其中:所述深度强化学习模块包括数据输入层、卷积计算层、激励层、池化层和全连接层。

作为本发明所述的基于车辆行驶仿真数据的深度强化测试方法的一种优选方案,其中:其中所述数据输入层包括去均值、归一化和pca/白化;所述卷积计算层包括局部关联、固定神经元连接权重、估计权重个数减少和固定的权重和不同窗口内数据做内积;所述激励层把卷积层输出结果做非线性映射;所述池化层在连续的卷积层中间,压缩数据和参数的量减少过拟合;所述全连接层将所有的神经元都有权重连接。

作为本发明所述的基于车辆行驶仿真数据的深度强化测试方法的一种优选方案,其中:所述卷积过程包括,对输入层进行卷积运算,通过特定的滤波器(卷积核)与前一层特征图进行卷积运算,在滤波器后分别加一个偏置,通过激活函数得到这一层的特征图作为输出,计算过程用如下公式:

式中,k代表卷积核,l是层数,mj代表第j个特征图,i代表mj中的第i个特征,b代表偏置项。

作为本发明所述的基于车辆行驶仿真数据的深度强化测试方法的一种优选方案,其中:所述池化过程包括,在进行完卷积过程之后,对每个特征图进行下采样,首先是对特征图中特定的邻域进行加权求和运算,然后通过激励函数得到输出,下采样的计算公式如下:

作为本发明所述的基于车辆行驶仿真数据的深度强化测试方法的一种优选方案,其中:所述深度强化学习模块包括前向传播阶段和反向传播阶段,其中所述前向传播阶段包括,使用最小平方误差函数表示实际输出on与目标输出pn的误差en,前向传播过程的损失函数如下:

在训练过程中,全部训练样本误差是每个训练样本之和,上式表示第n个样本的误差。

作为本发明所述的基于车辆行驶仿真数据的深度强化测试方法的一种优选方案,其中:所述反向传播阶段,基的灵敏度概念表示误差对基b的变化率,代表方向传播得到的误差,如下式:

对每个神经元使用δ规则进行权值更新,即使用δ规则对神经元的输入进行缩放,如下式:

卷积神经网络中特征图共享偏置,通过将该层第j个特征图的误差相加更新偏置。

本发明解决的一个技术问题是:提供一种基于车辆行驶仿真软件的数据训练深度强化学习测试系统,上述方法依托于本系统实现。

为解决上述技术问题,本发明提供如下技术方案:一种基于车辆行驶仿真数据的深度强化测试系统,包括仿真软件模块、转换模块、信息处理模块和深度强化学习模块,所述仿真软件模块用于输出车辆行驶仿真数据;所述转换模块用于将所述车辆行驶仿真数据图像转换成符合道路情况的实际数据;所述信息处理模块用于实际数据进行识别并处理为详细数据;所述深度强化学习模块用于详细数据的训练学习,通过反馈的reward自动调整网络参数。

本发明的有益效果:使用基于仿真的数据,能够使得深度强化学习获取大量的训练资源,能够实现较低的成本。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:

图1为本发明第一种实施例所述基于车辆行驶仿真数据的深度强化测试方法的整体流程示意图;

图2为本发明第一种实施例所述深度学习网络的结构示意图;

图3为本发明第一种实施例所述深度学习网络的训练流程示意图;

图4为本发明第一种实施例所述深度学习网络的识别示意图;

图5为本发明第二种实施例所述基于车辆行驶仿真数据的深度强化测试系统的整体原理结构示意图;

图6为本发明所述仿真平台和实车平台训练的实际对比示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。

本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。

同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

实施例1

目前的自动驾驶技术研究主要依赖于监督学习、深度学习以及传统的自动驾驶技术,而且车辆周围的道路情况、车辆配置情况、天气情况非常复杂,这种方式下自动驾驶比较耗费资源,且成本较高。而深度强化学习作为人工智能的一个重要分支,给与少量资源,通过自己与周围的环境交互学习,可以达到智能化,比较适合于车辆的自动驾驶领域。

参照图1~4的示意,本实施例中提出一种基于车辆行驶仿真数据的深度强化测试方法,具体包括以下步骤,仿真软件模块100输出车辆行驶仿真数据;车辆行驶仿真数据图像输入转换模块200中转换成符合道路情况的实际数据;信息处理模块300接收实际数据进行识别并处理为详细数据;详细数据输入深度强化学习模块400内进行训练学习,通过反馈的reward自动调整网络参数。

本实施例中信息处理模块300根据车辆在道路上的行驶数据进行处理,还包括将天气信息、路面信息和信号灯信息使用cnn网络框架处理;指示牌信息使用nlp、orc框架处理;行人车辆信息和障碍物信息使用yolov3框架识别。

深度强化学习模块400包括数据输入层、卷积计算层、激励层、池化层和全连接层。其中,数据输入层包括去均值、归一化和pca/白化;卷积计算层包括局部关联、固定神经元连接权重、估计权重个数减少和固定的权重和不同窗口内数据做内积;激励层把卷积层输出结果做非线性映射;池化层在连续的卷积层中间,压缩数据和参数的量减少过拟合;全连接层将所有的神经元都有权重连接。

卷积过程包括,

对输入层进行卷积运算,通过特定的滤波器卷积核与前一层特征图进行卷积运算,在滤波器后分别加一个偏置,通过激活函数得到这一层的特征图作为输出,计算过程用如下公式:

式中,k代表卷积核,l是层数,mj代表第j个特征图,i代表mj中的第i个特征,b代表偏置项。

池化层对输入的特征图的主要作用有两方面,一方面为了简化网络计算复杂度;另一方面对特征图进行特征压缩,提取特征图的主要特征。其中平均池化是对邻域内像素点取平均值,保留更多背景特征。最大池化是对邻域内特征点取最大,更好地保留纹理特征。随机池化,通过对邻域内像素点根据概率值大小进行随机选择,概率值大的像素点容易被选中,使用该方法提取的特征图泛化能力强。且池化过程包括,

在进行完卷积过程之后,对每个特征图进行下采样,首先是对特征图中特定的邻域进行加权求和运算,然后通过激励函数得到输出,下采样的计算公式如下:

深度强化学习模块400包括前向传播阶段和反向传播阶段,其中前向传播阶段包括,

使用最小平方误差函数表示实际输出on与目标输出pn的误差en,前向传播过程的损失函数如下:

在训练过程中,全部训练样本误差是每个训练样本之和,上式表示第n个样本的误差。

反向传播阶段,基的灵敏度概念表示误差对基b的变化率,代表方向传播得到的误差,如下式:

对每个神经元使用δ规则进行权值更新,即使用δ规则对神经元的输入进行缩放,如下式:

权值更新:

卷积神经网络的权值更新通过下式得到:

偏置更新:由于卷积神经网络中特征图共享偏置,因此,通过将该层第j个特征图的误差相加更新偏置。计算公式如下:

激活函数作为卷积神经网络的重要组成部分,影响着网络的收敛性它的主要作用是提供网络的非线性建模能力,使得该网络能够具有非线性映射的能力,效果好的激活函数可以大大提高网络的收敛性。

定义在训练深度网络过程中,容易梯度消失现象的函数:

函该函数的收敛速度快,但是也有梯度消失的缺点:

当x>0时,定义如下函数不存在饱和问题,能够始终保持梯度不衰减,从而不存在函数中梯度消失现象。该函数能够很好的克服前两种函数在训练过程中出现的梯度消失现象:

当x>0的时候,能够缓解梯度消失现象,当x<0的时候,该函数对输入和噪声更有鲁棒性。如下式:

本实施例中通过仿真软件直接输出的图像信息与实际车辆视觉系统在道路上采集的信息存在较大的差异,直接使用该数据训练的模型存在实际道路测试时表现不佳,将仿真软件的输出图像数据参考实际的道路图像数据进行处理,得到与视觉系统采集的数据一致的结果。根据车辆在道路上的行驶数据,天气信息、路面信息、信号灯信息使用cnn网络框架处理,指示牌信息使用nlp、orc框架处理,行人车辆信息、障碍物信息使用yolov3框架识别。将处理后的信息送入深度强化学习系统进行处理。根据当前的道路信息,ddpg、sac做出对应的操作(直行、转向、刹车、停车、掉头、语音提醒),并根据反馈的reward值进行优化。使用基于仿真的数据,可以使得深度强化学习获取大量的训练资源,可以实现较低的成本。

场景一:

为验证本方法具体较低的成本的优势。本实施例将部署本方法的测试车辆和未部署本方法的车辆(传统测试方法即实车平台训练算法模型)分别实际的部署仿真对比。参照图6的示意,本次分别从两种平台训练的硬件成本、传感器成本、人员成本、训练成本、修改/调整硬件设施成本、训练时间成本和总成本进行实际对比,由图6中可以看出本方法相对于传统实车平台训练更加的节约开发成本。

实施例2

参照图5的示意,示意为本实施例提出一种基于车辆行驶仿真数据的深度强化测试系统的整体原理结构示意图,包括仿真软件模块100、转换模块200、信息处理模块300和深度强化学习模块400。具体的,其中仿真软件模块100用于输出车辆行驶仿真数据;转换模块200用于将车辆行驶仿真数据图像转换成符合道路情况的实际数据;信息处理模块300用于实际数据进行识别并处理为详细数据;深度强化学习模块400用于详细数据的训练学习,通过反馈的reward自动调整网络参数。

还需要说明的是,本实施例中仿真软件模块100、转换模块200、信息处理模块300和深度强化学习模块400为算法程序的电路板硬件,可以将上述模块写入上述实施例的算法并将设置于车辆的中控器内,根据生成的数据进行控制车辆实现自动驾驶。

算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题,算法是若干指令的有穷序列,程序是计算机指令的有序集合,是算法用某种程序设计语言的表述,是算法在计算机上的具体实现,算法在描述上一般使用半形式化的语言,而程序是用形式化的计算机语言描述的程序是计算机指令的有序集合,算法是解决问题的步骤;程序是算法的代码实现,且一个算法可以用不同的编程语言编写出不同的程序。而将程序嵌入芯片内构成嵌入式的芯片,是移植到芯片硬件进行实现,因此本实施例中将上述实施了的算法进行编程移植到芯片上,将该植入算法的芯片与电路板进行集成形成集成电路板。同理,控制模块400为具有数据处理的微处理器,本实施例在车载中的应用,例如为ecu单元,电子控制单元,又称“行车电脑”、“车载电脑”等。从用途上讲则是汽车专用微机控制器,它和普通的电脑一样,由微处理器(mcu)、存储器(rom、ram)、输入/输出接口(i/o)、模数转换器(a/d)以及整形、驱动等大规模集成电路组成。用一句简单的话来形容就是“ecu就是汽车的大脑”。在ecu中cpu是核心部分,它具有运算与控制的功能,发动机在运行时,它采集各传感器的信号,进行运算,并将运算的结果转变为控制信号,控制被控对象的工作。它还实行对存储器(rom/flash/eeprom、ram)、输入/输出接口(i/o)和其它外部电路的控制;存储器rom中存放的程序是经过精确计算和大量实验取得的数据为基础编写出来的,这个固有程序在发动机工作时,不断地与采集来的各传感器的信号进行比较和计算。并且改装ecu,就是通过改变处理问题的方法(原先设定好的ecu程序),来达到改变发动机运行的目的。所谓的“ecu程序”,其实就是一套运算法则,它存放在储存器内,对从输入设备经控制器转化而来的信号,处理生成对应的指令信号,从输出设备传输出去,从而实现对车辆更多行驶状态下的控制。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1