车辆导航路径规划方法、系统、设备及介质与流程

文档序号:18405762发布日期:2019-08-10 00:21阅读:419来源:国知局
车辆导航路径规划方法、系统、设备及介质与流程

本公开涉及车辆导航技术领域,特别是涉及车辆导航路径规划方法、系统、设备及介质。



背景技术:

本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。

在实现本公开的过程中,发明人发现现有技术中存在以下技术问题:

传统的汽车地图导航训练方法有dijkstra算法、基于拓扑图的导航方法,但是这些方法都存在着一定的缺陷,随着道路状况的复杂多变化,普通的地图路径导航算法已经难以适应,于此同时机器学习迅速发展,得益于它高效、简介的优化方法短短的一段时间已经涉及各个领域,所以将机器学习应用到地图导航路径规划领域迫在眉睫,其中比较受欢迎的就是深度强化学习在汽车地图导航路径规划上的训练。



技术实现要素:

为了解决现有技术的不足,本公开提供了车辆导航路径规划方法、系统、设备及介质;

第一方面,本公开提供了车辆导航路径规划方法;

车辆导航路径规划方法,包括:

获取输入的第一起点位置的图像和第一终点位置的图像;

将第一起点位置的图像和第一终点位置的图像输入到预先训练好的dqn(deepq-learning)神经网络中,输出车辆导航路径;

在dqn神经网络的训练阶段,将人工势能场加入车辆导航环境模拟器sumo中,将终点以及必经路段的势能设置成引力,将分叉或者十字路口偏离路线的势能设置成斥力;使得汽车在最初开始前进时,在引力的引导下向目标点前进,在斥力的排斥下避免导航路径偏离正确路线。

第二方面,本公开还提供了车辆导航路径规划系统;

车辆导航路径规划系统,包括:

获取模块,其被配置为获取输入的第一起点位置的图像和第一终点位置的图像;

导航模块,其被配置为将第一起点位置的图像和第一终点位置的图像输入到预先训练好的dqn(deepq-learning)神经网络中,输出车辆导航路径;

在dqn神经网络的训练阶段,将人工势能场加入车辆导航环境模拟器sumo中,将终点以及必经路段的势能设置成引力,将分叉或者十字路口偏离路线的势能设置成斥力;使得汽车在最初开始前进时,在引力的引导下向目标点前进,在斥力的排斥下避免导航路径偏离正确路线。

第三方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述方法的步骤。

第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述方法的步骤。

与现有技术相比,本公开的有益效果是:

利用预先训练好的dqn(deepq-learning)神经网络,实现车辆精确导航。

在dqn神经网络的训练阶段,将人工势能场加入环境模拟器sumo中,使得汽车在最初开始前进时,在引力的引导下向目标点前进,在斥力的排斥下避免导航路径偏离正确路线。这样就避免了dqn学习算法在起初进行路径导航训练的时候不再是盲目的探索来寻找最优路径,而是得到了势场引力、斥力的引导,使得训练的路径朝着目标点拓展,这样使得训练效率大大的提高。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1是dqn神经网络训练流程图。

具体实施方式

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

深度强化学习即dqn是q-learning的一种改进变体,之所以不采用传统的q-learning算法是由于q-learning维护的q表有限,而当状态空间特别大时会产生“维数灾难”,所以我们采用基于q-learning改进的dqn算法,它的核心就是卷积神经网络,采用的是q-learning算法进行训练,它改变了传统的机器学习轨迹规划需要手动对环境特征进行标定的局限性。

dqn是一种基于q函数的增强学习算法,输入是状态s对应的状态向量,输出是所有动作在该状态下的动作价值函数q,这个q网络可以是cnn(卷积神经网络)、rnn(循环神经网络)、dnn(深度神经网络),视情况而定,本发明采用的是cnn(卷积神经网络)。dqn它是将深度学习与强化学习相结合,其中强化学习会使用q-learning算法反复的训练、探索,反复尝试得到奖励或惩罚的过程中采集各种样本,而深度学习中的神经网络将这些样本数据作为输入然后利用场景解析网络对环境特征进行提取、分析进而学习到更好的决策来优化损失函数,实际就是反复试验然后存数据的一个过程,最后实现状态到动作的映射,能够较好的满足汽车路径导航规划的训练需要。

