1.基于改进Kstar算法和深度学习的实时路径规划方法,其特征在于包括以下步骤:步骤(1):设定更新周期;
步骤(2):获取用户当前位置和目标位置;
步骤(3):获取当前位置与目标位置之间的地图和所包含道路的相关历史信息,将划定成多个区域,使用改进Kstar算法得到k条待选路径;
步骤(4):获取步骤(3)k条待选路径中道路的实况图像,并发送到云服务器端;
步骤(5):训练深度学习模型,对车辆进行检测与跟踪,计算道路拥堵指数;具体是:步骤(5.1):从云服务器端获取实况图像,使用YOLOv3神经网络进行车辆识别检测,得到车辆的位置;
步骤(5.2):车辆跟踪部分使用DeepSort算法;具体是:步骤(5.2.1):使用卡尔曼滤波对每一帧的实况图像进行车辆跟踪预测:步骤(5.2.2):计算车辆运动相似度,将上一帧卡尔曼滤波多个跟踪器得到的车辆跟踪预测结果与当前帧多个检测框的车辆检测结果进行两两目标距离计算,获取运动相似度;
筛选得到小于阈值的距离,此时运动状态关联成功,公式如下:(1) T ‑1
d (i,j)=(dj‑εi) Si (dj‑εi) 公式(5)其中dj表示当前帧第j个车辆检测框的位置,εi表示上一帧第i个跟踪器对车辆目标的预测位置,Si表示车辆检测得到车辆位置与车辆跟踪得到的车辆位置的均值之间的协方差矩阵;
步骤(5.2.3):计算车辆外观相似度,通过卷积神经网络CNN计算第i个跟踪器最近成功关联的k个跟踪框得到的车辆的特征向量与当前帧第j个车辆检测结果的特征向量,根据下方公式求得检测框得到的车辆图像和跟踪框成功关联的车辆图像之间的车辆外观相似度:其中 表示第i个跟踪器最近匹配成功的k个跟踪框得到的车辆的特征向量,k为阈值,可以自由调节,rj表示由第j个检测框得到的车辆的特征向量, 表示第i个跟踪器的最近成功匹配的检测框;
步骤(5.2.4):根据车辆运动相似度度量和车辆外观相似度度量,计算融合特征值:其中,wa,wb分别表示车辆运动相似度度量和车辆外观相似度度量对应的权重;
步骤(5.2.5):将融合结果作为匈牙利算法的输入实现最大匹配,关联车辆检测结果和车辆跟踪结果,训练模型时需要根据结果对卡尔曼滤波更新;
步骤(5.3):使用车辆检测和跟踪的结果预测平均车辆速度和道路拥堵指数;具体是:步骤(5.3.1):将车辆跟踪得到的图像坐标转化为实际道路的坐标后计算实际位移,除以上下帧之间相差的时间可以预测出每一辆车的大致速度vj;
步骤(5.3.2):计算平均车辆速度,公式如下:
其中vj代表第j辆车的速度,n代表车辆的数量, 代表估计的平均车辆速度;按照不同的车辆速度划定拥堵指数:其中zi代表拥堵指数,zi=0时代表死锁,zi=1时代表堵塞,zi=2时代表拥挤,zi=3时代表通畅;v1,v2,v3均为阈值;
步骤(6):根据以下公式计算各待选路径的权重,选择权重最小的一条作为最优路径,路径权值估计公式如下:其中,Li代表第i段路的长度, 代表第i段路的平均速度,β代表惩罚系数,zi代表道路的拥堵指数;
步骤(7):是否到达目标地点,若到达则结束路径规划,否则回到步骤2。
2.根据权利要求1所述的基于改进Kstar算法和深度学习的实时路径规划方法,其特征在于步骤(3)具体包括以下步骤:步骤(3.1):在地图上确定并标记起点s与目标位置t:步骤(3.2):使用启发式搜索,检索出一条从初始位置s到目标位置t的一条最短路径,启发函数为:f(n)=h(n)+λd(n) 公式(1)其中,n代表搜索过程中的一个点位,f(n)代表点位n的启发值,d(n)代表初始位置s到点位n的曼哈顿距离,h(n)代表点位n的权重,λ表示调节权重的参数;
步骤(3.3):将步骤(3.2)中检索到的最短路径划分为树边,其余检索过的路径划分为侧边,对于最短路径上的每一个顶点v都按照以下规则构造堆H(v):对于上述最短路径上的每一个顶点v,判断顶点v是否是起点s,若是则H(v)为空堆,否则令u为v的父节点,u为指向v的树边的起点,H(v)为H(u)的副本;同时判断顶点v是否存在属于侧边的入边,若否则不做处理,若是则将上述入边的起点x与顶点v构成集合(x,v)作为节点加入H(v),然后由于H(v)为H(u)的副本,所以将H(u)内所有节点加入到H(v)中;每个H(v)具有若干节点,但只有一个根节点,根节点只有一个子节点,所有节点根据权值大小按照升序排列,根节点的权值最小;
节点(x,v)权值公式如下:
其中,x、v表示边edge(x,v)的起点和终点,d(x)表示s到x的距离,d(v)表示s到v的距离,w(x,v)表示edge(x,v)的权重;
步骤(3.5):构造出路径结构图:
重新定义堆H(vi)存在若干节点(xi,vi);
针对同一堆,选取任意节点(xi,vi)以及(xi,vi)指向的节点(xi′,vi′),它们之间的边权值为针对不同堆,选取两个堆中任意节点(xi,vi)以及(xj,vj),其中vj=xi,它们之间的边权值为步骤(3.6):对上述路径结构图使用Dijkstra算法,搜索得到k条待选路径;k为自定义阈值,若待选路径小于k条,则返回步骤(3.2)继续进行启发式搜索。