deepq-learning即dqn是一种基于q函数的增强学习算法,它是将深度学习与强化学习相结合,其中深度学习用神经网络来感知路况环境特征并进行提取,而强化学习则会根据深度学习的输出和一定的探索策略做出决策,实现状态到动作的映射。能够较好的满足路径导航规划的训练需要。

人工势能场法(apf)方法是由khatib率先提出的,刚开始只是为了解决机械手臂在移动抓取物体的时候,能够不碰到工作台。但是后来人们发现,这个方法在移动机器人上应用也有很好的效果,能产生出非常平滑的运行轨迹。它的原理是把环境当作一个巨大的势能场,可定义其中的引力和斥力,对路径规划训练产生引导作用。

实施例一,本实施例提供了车辆导航路径规划方法;

车辆导航路径规划方法,包括:

获取输入的第一起点位置的图像和第一终点位置的图像;

将第一起点位置的图像和第一终点位置的图像输入到预先训练好的dqn(deepq-learning)神经网络中,输出车辆导航路径;

在dqn神经网络的训练阶段,将人工势能场加入车辆导航环境模拟器sumo中,将终点以及必经路段的势能设置成引力,将分叉或者十字路口偏离路线的势能设置成斥力;使得汽车在最初开始前进时,在引力的引导下向目标点前进,在斥力的排斥下避免导航路径偏离正确路线。

作为一个或多个实施例,如图1所示,所述预先训练好的dqn神经网络的训练步骤包括:

s1:构建dqn神经网络;将待导航车辆视为智能体;

s2:利用真实道路状况信息,在sumo模拟器中模拟道路环境,并加入人工势能场环境,定义人工势能场环境的引力和斥力引导智能体前进;

s3:获取训练用第二起点位置图像、第二终点位置图像、和第二起点到第二终点的所有路况环境;

s4:假设在当前位置待导航车辆状态为s,提取待导航车辆在当前位置所拍摄的当前位置图像的图像特征向量φ(s);将当前位置图像的图像特征向量φ(s)输入到dqn神经网络中,得到待导航车辆的下一步将要执行的所有动作对应的q值;

s5:根据所有动作对应的最大q值,选择对应的动作a;

s6:待导航车辆在状态s时,执行动作a,获得新的状态s';获得新的状态s'所对应图像的图像特征φ(s'),获得新的状态s'所对应的奖励r(s');建立平方差损失函数;通过梯度下降算法调整dqn神经网络的参数,使dqn神经网络在训练集上的平方差损失函数最小,即预测值与真实值的差距最小;

s7:判断是否到达终点,如果到达就结束,输出训练好的dqn神经网络,否则返回步骤s4。

作为一个或多个实施例,所述构建dqn神经网络的具体步骤为:

构建卷积神经网络,所述卷积神经网络,包括依次连接的第一卷积层、第二卷积层、第三卷积层、第一全连接层和第二全连接层;用双曲线正切激活函数(tanh)作为各层之间的激活函数。

作为一个或多个实施例,所述将待导航车辆视为智能体;具体步骤为:

所述待导航车辆自身搭载车载相机,每执行一个动作后,就对待导航车辆正前方视野范围内的图像进行拍摄采集。

作为一个或多个实施例,所述利用真实道路状况信息,在sumo模拟器中模拟道路环境;具体步骤为:在交通模拟软件包sumo模拟器中直接导入需要的道路模型。

sumo模拟器负责对环境中道路场景进行模拟,例如路口(十字路口、t型路口、y型路口)、车道情况、路面情况、障碍物分布和行为、交通信号灯等。

作为一个或多个实施例,所述假设在当前位置待导航车辆状态为s,提取待导航车辆在当前位置所拍摄的当前位置图像的图像特征向量φ(s);将当前位置图像的图像特征向量φ(s)输入到dqn神经网络中,得到待导航车辆的下一步将要执行的所有动作对应的q值。

所述q值的计算公式为:

其中,π表示策略。

作为一个或多个实施例,所述获得新的状态s'所对应的奖励r(s')的具体步骤包括:奖励函数仅取决于当前状态的情况,通过特征函数的线性组合来表示,即:

r(s)=∑iωiφi(s)=ωtφ(s);

其中,ωi为权重,φi(s)为特征向量。

作为一个或多个实施例,建立平方差损失函数l(θ):

其中,y是真实值,真实值为正确的路口图像选择做one-hot编码得到的数值,model(x)是预测值,预测值为训练过程中智能体随机选择的路口图像的概率值。

作为一个或多个实施例,s7的具体步骤包括:

如果新的状态s'所对应图像的图像特征φ(s')与第二终点位置图像的图像特征一致,则表示新的状态s'即为路径的终点,通过梯度反向传播来更新dqn神经网络中的参数;dqn神经网络训练结束,输出训练好的dqn神经网络;

如果新的状态s'所对应图像的图像特征φ(s')与第二终点位置图像的图像特征不一致,则表示新的状态s'不是路径的终点,返回步骤s4。

作为一个或多个实施例,所述dqn神经网络的整个算法流程总结为:

算法的输入:迭代轮数t、状态特征维度n(其中图片的状态特征有颜色、纹理、形状等)、步长α、衰减因子γ、批量梯度下降的样本数、探索率ε、动作集a、权重ω、q网络;

随机初始化q网络的所有参数,其中权重初始化为接近于零的极小值,清空经验回放集合d。

从1到t进行迭代:

1、把输入的起点s作为当前状态序列的第一个状态,得到其对应的特征向量

2用输入的起点路口图片的特征向量作为q网络的输入,进而得到q网络所有动作对应的q值输出;

通过迭代最小化期望返回值与网络预测的状态动作值之间的误差来学习动作值函数:

l(θ)=(e[t=rt|st=s,at=a]-q(s,a;θ)2

最优值函数用具有参数θ的神经网络q*(s,a)≈q(s,a;θ)近似。

3用ε-greedy贪婪法选择对应的动作a或者根据q(max)值生成a

4在状态s执行动作a,获得新的状态对应的特征向量对应的奖励r(s'),

5将上边得到的五个数值{a,r(s'),is_end}存放到d中,is_end表示判断是否是终止状态;

6将d中的样本进行shuffle操作(打乱数据)减少数据间的相关性

7从记忆库中采样m个样本计算yj

8如果j+1步是终止状态,令yj=rj,;

否则,令

其中,yj表示类似于第j步真实的q输出值;rj表示第j步的奖励;γ表示衰减因子;s表示状态。

9使用均方差损失函数,将q网络的所有参数ω通过神经网络的梯度反向传播来更新。

10然后查看s'是否是终止状态,若是则当前轮迭代完毕,否则跳到步骤2。输出:q网络参数。

人工势能场,将起点和终点的路段环境假设成一个大的人工势能场,在汽车模型刚开始的训练过程中起到引导的作用,即让汽车在行进的过程中尽可能的朝向目标点,而不是在初始时盲目的前进、探索,避免了大量冗余工作而导致的训练效率低下。并且本发明充分利用了深度强化学习从图片输入到路径输出的模式,这两者的结合使得对汽车导航路径规划训练的效率得到了很大提高。

根据已有的先验知识环境信息建立人工势能场模型,让终点以及必经路段的势能设置成引力,分叉或者十字路口偏离路线的势能设置成斥力,引导深度强化学习进行训练。使得训练不再是盲目的,而是尽可能的朝向目标点。

深度学习,在本发明中使用的神经网络是一个具有三层卷积层、两层全连接层的卷积神经网络,双曲正切激活函数(tanh)作为各层之间的激活函数,利用多层卷积层可以尽可能的实现图像空间信息的保留,因为路径规划对空间的位置信息依赖比较大。在训练的过程中利用深度学习中的神经网络实现以道路信息图片作为输入对道路特征信息进行提取;它改变了传统的机器学习轨迹规划需要手动对环境特征进行标定的局限性;强化学习,与深度学习相结合只需要输入起点和终点而不需要说明具体怎么做,在一系列的尝试和探索的过程中得到奖励或惩罚,最终会寻找出较为理想的路线;

人工势能场,本发明将起点和终点的路段环境假设成一个大的人工势能场。将终点和必经路口和必经路段设置为引力,将分岔路口的偏离路线设置为斥力,并且假设引力和斥力都很小,所以可以忽略它们的合力只是在训练的过程中起到引导的作用,这让汽车在行进的过程中尽可能的朝向目标点,而不是在初始时盲目的前进,避免了产生大量的冗余工作而导致的训练效率低下。

本发明使用数据存储器存放一些复杂的真实路况,使得在sumo模拟器中模拟环境时有参考模型,使模拟的路况环境更加真实,从而训练出的路径规划方法更有说服力。

以深度强化学习相结合,实现了以道路图片信息的输入到最优路径的输出,由于道路环境复杂所以模型的状态特别多,存入矩阵中会造成维数灾难,而深度强化学习可以实现高维输入,低维输出。因为深度强化学习dqn采用的是价值函数的近似表示,这个函数就是所说的神经网络。并且深度强化学习的训练效率十分的高效,只需输入起点到终点智能体便可以自行从数据存储器中提取相应的道路信息然后在sumo模拟器中模拟出相应的道路场景接着进行路径导航规划的训练,最后实现最优道路的输出。高效的训练效率使得环境更大更复杂的路况同样适用。

并且在此基础上加入了人工势能场。由于使用深度强化学习训练路径规划时没有在哪个时刻执行哪个动作的提示,只是通过训练进行探索各种可能的路径。而在地图导航路径规划中,若是遇到比较复杂的路段尤其是刚开始在没有样本的情况下盲目的进行探索训练效率十分低。根据输入的起点和终点将整个路径环境假设成一个人工势能场,然后利用已有的先验知识确定各个路口及路段的势能值。将终点以及必经路段设置成引力;将分岔路口的偏离路线设置成斥力。使汽车在行进的过程中可以尽可能的朝向目标点,而不是在初始时盲目的前进,由此避免了大量的冗余工作的产生,大大提高了深度强化学习的训练效率。

深度学习,利用深度学习中的神经网络实现以道路信息图片作为输入对道路特征信息进行提取,输出q(s,a)。使用强化学习算法进行学习,单纯用q值矩阵来存储占空间、且搜索起来耗时,因此结合神经网路原理,用神经网路拟合q值。输入是状态s,输出为各个可选动作的q值;然后增强学习算法利用环境给出的目标进行训练,然后在各种突发情况中获得的奖励,学习如何应对。强化学习,与深度学习相结合只需要输入起点和终点而不需要说明具体怎么做,经过一系列的尝试和探索,最终会寻找出较为理想的路线;人工势能场,根据输入的起点和终点将整个路径环境假设成一个人工势能场。将目标终点、必经路段设置成引力将分岔路口设置成斥力。

用带有车载相机的汽车在起点开始向目标点前进,并在过程中用车载相机获取路况环境,并存放到数据存储器中。作为神经网络训练的样本,因为神经网络的训练目的就是使损失函数最小化,而这需要大量的样本来进行训练,最后通过反向传播使用梯度下降的方法来更新神经网络的参数,直到训练出一个好的神经网络。而这个过程就要采用q-learning算法对智能体进行训练来获取训练神经网络的样本。具体来说就是将汽车训练过程中车载相机在环境中采集的图像信息看作当前状态输入带入场景解析网络中得到对应的解析结果,接着将解析结果输入到设计好的神经网络中,然后神经网络输出q(s,a),然后dqn利用神经网络输出的q(s,a)采用一定的策略输出其对应的action,即在训练的过程中获得特定路况环境中汽车的每一步决策动作,进而实现最优得到路径规划。

在本发明中使用的神经网络是一个具有三层卷积层、两层全连接层的卷积神经网络,双曲正切激活函数(tanh)作为各层之间的激活函数。用车载相机获取到的图片信息作为该神经网络的原始输入,与该图像状态的操作行为相关的作为该神经网络的输入,这样就把该模型看作一个从输入图像到决策的映射,类似于人的条件反射机制,所以经常有人称它为基于反射性策略的模型。其中,为了实现图片的存储,本发明设立了三个独立的矩阵,也可以理解为二维数组,这三个矩阵分别存储图像的红色、蓝色、绿色。计算机里存储的图像也是通过这三种颜色组合出来的,即它们都是以一堆数字的形式存储的。一般会把这三个矩阵转化成一个向量(向量可以看成1*n或者n*1的数组,前边的代表行向量,后边的代表列向量),每一个输入到神经网络的数据都称为一个特征,它们的向量就叫特征向量,最后神经网络接收特征向量作为它的输入,然后对特征进行提取、分类。

本发明将环境奖励定义为选择了正确的路口以及相对较短的路线或者道路顺畅的路段或者必经路段或者正确的换道。另外,如果训练时选择的路线相对拥堵或者较远、偏离路口、进行了错误的换道等会得到额外惩罚。环境状态包括各个方向的路口,各个方向的道路等等。行为包括左拐、右拐、直行、加速、减速、换道等等。

deepq-learning是一种基于q函数的增强学习算法,q函数的更新定义,如下所示:

q(s,a)←q(s,a)+α[r+γmaxa'q(s',a')-q(s,a)]

dqn的损失函数定义如下:

deepq-learning学习算法的基础是bellman公式,如果我们学习到了最优行为对应的q函数q*(s,a),那么这个函数应该满足下面的bellman公式。

q*(s,a)=es’[r+γmaxa’q*(s,a)|s,a]

y是真实值即目标函数;θ表示网络参数为均方误差损失;s是在某时刻的状态;a是在某时刻采取的动作;π是个体的策略,它代表个体采取动作的依据;r是在s执行行为a后得到的奖励;s′是执行行为a之后下一个时刻的状态;称为目标函数,我们希望预测出的q函数能够和通过这个时刻得到的奖励及下个时刻状态得到的目标函数尽可能接近。

整个q学习的过程是利用bellman公式的等式关系,来更新存储估计q值的矩阵q(s,a),使它为智能体的动作选择提供最优的引导。

实施例二,本实施例提供了车辆导航路径规划系统;

车辆导航路径规划系统,包括:

获取模块,其被配置为获取输入的第一起点位置的图像和第一终点位置的图像;

导航模块,其被配置为将第一起点位置的图像和第一终点位置的图像输入到预先训练好的dqn(deepq-learning)神经网络中,输出车辆导航路径;

在dqn神经网络的训练阶段,将人工势能场加入车辆导航环境模拟器sumo中,将终点以及必经路段的势能设置成引力,将分叉或者十字路口偏离路线的势能设置成斥力;使得汽车在最初开始前进时,在引力的引导下向目标点前进,在斥力的排斥下避免导航路径偏离正确路线。

实施例三,本实施例还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成方法中的各个操作,为了简洁,在此不再赘述。

所述电子设备可以是移动终端以及非移动终端,非移动终端包括台式计算机,移动终端包括智能手机(smartphone,如android手机、ios手机等)、智能眼镜、智能手表、智能手环、平板电脑、笔记本电脑、个人数字助理等可以进行无线通信的移动互联网设备。

应理解,在本公开中,该处理器可以是中央处理单元cpu,该处理器还算可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。

在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本公开所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外一点,所显示或讨论的相互之间的耦合或者直接耦合或者通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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