一种基于强化学习的城市道路自动泊车方法及系统与流程

文档序号:29967663发布日期:2022-05-11 10:41阅读:232来源:国知局
一种基于强化学习的城市道路自动泊车方法及系统与流程

1.本发明涉及自动泊车技术领域,尤其涉及一种基于强化学习的城市道路自动泊车方法及系统。


背景技术:

2.目前行业内的自动泊车技术,都是基于轨迹规划,轨迹跟踪,或者车位线识别。然而,随着城市道路车辆增多,城市路况日益复杂,以及驾驶员的驾驶水平参差不齐,很多车辆的停车操作并没有保证规范和安全。很多车辆停车时因为上述情况,或者城市交通设施不完善的路况,并没有严格按照车位线来进行停车动作。如果自动驾驶车辆还按照规范的停车位识别方式,检测到符合要求的车位才进行自动泊车操作的话,将会导致大量本能够停车但又不够规范的停车位被浪费掉,也会造成驾驶员时间上的浪费。而针对于非标准化的停车为,目前行业内的自动泊车方式都无法做到安全高效。


技术实现要素:

3.本发明的目的在于提供一种基于强化学习的城市道路自动泊车方法及系统,其能够有效解决现有技术中所存在的上述技术问题。
4.为了实现上述目的,本发明的一实施例提供了一种基于强化学习的城市道路自动泊车方法,包括:
5.s1、车位线识别流程,包括:
6.s11、采用语义分割算法进行车位线检测,判断能否检测到完整停车线,若能则执行步骤s12,否则通过车位标记点的定位方式,采用一个单阶段轻量化目标检测网络完成停车位顶点的回归,然后通过yolox算法判断车辆停车方式,最后通过canny算子获得车辆轮廓并识别车辆偏转角度以进行车位线边缘补全,从而得到完整的车位线轮廓;
7.s12、进行超声波雷达测距,结合基于概率框架的单目视觉slam算法构建停车空间坐标系,从而确定停车空间;
8.s2、状态输入流程,包括:
9.s21、将slam建图后的鸟瞰图作为二维停车地图,同时以目标停车位几何中心为原点,建立平面直角坐标系,设车辆时刻t的坐标为(x
t
,y
t
),车辆的初始坐标为(x0,y0);
10.s22、在车辆周身装上超声波雷达结合视觉传感器获取环境状态信息,以车辆的几何中心为圆心,划分半径为r的圆,将圆平均分割成36个扇形,超声波雷达负责检测实体障碍物,视觉传感器负责检测车道线和车位线,将交通标线中的实线视为障碍物;令第i个扇形内障碍物到圆心的距离为li,障碍物的移动速度为vi,车辆当前速度为v,转向角为μ,定义相对角为κ,表示车辆中轴线与停车位的角度;
11.s23、定义停车位为极坐标原点,则车辆中心的坐标为(h,ρ),因此状态输入为(l0/r,v1,l1/r,v2,...,li/r,vi,...,l
36
/r,v
36
,x
t
/x0,y
t
/y0,v,μ,κ,h,ρ),并对状态向量每一个元素除以一个常数,使各元素的取值范围维持在(-1,1)内;当扇形i内没有障碍物时,li/r
=-1,vi=0;
12.s3、泊车决策控制流程,包括:
13.s31、actor使用经验池中计算好的状态价值与critic网络预测当前状态价值进行神经网络的更新,用m均方差误差作为loss函数,对神经网络进行训练,得到更新后的目标神经网络;
14.s32、将状态输入向量输入停车动作策略π
*
对应的更新后的目标神经网络,输出得到车辆的转向角和加速度,控制车辆的移动。
15.较佳地,所述步骤s31包括:
16.s311、随机初始化critic神经网络actor网络π
φ
,对应的网络参数分别为θ1,θ2,φ,并将网络参数赋值给目标网络θ
′1←
θ1,θ
′2←
θ2,φ'

φ,创建两个空的经验池m
success
和m
failure
,初始化最小经验池长度|b|
min
,actor更新间隔

t,当前迭代代数t=0,最大迭代代数t;
17.s312、当前状态向量为s,actor选择一个附加噪声的动作:
18.a~π
φ
(s)+ε,ε~n(0,σ)
19.仿真环境返回一个奖励值r和更新后的状态s',构成经验元组(s,a,r,s')并存入对应经验池;
20.s313、当两个经验池的长度和大于预设值时,从经验池中取出batch组经验值;否则返回s312;
21.s314、从经验元组中取出数据,进行q值估计:
[0022][0023][0024]
令t=t+1,并更新critic网络:
[0025][0026]
s315、当tmod

t时,使用确定性策略梯度方法更新actor神经网络:
[0027][0028]
更新目标神经网络:
[0029]
θ
′i←
τθi+(1-τ)θ
′i[0030]
φ'

τφ+(1-τ)φ'
[0031]
s316、当t》t时,仿真训练结束;否则,返回s312。
[0032]
较佳地,在步骤s312中,通过以下方式存入对应经验池:
[0033]
定义最大停车动作时限t
max
,单次仿真最大允许撞车次数l;当至少满足以下条件之一时:1.单次仿真撞车次数大于l,2.车辆使出仿真环境边界,3.仿真运行时间大于最大停车动作时限t
max
;停止当前仿真,重新开始仿真;对经验池中的数据组织方式进行改进,将经验池一分为二为m
success
和m
failure
,分别存储成功和失败两种停车经验;假定时刻t车辆仍在运行且一段时间内未发生撞车行为,此时车辆探索得到的停车经验为e
t
,则可以认定t-α时刻的经验e
t-a
对停车的影响是积极的,是一条成功的停车经验;因此除经验池m
success
和m
failure
外,另设置临时经验池m
temp
,用于存储最近的α条经验;该经验池的大小固定为α,当其
存满后,如果临时经验池不存在撞车行为,就使用先进先出原则将其中最早的一条经验取出存入经验池m
success
;如果其存在撞车行为,就使用先进先出原则将其中最早的一条经验取出存入经验池m
failure
,然后将新的经验继续存入经验池m
temp
;如此反复,直至完成此次停车任务;最后根据车辆的最终状态,将经验池m
temp
中的所有经验存入对应的经验池m
success
或m
failure

[0034]
其中,令总采样数为m,当m
success
长度不超过m*(1-β)时,令m
success
经验池的长度为|m
success
|,则从m
success
经验池中取|m
success
|条经验,从m
failure
中取m-|m
success
|条经验。当m
success
长度大于m*(1-β)时,两个经验池采样的数量分别为:
[0035][0036]
式中:n
success
,n
failure
分别为从m
success
和m
failure
的采样数,β∈[0,1]是失败样本采样率。
[0037]
较佳地,所述基于强化学习的城市道路自动泊车方法还包括:
[0038]
采用sumtree的形式对经验池的数据进行组织,将td误差的绝对值作为sumtree中每个叶节点的存储值;进行数据采样时,将优先级p的总和除以抽样数,得到区间数,然后在每个区间里随机选取一个数,将此数从sumtree的根节点开始,按照一定的规律向下搜索,最后将搜索得到的优先级p与样本数据相对应,即可实现更高效的经验回放。
[0039]
较佳地,所述步骤s12包括:
[0040]
通过单目相机恢复快速通过未知场景时的3d轨迹的实时算法,在概率框架下在线创建稀疏但persistent的地图,包括主动(active)建图和测量、使用针对相机平滑运动的通用运动模型以及单目特征初始化和特征方位估计的解决方法;
[0041]
通过单目视觉slam建图确定当前车辆在目标停车空间下的坐标,按照和其他车辆相同停车方式,结合超声波雷达测距,确定停车空间的最大可用面积;
[0042]
最后利用多传感器进行障碍物检测,通过视觉传感器采集到的图片信息,通过轻量化目标检测网络yolox-s识别常见障碍物,并根据类别估算真实体积;若目标检测算法无法判断障碍物类型,则由超声波雷达进行距离判断,通过超声波雷达返回的距离信息,结合障碍物在图片上的大小,进行坐标定位以及体积的估算。
[0043]
本发明实施例对应提供一种基于强化学习的城市道路自动泊车系统,包括:
[0044]
车位线识别模块,其包括:
[0045]
完整车位线轮廓获取单元,用于采用语义分割算法进行车位线检测,判断能否检测到完整停车线,若不能则通过车位标记点的定位方式,采用一个单阶段轻量化目标检测网络完成停车位顶点的回归,然后通过yolox算法判断车辆停车方式,最后通过canny算子获得车辆轮廓并识别车辆偏转角度以进行车位线边缘补全,从而得到完整的车位线轮廓;
[0046]
停车空间获取单元,用于在完整车位线轮廓获取单元获取完整的车位线轮廓后进行超声波雷达测距,结合基于概率框架的单目视觉slam算法构建停车空间坐标系,从而确定停车空间;
[0047]
状态输入模块,其包括:
[0048]
第一状态输入单元,用于将slam建图后的鸟瞰图作为二维停车地图,同时以目标停车位几何中心为原点,建立平面直角坐标系,设车辆时刻t的坐标为(x
t
,y
t
),车辆的初始
坐标为(x0,y0);
[0049]
第二状态输入单元,用于在车辆周身装上超声波雷达结合视觉传感器获取环境状态信息,以车辆的几何中心为圆心,划分半径为r的圆,将圆平均分割成36个扇形,超声波雷达负责检测实体障碍物,视觉传感器负责检测车道线和车位线,将交通标线中的实线视为障碍物;令第i个扇形内障碍物到圆心的距离为li,障碍物的移动速度为vi,车辆当前速度为v,转向角为μ,定义相对角为κ,表示车辆中轴线与停车位的角度;
[0050]
第三状态输入单元,用于定义停车位为极坐标原点,则车辆中心的坐标为(h,ρ),因此状态输入为(l0/r,v1,l1/r,v2,...,li/r,vi,...,l
36
/r,v
36
,x
t
/x0,y
t
/y0,v,μ,κ,h,ρ),并对状态向量每一个元素除以一个常数,使各元素的取值范围维持在(-1,1)内;当扇形i内没有障碍物时,li/r=-1,vi=0;
[0051]
泊车决策控制模块,其包括:
[0052]
神经网络训练单元,用于actor使用经验池中计算好的状态价值与critic网络预测当前状态价值进行神经网络的更新,用m均方差误差作为loss函数,对神经网络进行训练,得到更新后的目标神经网络;
[0053]
停车动作决策单元,用于将状态输入向量输入停车动作策略π
*
对应的更新后的目标神经网络,输出得到车辆的转向角和加速度,控制车辆的移动。
[0054]
较佳地,所述神经网络训练单元的工作过程如下:
[0055]
1)、随机初始化critic神经网络actor网络π
φ
,对应的网络参数分别为θ1,θ2,φ,并将网络参数赋值给目标网络θ
′1←
θ1,θ
′2←
θ2,φ'

φ,创建两个空的经验池m
success
和m
failure
,初始化最小经验池长度|b|
min
,actor更新间隔

t,当前迭代代数t=0,最大迭代代数t;
[0056]
2)、当前状态向量为s,actor选择一个附加噪声的动作:
[0057]
a~π
φ
(s)+ε,ε~n(0,σ)
[0058]
仿真环境返回一个奖励值r和更新后的状态s',构成经验元组(s,a,r,s')并存入对应经验池;
[0059]
3)、当两个经验池的长度和大于预设值时,从经验池中取出batch组经验值;否则返回2);
[0060]
4)、从经验元组中取出数据,进行q值估计:
[0061][0062][0063]
令t=t+1,并更新critic网络:
[0064][0065]
5)、当tmod

t时,使用确定性策略梯度方法更新actor神经网络:
[0066][0067]
更新目标神经网络:
[0068]
θ
′i←
τθi+(1-τ)θ
′i[0069]
φ

τφ+(1-τ)φ
[0070]
6)、当t》t时,仿真训练结束;否则,返回2)。
[0071]
较佳地,在所述神经网络训练单元的工作过程(2)中,通过以下方式存入对应经验池:
[0072]
定义最大停车动作时限t
max
,单次仿真最大允许撞车次数l;当至少满足以下条件之一时:1.单次仿真撞车次数大于l,2.车辆使出仿真环境边界,3.仿真运行时间大于最大停车动作时限t
max
;停止当前仿真,重新开始仿真;对经验池中的数据组织方式进行改进,将经验池一分为二为m
success
和m
failure
,分别存储成功和失败两种停车经验;假定时刻t车辆仍在运行且一段时间内未发生撞车行为,此时车辆探索得到的停车经验为e
t
,则可以认定t-α时刻的经验e
t-a
对停车的影响是积极的,是一条成功的停车经验;因此除经验池m
success
和m
failure
外,另设置临时经验池m
temp
,用于存储最近的α条经验;该经验池的大小固定为α,当其存满后,如果临时经验池不存在撞车行为,就使用先进先出原则将其中最早的一条经验取出存入经验池m
success
;如果其存在撞车行为,就使用先进先出原则将其中最早的一条经验取出存入经验池m
failure
,然后将新的经验继续存入经验池m
temp
;如此反复,直至完成此次停车任务;最后根据车辆的最终状态,将经验池m
temp
中的所有经验存入对应的经验池m
success
或m
failure

[0073]
其中,令总采样数为m,当m
success
长度不超过m*(1-β)时,令m
success
经验池的长度为|m
success
|,则从m
success
经验池中取|m
success
|条经验,从m
failure
中取m-|m
success
|条经验。当m
success
长度大于m*(1-β)时,两个经验池采样的数量分别为:
[0074][0075]
式中:n
success
,n
failure
分别为从m
success
和m
failure
的采样数,β∈[0,1]是失败样本采样率。
[0076]
较佳地,所述经验池数据组织改进单元还进一步用于:采用sumtree的形式对经验池的数据进行组织,将td误差的绝对值作为sumtree中每个叶节点的存储值;进行数据采样时,将优先级p的总和除以抽样数,得到区间数,然后在每个区间里随机选取一个数,将此数从sumtree的根节点开始,按照一定的规律向下搜索,最后将搜索得到的优先级p与样本数据相对应,即可实现更高效的经验回放。
[0077]
较佳地,所述停车空间获取单元的工作过程如下:
[0078]
通过单目相机恢复快速通过未知场景时的3d轨迹的实时算法,在概率框架下在线创建稀疏但persistent的地图,包括主动(active)建图和测量、使用针对相机平滑运动的通用运动模型以及单目特征初始化和特征方位估计的解决方法;
[0079]
通过单目视觉slam建图确定当前车辆在目标停车空间下的坐标,按照和其他车辆相同停车方式,结合超声波雷达测距,确定停车空间的最大可用面积;
[0080]
最后利用多传感器进行障碍物检测,通过视觉传感器采集到的图片信息,通过轻量化目标检测网络yolox-s识别常见障碍物,并根据类别估算真实体积;若目标检测算法无法判断障碍物类型,则由超声波雷达进行距离判断,通过超声波雷达返回的距离信息,结合障碍物在图片上的大小,进行坐标定位以及体积的估算。
[0081]
与现有技术相比,本发明实施例提供的一种基于强化学习的城市道路自动泊车方法及系统,基于改进的td3算法,承接非标准化的车位线识别方式,采用了全新的状态输入
方式,对标准以及非标准化的停车位进行泊车动作,一方面解决大量不够规范的停车位被浪费的问题,另外也能保证泊车动作的安全可靠。
附图说明
[0082]
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0083]
图1是本发明实施例提供的一种基于强化学习的城市道路自动泊车方法的流程示意图。
[0084]
图2是本发明提供的一种基于强化学习的城市道路自动泊车方法中的车位线识别流程的一个优选的实施方式的流程示意图。
[0085]
图3是采用的是一种基于扩展卡尔曼滤波的实时单目slam系统—monoslam执行步骤的流程示意图。
[0086]
图4是本发明提供的一种基于强化学习的城市道路自动泊车方法中的状态输入流程的一个优选的实施方式的流程示意图。
[0087]
图5是在车辆周身装上超声波雷达结合视觉传感器获取环境状态信息的示意图;
[0088]
图6是本发明提供的一种基于强化学习的城市道路自动泊车方法中的泊车决策控制流程的一个优选的实施方式的流程示意图。
[0089]
图7和图8显示了对神经网络进行训练的具体训练流程。
[0090]
图9显示采用sumtree的形式对经验池的数据进行组织的示意图。
[0091]
图10是本发明提供的一种基于强化学习的城市道路自动泊车系统的一个优选的实施方式的结构框图。
[0092]
图11是本发明提供的一种基于强化学习的城市道路自动泊车系统中的车位线识别模块的一个优选的实施方式的结构框图。
[0093]
图12是本发明提供的一种基于强化学习的城市道路自动泊车系统中的状态输入模块的一个优选的实施方式的结构框图。
[0094]
图13是本发明提供的一种基于强化学习的城市道路自动泊车系统中的泊车决策控制模块的一个优选的实施方式的结构框图。
具体实施方式
[0095]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0096]
需要说明的是,下面的实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。
[0097]
参考图1,为本发明提供的一种基于强化学习的城市道路自动泊车方法的一个优选的实施方式的流程示意图,包括步骤s1至s3,具体如下:
[0098]
s1、车位线识别流程;
[0099]
s2、状态输入流程;以及
[0100]
s3、泊车决策控制流程。
[0101]
其中,参考图2,为本发明提供的一种基于强化学习的城市道路自动泊车方法中的车位线识别流程的一个优选的实施方式的流程示意图,包括步骤s11至s12,具体如下:
[0102]
s11、采用语义分割算法进行车位线检测,判断能否检测到完整停车线,若能则执行步骤s12,否则通过车位标记点的定位方式,采用一个单阶段轻量化目标检测网络完成停车位顶点的回归,然后通过yolox算法判断车辆停车方式,最后通过canny算子获得车辆轮廓并识别车辆偏转角度以进行车位线边缘补全,从而得到完整的车位线轮廓;
[0103]
s12、进行超声波雷达测距,结合基于概率框架的单目视觉slam算法构建停车空间坐标系,从而确定停车空间。
[0104]
具体的,在该步骤s11中,语义分割算法实现车位线检测具体如下:
[0105]
停车位线识别的设计思路来源于车道线检测。这一部分采用开源车道线算法lanenet,将车道线检测任务分解成语义分割和聚类两个部分。语义分割部分负责对输入图像的像素进行二分类,判断像素属于车道线还是背景。嵌入分支负责对像素进行嵌入式表示,最终结果经过聚类结合为实例分割结果。
[0106]
嵌入式分支网络h-net结构,用于车道线曲线拟合。通过自己训练的模型来对车位线进行检测与分割,输入结果为rgb图片,输出结果为二值化的车位线图片,从而判断车位线是否完整。
[0107]
当停车线不够完整时,需要借助于部分停车线与环境内的其他信息去判断停车空间是否足够。
[0108]
针对于车位线信息不完整的情况:
[0109]
很多驾驶员在停车时因为技术不达标或者操作不规范,并没有严格按照车位线来进行停车动作,或者城市交通设施不完善没有停车线标识,导致某些情况下停车位并没有完整的停车先做引导。
[0110]
当车位线信息不够完整时,需要借助于其他信息来完成停车空间的计算与判断。其中包括利用部分车位线与车位顶点判断车位类型,通过附近车辆进行停车方式识别,超声波雷达测距,以及利用视觉传感器进行障碍物目标检测。
[0111]
其中,非典型停车位的识别方式:
[0112]
车位线检测功能,尝试得到车位线的图片。这种方式是基于线的车位识别方式,在车位线被遮挡或者光照性弱等情况会出现无法识别的问题。
[0113]
如果识别到的车位线信息不足以确定停车位置,导致无法识别到完整车位线,则采用以下通过车位标记点来确定停车位类型,方向与位置。通过车位标记点的定位方式目前有三种可选方案,分别为方向描述符,矩形描述符,和圆形描述符。其中圆形描述符更加稳定,有更好提取常见模式的能力,并且具有更好的旋转鲁棒性。提供的圆形描述符的技术思路来实现对于车位标记点的识别。
[0114]
轻量化网络ghostnet做了一定程度的改进,放弃两阶段的检测方式,而是采用一个单阶段轻量化目标检测网络完成停车位顶点的回归,从而保证实时性并且降低算力需求。
[0115]
整个单阶段目标网络由轻量级网络ghostnet+fpn特征金字塔+解码预测部分组
成。ghostnet的核心思想分为两个部分,第一部分为利用1x1卷积获得输入特征的必要特征浓缩,第二部分为利用深度可分离卷积获得特征浓缩的相似特征图。
[0116]
第二部分的fpn特征金字塔用于加强特征提取,从ghostnet中提取出三个有效特征层,用于fpn特征金字塔的构建。三个特征层分别位于主干部分的中层,中下层和底层。位于底层的特征层经过卷积后,利用解码预测部分获得结果,一部分利用上采样与中下层特征进行结合。结合后的特征层再次进行卷积处理,处理完后利用解码预测部分获得结果,一部分用于进行上采样后与最后的特征层进行结合,进行卷积处理后输出预测结果。
[0117]
经过第二部分获得了三个加强后的特征,解码预测部分经过一次3*3卷积和1*1卷积,完成特征整合与通道数调整。然后每一个特征层将图像分成长宽对应的网格,每个网格中心建立多个圆形描述子,网络对这些圆形描述子进行预测,判断其中是否包含车位线顶点,以及车位线顶点的位置与对应的种类。预测结果包含中心点坐标,以及圆形描述子半径,和分类结果。
[0118]
得到顶点的准确位置和类型后,结合部分车位线,就可以通过传统计算机视觉算法,对车位线边缘轮廓进行补全,从而进一步判断停车位的方向。
[0119]
前后车辆停车方式判断:
[0120]
通过环视摄像头,利用轻量化目标检测算法yolox-s检测目标区域前后车辆。
[0121]
yolox的网络结构与yolov4非常类似,先进行主干网络的特征提取,在通过fpn特征金字塔加强特征提取,最后通过yolohead进行结果的预测与解码。
[0122]
在yolox中,利用simota方法进行动态的正样本数量分配,提供了一种更好的正样本分配方式,具体分为以下几个步骤:
[0123]
1、计算每个真实框和当前特征点预测框的重合程度。
[0124]
2、计算将重合度最高的十个预测框与真实框的iou加起来求得每个真实框的k,也就代表每个真实框有k个特征点与之对应。
[0125]
3、计算每个真实框和当前特征点预测框的种类预测准确度。
[0126]
4、判断真实框的中心是否落在了特征点的一定半径内。
[0127]
5、计算cost代价矩阵。
[0128]
6、将cost最低的k个点作为该真实框的正样本。
[0129]
整个yolox网络的训练过程的损失函数由以下三个方面决定:reg部分特征点的回归参数判断、obj部分为特征点是否包含物体判断、cls部分为特征点包含的物体的种类为。
[0130]
1、reg部分,由第三部分可知道每个真实框对应的特征点,获取到每个框对应的特征点后,取出该特征点的预测框,利用真实框和预测框计算iou损失,作为reg部分的loss组成。
[0131]
2、obj部分,由第三部分可知道每个真实框对应的特征点,所有真实框对应的特征点都是正样本,剩余的特征点均为负样本,根据正负样本和特征点的是否包含物体的预测结果计算交叉熵损失,作为obj部分的loss组成。
[0132]
3、cls部分,由第三部分可知道每个真实框对应的特征点,获取到每个框对应的特征点后,取出该特征点的种类预测结果,根据真实框的种类和特征点的种类预测结果计算交叉熵损失,作为cls部分的loss组成。
[0133]
利用yolox-s算法,截取预测后的车辆图片后判断车辆停靠方式。再通过计算机视
觉中的canny算子获得车辆轮廓并识别车辆偏转角度。
[0134]
canny的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:
[0135]
(1)最优检测:算法能够尽可能多地标识出图像中的实际边缘,漏检真实边缘的概率和误检非边缘的概率都尽可能小;
[0136]
(2)最优定位准则:检测到的边缘点的位置距离实际边缘点的位置最近,或者是由于噪声影响引起检测出的边缘偏离物体的真实边缘的程度最小;
[0137]
(3)检测点与边缘点一一对应:算子检测的边缘点与实际边缘点应该是一一对应。
[0138]
为了满足这些要求canny使用了变分法(calculus of variations),这是一种寻找优化特定功能的函数的方法。最优检测使用四个指数函数项表示,但是它非常近似于高斯函数的一阶导数。
[0139]
canny边缘检测的效果是很显著的。相比普通的梯度算法大大抑制了噪声引起的伪边缘,而且是边缘细化,易于后续处理。对于对比度较低的图像,通过调节参数,canny算法也能有很好的效果。停车空间判断就是根据这些车辆的停靠方式与角度确定自身在停车位内的停车方式与角度,并计算在此停靠方式下的最大安全停车空间。
[0140]
得到完整的车位线轮廓后,接下来进行超声波雷达测距,结合基于概率框架的单目视觉slam算法构建停车空间坐标系。具体的,在该步骤s12中,进行超声波雷达测距,结合基于概率框架的单目视觉slam算法构建停车空间坐标系:
[0141]
超声波发射器向某一方向发射超声波,同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s=340t/2
[0142]
基于概率框架的单目视觉slam在给定了从初始时刻到当前时刻的控制输入以及观测数据的条件下,构建一个联合后验概率密度函数来描述摄像机姿态和地图特征的空间位置。通过递归的贝叶斯滤波方法对此概率密度函数加以估计,从而实现摄像机slam。
[0143]
该算法使用扩展卡尔曼滤波ekf实现。扩展卡尔曼滤波ekf的状态转移方程和观测方程为:
[0144]
θk=f(θ
k-1
)+skꢀꢀꢀꢀꢀ
(1)
[0145]
zk=h(θk)+vkꢀꢀꢀ
(2)
[0146]
结合图3所示,在本实施例中,采用的是一种基于扩展卡尔曼滤波的实时单目slam系统—monoslam执行该步骤,包括:
[0147]
通过单目相机恢复快速通过未知场景时的3d轨迹的实时算法,在概率框架下在线创建稀疏但persistent的地图,包括主动(active)建图和测量、使用针对相机平滑运动的通用运动模型以及单目特征初始化和特征方位估计的解决方法;
[0148]
通过单目视觉slam建图确定当前车辆在目标停车空间下的坐标,按照和其他车辆相同停车方式,结合超声波雷达测距,确定停车空间的最大可用面积;
[0149]
最后利用多传感器进行障碍物检测,通过视觉传感器采集到的图片信息,通过轻量化目标检测网络yolox-s识别常见障碍物,并根据类别估算真实体积;若目标检测算法无法判断障碍物类型,则由超声波雷达进行距离判断,通过超声波雷达返回的距离信息,结合障碍物在图片上的大小,进行坐标定位以及体积的估算。
[0150]
可以理解的,如果目标区域完全没有停车线标识,则跳过车位线识别,结合其余的检测方法进行停车空间计算。此外,上述所有功能协同运作,以确保路面车位线信息的冗余,最大程度保证识别准确率。
[0151]
参考图4,为本发明提供的一种基于强化学习的城市道路自动泊车方法中的状态输入流程的一个优选的实施方式的流程示意图,包括步骤s21至s23,具体如下:
[0152]
s21、将slam建图后的鸟瞰图作为二维停车地图,同时以目标停车位几何中心为原点,建立平面直角坐标系,设车辆时刻t的坐标为(x
t
,y
t
),车辆的初始坐标为(x0,y0);
[0153]
s22、在车辆周身装上超声波雷达结合视觉传感器获取环境状态信息,以车辆的几何中心为圆心,划分半径为r的圆,将圆平均分割成36个扇形,超声波雷达负责检测实体障碍物,视觉传感器负责检测车道线和车位线,将交通标线中的实线视为障碍物;令第i个扇形内障碍物到圆心的距离为li,障碍物的移动速度为vi,车辆当前速度为v,转向角为μ,定义相对角为κ,表示车辆中轴线与停车位的角度;如图5所示。
[0154]
s23、定义停车位为极坐标原点,则车辆中心的坐标为(h,ρ),因此状态输入为(l0/r,v1,l1/r,v2,...,li/r,vi,...,l
36
/r,v
36
,x
t
/x0,y
t
/y0,v,μ,κ,h,ρ),并对状态向量每一个元素除以一个常数,使各元素的取值范围维持在(-1,1)内;当扇形i内没有障碍物时,li/r=-1,vi=0。
[0155]
参考图6,为本发明提供的一种基于强化学习的城市道路自动泊车方法中的泊车决策控制流程的一个优选的实施方式的流程示意图,包括步骤s31至s32,具体如下:
[0156]
s31、actor使用经验池中计算好的状态价值与critic网络预测当前状态价值进行神经网络的更新,用m均方差误差作为loss函数,对神经网络进行训练,得到更新后的目标神经网络;
[0157]
s32、将状态输入向量输入停车动作策略π
*
对应的更新后的目标神经网络,输出得到车辆的转向角和加速度,控制车辆的移动。
[0158]
可以理解的,本发明实施例所采用的泊车决策控制流程是基于改进的itd3算法进行停车控制,基于itd3算法的停车决策过程实际上是一个马尔科夫决策过程,其模型要素可以表示为一个五元组{s,a,p,r,γ}。
[0159]
在训练过程中,s是仿真环境状态的集合;a为agent采取的车辆动作集合(加速度和转向角);p是状态转移概率,其中,
[0160][0161]
表示agent在状态s下采取动作a后到达状态s'的概率;r代表单步停车决策得到的奖励值,
[0162]rt
=r[s
t
=s,a
t
=a]
[0163]
表示在状态s下采取动作a时得到的奖励;γ∈[0,1]是衰减率,用来权衡当前奖励与后续奖励的权重关系,其取值越大则越注重长远利益。agent依据停车动作策略π选择动作,在深度强化学习算法中,π通常为一个神经网络。agent在t时刻s
t
状态下,根据停车动作策略π执行动作a
t
,然后仿真环境运行一个时间步长后得到新状态s
t+1
和奖励r
t
。重复此过程,不断更新停车动作策略π,最后得到最优策略π
*
,最优停车动作策略公式为:
[0164]
[0165]
最优停车动作策略与价值函数有关,v
π
表示策略π下的价值:
[0166][0167]
当模型训练得到最优停车动作策略π
*
后,可以导出模型,作为停车动作控制算法的控制参数,实现自动停车。车载停车系统将采集到的环境状态转化为状态输入向量,输入停车动作策略π
*
对应的神经网络,输出得到车辆的转向角和加速度,控制车辆的移动。
[0168]
本发明实施例所采用的泊车决策控制流程是基于改进的itd3算法进行停车控制,该算法中,使用critic神经网络输出q值,估计状态的价值,使用actor神经网络(代表停车动作策略π)输出算法的动作值控制车辆移动,并创建一个经验池,通过与仿真环境的交互,得到经验元组,以一定的组织方式放入经验池中。actor网络更新后,从经验池buffer采出的数据进行critic网络的更新,用于计算状态价值。
[0169]
actor使用经验池中计算好的状态价值与critic网络预测当前状态价值进行神经网络的更新,用m均方差误差作为loss函数,对神经网络进行训练。
[0170]
参考图7和图8,具体训练流程如下:
[0171]
s311、随机初始化critic神经网络actor网络π
φ
,对应的网络参数分别为θ1,θ2,φ,并将网络参数赋值给目标网络θ
′1←
θ1,θ
′2←
θ2,φ'

φ,创建两个空的经验池m
success
和m
failure
,初始化最小经验池长度|b|
min
,actor更新间隔

t,当前迭代代数t=0,最大迭代代数t;
[0172]
s312、当前状态向量为s,actor选择一个附加噪声的动作:
[0173]
a~π
φ
(s)+ε,ε~n(0,σ)
[0174]
仿真环境返回一个奖励值r和更新后的状态s',构成经验元组(s,a,r,s')并存入对应经验池;
[0175]
s313、当两个经验池的长度和大于预设值时,从经验池中取出batch组经验值;否则返回s312;
[0176]
s314、从经验元组中取出数据,进行q值估计:
[0177][0178][0179]
令t=t+1,并更新critic网络:
[0180][0181]
s315、当tmod

t时,使用确定性策略梯度方法更新actor神经网络:
[0182][0183]
更新目标神经网络:
[0184]
θ
′i←
τθi+(1-τ)θ
′i[0185]
φ'

τφ+(1-τ)φ'
[0186]
s316、当t》t时,仿真训练结束;否则,返回s312。
[0187]
另外,为了进一步提高采样效率,优化算法收敛效果,本实施例提供的基于强化学
习的城市道路自动泊车方法的泊车决策控制流程还包括,在步骤s312中,通过以下方式存入对应经验池:定义最大停车动作时限t
max
,单次仿真最大允许撞车次数l;当至少满足以下条件之一时:1.单次仿真撞车次数大于l,2.车辆使出仿真环境边界,3.仿真运行时间大于最大停车动作时限t
max
;停止当前仿真,重新开始仿真;对经验池中的数据组织方式进行改进,将经验池一分为二为m
success
和m
failure
,分别存储成功和失败两种停车经验;假定时刻t车辆仍在运行且一段时间内未发生撞车行为,此时车辆探索得到的停车经验为e
t
,则可以认定t-α时刻的经验e
t-a
对停车的影响是积极的,是一条成功的停车经验;因此除经验池m
success
和m
failure
外,另设置临时经验池m
temp
,用于存储最近的α条经验;该经验池的大小固定为α,当其存满后,如果临时经验池不存在撞车行为,就使用先进先出原则将其中最早的一条经验取出存入经验池m
success
;如果其存在撞车行为,就使用先进先出原则将其中最早的一条经验取出存入经验池m
failure
,然后将新的经验继续存入经验池m
temp
;如此反复,直至完成此次停车任务;最后根据车辆的最终状态,将经验池m
temp
中的所有经验存入对应的经验池m
success
或m
failure

[0188]
其中,令总采样数为m,当m
success
长度不超过m*(1-β)时,令m
success
经验池的长度为|m
success
|,则从m
success
经验池中取|m
success
|条经验,从m
failure
中取m-|m
success
|条经验。当m
success
长度大于m*(1-β)时,两个经验池采样的数量分别为:
[0189][0190]
式中:n
success
,n
failure
分别为从m
success
和m
failure
的采样数,β∈[0,1]是失败样本采样率。
[0191]
进一步的,本实施例提供的基于强化学习的城市道路自动泊车方法的泊车决策控制流程还包括:采用sumtree的形式对经验池的数据进行组织,如图9所示,将td误差的绝对值作为sumtree中每个叶节点的存储值;进行数据采样时,将优先级p的总和除以抽样数,得到区间数,然后在每个区间里随机选取一个数,将此数从sumtree的根节点开始,按照一定的规律向下搜索,最后将搜索得到的优先级p与样本数据相对应,即可实现更高效的经验回放。
[0192]
参考图10,为本发明提供的一种基于强化学习的城市道路自动泊车系统的一个优选的实施方式的结构框图,其包括如下三个模块,分别为:
[0193]
91、车位线识别模块;
[0194]
92、状态输入模块;以及
[0195]
93、泊车决策控制模块。
[0196]
其中,参考图11,为本发明提供的一种基于强化学习的城市道路自动泊车系统中的车位线识别模块的一个优选的实施方式的结构框图,其包括:
[0197]
911、完整车位线轮廓获取单元,用于采用语义分割算法进行车位线检测,判断能否检测到完整停车线,若不能则通过车位标记点的定位方式,采用一个单阶段轻量化目标检测网络完成停车位顶点的回归,然后通过yolox算法判断车辆停车方式,最后通过canny算子获得车辆轮廓并识别车辆偏转角度以进行车位线边缘补全,从而得到完整的车位线轮廓;
[0198]
912、停车空间获取单元,用于在完整车位线轮廓获取单元获取完整的车位线轮廓
后进行超声波雷达测距,结合基于概率框架的单目视觉slam算法构建停车空间坐标系,从而确定停车空间。具体的,在完整车位线轮廓获取单元中,语义分割算法实现车位线检测具体如下:
[0199]
停车位线识别的设计思路来源于车道线检测。这一部分采用开源车道线算法lanenet,将车道线检测任务分解成语义分割和聚类两个部分。语义分割部分负责对输入图像的像素进行二分类,判断像素属于车道线还是背景。嵌入分支负责对像素进行嵌入式表示,最终结果经过聚类结合为实例分割结果。
[0200]
嵌入式分支网络h-net结构,用于车道线曲线拟合。通过自己训练的模型来对车位线进行检测与分割,输入结果为rgb图片,输出结果为二值化的车位线图片,从而判断车位线是否完整。
[0201]
当停车线不够完整时,需要借助于部分停车线与环境内的其他信息去判断停车空间是否足够。
[0202]
针对于车位线信息不完整的情况:
[0203]
很多驾驶员在停车时因为技术不达标或者操作不规范,并没有严格按照车位线来进行停车动作,或者城市交通设施不完善没有停车线标识,导致某些情况下停车位并没有完整的停车先做引导。
[0204]
当车位线信息不够完整时,需要借助于其他信息来完成停车空间的计算与判断。其中包括利用部分车位线与车位顶点判断车位类型,通过附近车辆进行停车方式识别,超声波雷达测距,以及利用视觉传感器进行障碍物目标检测。
[0205]
其中,非典型停车位的识别方式:
[0206]
车位线检测功能,尝试得到车位线的图片。这种方式是基于线的车位识别方式,在车位线被遮挡或者光照性弱等情况会出现无法识别的问题。
[0207]
如果识别到的车位线信息不足以确定停车位置,导致无法识别到完整车位线,则采用以下通过车位标记点来确定停车位类型,方向与位置。通过车位标记点的定位方式目前有三种可选方案,分别为方向描述符,矩形描述符,和圆形描述符。其中圆形描述符更加稳定,有更好提取常见模式的能力,并且具有更好的旋转鲁棒性。提供的圆形描述符的技术思路来实现对于车位标记点的识别。
[0208]
轻量化网络ghostnet做了一定程度的改进,放弃两阶段的检测方式,而是采用一个单阶段轻量化目标检测网络完成停车位顶点的回归,从而保证实时性并且降低算力需求。
[0209]
整个单阶段目标网络由轻量级网络ghostnet+fpn特征金字塔+解码预测部分组成。ghostnet的核心思想分为两个部分,第一部分为利用1x1卷积获得输入特征的必要特征浓缩,第二部分为利用深度可分离卷积获得特征浓缩的相似特征图。
[0210]
第二部分的fpn特征金字塔用于加强特征提取,从ghostnet中提取出三个有效特征层,用于fpn特征金字塔的构建。三个特征层分别位于主干部分的中层,中下层和底层。位于底层的特征层经过卷积后,利用解码预测部分获得结果,一部分利用上采样与中下层特征进行结合。结合后的特征层再次进行卷积处理,处理完后利用解码预测部分获得结果,一部分用于进行上采样后与最后的特征层进行结合,进行卷积处理后输出预测结果。
[0211]
经过第二部分获得了三个加强后的特征,解码预测部分经过一次3*3卷积和1*1卷
积,完成特征整合与通道数调整。然后每一个特征层将图像分成长宽对应的网格,每个网格中心建立多个圆形描述子,网络对这些圆形描述子进行预测,判断其中是否包含车位线顶点,以及车位线顶点的位置与对应的种类。预测结果包含中心点坐标,以及圆形描述子半径,和分类结果。
[0212]
得到顶点的准确位置和类型后,结合部分车位线,就可以通过传统计算机视觉算法,对车位线边缘轮廓进行补全,从而进一步判断停车位的方向。
[0213]
前后车辆停车方式判断:
[0214]
通过环视摄像头,利用轻量化目标检测算法yolox-s检测目标区域前后车辆。
[0215]
yolox的网络结构与yolov4非常类似,先进行主干网络的特征提取,在通过fpn特征金字塔加强特征提取,最后通过yolohead进行结果的预测与解码。
[0216]
在yolox中,利用simota方法进行动态的正样本数量分配,提供了一种更好的正样本分配方式,具体分为以下几个步骤:
[0217]
1、计算每个真实框和当前特征点预测框的重合程度。
[0218]
2、计算将重合度最高的十个预测框与真实框的iou加起来求得每个真实框的k,也就代表每个真实框有k个特征点与之对应。
[0219]
3、计算每个真实框和当前特征点预测框的种类预测准确度。
[0220]
4、判断真实框的中心是否落在了特征点的一定半径内。
[0221]
5、计算cost代价矩阵。
[0222]
6、将cost最低的k个点作为该真实框的正样本。
[0223]
整个yolox网络的训练过程的损失函数由以下三个方面决定:reg部分特征点的回归参数判断、obj部分为特征点是否包含物体判断、cls部分为特征点包含的物体的种类为。
[0224]
1、reg部分,由第三部分可知道每个真实框对应的特征点,获取到每个框对应的特征点后,取出该特征点的预测框,利用真实框和预测框计算iou损失,作为reg部分的loss组成。
[0225]
2、obj部分,由第三部分可知道每个真实框对应的特征点,所有真实框对应的特征点都是正样本,剩余的特征点均为负样本,根据正负样本和特征点的是否包含物体的预测结果计算交叉熵损失,作为obj部分的loss组成。
[0226]
3、cls部分,由第三部分可知道每个真实框对应的特征点,获取到每个框对应的特征点后,取出该特征点的种类预测结果,根据真实框的种类和特征点的种类预测结果计算交叉熵损失,作为cls部分的loss组成。
[0227]
利用yolox-s算法,截取预测后的车辆图片后判断车辆停靠方式。再通过计算机视觉中的canny算子获得车辆轮廓并识别车辆偏转角度。
[0228]
canny的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:
[0229]
(1)最优检测:算法能够尽可能多地标识出图像中的实际边缘,漏检真实边缘的概率和误检非边缘的概率都尽可能小;
[0230]
(2)最优定位准则:检测到的边缘点的位置距离实际边缘点的位置最近,或者是由于噪声影响引起检测出的边缘偏离物体的真实边缘的程度最小;
[0231]
(3)检测点与边缘点一一对应:算子检测的边缘点与实际边缘点应该是一一对应。
[0232]
为了满足这些要求canny使用了变分法(calculus of variations),这是一种寻
找优化特定功能的函数的方法。最优检测使用四个指数函数项表示,但是它非常近似于高斯函数的一阶导数。
[0233]
canny边缘检测的效果是很显著的。相比普通的梯度算法大大抑制了噪声引起的伪边缘,而且是边缘细化,易于后续处理。对于对比度较低的图像,通过调节参数,canny算法也能有很好的效果。停车空间判断就是根据这些车辆的停靠方式与角度确定自身在停车位内的停车方式与角度,并计算在此停靠方式下的最大安全停车空间。
[0234]
得到完整的车位线轮廓后,接下来进行超声波雷达测距,结合基于概率框架的单目视觉slam算法构建停车空间坐标系。具体的,在该停车空间获取单元中,进行超声波雷达测距,结合基于概率框架的单目视觉slam算法构建停车空间坐标系:
[0235]
超声波发射器向某一方向发射超声波,同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s=340t/2
[0236]
基于概率框架的单目视觉slam在给定了从初始时刻到当前时刻的控制输入以及观测数据的条件下,构建一个联合后验概率密度函数来描述摄像机姿态和地图特征的空间位置。通过递归的贝叶斯滤波方法对此概率密度函数加以估计,从而实现摄像机slam。
[0237]
该算法使用扩展卡尔曼滤波ekf实现。扩展卡尔曼滤波ekf的状态转移方程和观测方程为:
[0238]
θk=f(θ
k-1
)+skꢀꢀꢀꢀꢀ
(1)
[0239]
zk=h(θk)+vkꢀꢀꢀ
(2)
[0240]
结合图3所示,在本实施例中,采用的是一种基于扩展卡尔曼滤波的实时单目slam系统—monoslam执行,包括:
[0241]
通过单目相机恢复快速通过未知场景时的3d轨迹的实时算法,在概率框架下在线创建稀疏但persistent的地图,包括主动(active)建图和测量、使用针对相机平滑运动的通用运动模型以及单目特征初始化和特征方位估计的解决方法;
[0242]
通过单目视觉slam建图确定当前车辆在目标停车空间下的坐标,按照和其他车辆相同停车方式,结合超声波雷达测距,确定停车空间的最大可用面积;
[0243]
最后利用多传感器进行障碍物检测,通过视觉传感器采集到的图片信息,通过轻量化目标检测网络yolox-s识别常见障碍物,并根据类别估算真实体积;若目标检测算法无法判断障碍物类型,则由超声波雷达进行距离判断,通过超声波雷达返回的距离信息,结合障碍物在图片上的大小,进行坐标定位以及体积的估算。
[0244]
可以理解的,如果目标区域完全没有停车线标识,则跳过车位线识别,结合其余的检测方法进行停车空间计算。此外,上述所有功能协同运作,以确保路面车位线信息的冗余,最大程度保证识别准确率。
[0245]
参考图12,为本发明提供的一种基于强化学习的城市道路自动泊车系统中的状态输入模块的一个优选的实施方式的结构框图,包括如下:
[0246]
921、第一状态输入单元,用于将slam建图后的鸟瞰图作为二维停车地图,同时以目标停车位几何中心为原点,建立平面直角坐标系,设车辆时刻t的坐标为(x
t
,y
t
),车辆的初始坐标为(x0,y0);
[0247]
922、第二状态输入单元,用于在车辆周身装上超声波雷达结合视觉传感器获取环境状态信息,以车辆的几何中心为圆心,划分半径为r的圆,将圆平均分割成36个扇形,超声波雷达负责检测实体障碍物,视觉传感器负责检测车道线和车位线,将交通标线中的实线视为障碍物;令第i个扇形内障碍物到圆心的距离为li,障碍物的移动速度为vi,车辆当前速度为v,转向角为μ,定义相对角为κ,表示车辆中轴线与停车位的角度;如图5所示。
[0248]
923、第三状态输入单元,用于定义停车位为极坐标原点,则车辆中心的坐标为(h,ρ),因此状态输入为(l0/r,v1,l1/r,v2,...,li/r,vi,...,l
36
/r,v
36
,x
t
/x0,y
t
/y0,v,μ,κ,h,ρ),并对状态向量每一个元素除以一个常数,使各元素的取值范围维持在(-1,1)内;当扇形i内没有障碍物时,li/r=-1,vi=0。
[0249]
参考图13,为本发明提供的一种基于强化学习的城市道路自动泊车系统中的泊车决策控制模块的一个优选的实施方式的结构框图,包括如下:
[0250]
931、神经网络训练单元,用于actor使用经验池中计算好的状态价值与critic网络预测当前状态价值进行神经网络的更新,用m均方差误差作为loss函数,对神经网络进行训练,得到更新后的目标神经网络;
[0251]
932、停车动作决策单元,用于将状态输入向量输入停车动作策略π
*
对应的更新后的目标神经网络,输出得到车辆的转向角和加速度,控制车辆的移动。
[0252]
可以理解的,本发明实施例所采用的泊车决策控制模块是基于改进的itd3算法进行停车控制,基于itd3算法的停车决策过程实际上是一个马尔科夫决策过程,其模型要素可以表示为一个五元组{s,a,p,r,γ}。
[0253]
在训练过程中,s是仿真环境状态的集合;a为agent采取的车辆动作集合(加速度和转向角);p是状态转移概率,其中,
[0254][0255]
表示agent在状态s下采取动作a后到达状态s'的概率;r代表单步停车决策得到的奖励值,
[0256]rt
=r[s
t
=s,a
t
=a]
[0257]
表示在状态s下采取动作a时得到的奖励;
[0258]
γ∈[0,1]是衰减率,用来权衡当前奖励与后续奖励的权重关系,其取值越大则越注重长远利益。agent依据停车动作策略π选择动作,在深度强化学习算法中,π通常为一个神经网络。agent在t时刻s
t
状态下,根据停车动作策略π执行动作a
t
,然后仿真环境运行一个时间步长后得到新状态s
t+1
和奖励r
t
。重复此过程,不断更新停车动作策略π,最后得到最优策略π
*
,最优停车动作策略公式为:
[0259][0260]
最优停车动作策略与价值函数有关,v
π
表示策略π下的价值:
[0261][0262]
当模型训练得到最优停车动作策略π
*
后,可以导出模型,作为停车动作控制算法的控制参数,实现自动停车。车载停车系统将采集到的环境状态转化为状态输入向量,输入
停车动作策略π
*
对应的神经网络,输出得到车辆的转向角和加速度,控制车辆的移动。
[0263]
本发明实施例所采用的泊车决策控制模块是基于改进的itd3算法进行停车控制,该算法中,使用critic神经网络输出q值,估计状态的价值,使用actor神经网络(代表停车动作策略π)输出算法的动作值控制车辆移动,并创建一个经验池,通过与仿真环境的交互,得到经验元组,以一定的组织方式放入经验池中。actor网络更新后,从经验池buffer采出的数据进行critic网络的更新,用于计算状态价值。
[0264]
actor使用经验池中计算好的状态价值与critic网络预测当前状态价值进行神经网络的更新,用m均方差误差作为loss函数,对神经网络进行训练。
[0265]
具体训练流程如下:
[0266]
1)、随机初始化critic神经网络q
θ1
,q
θ2
,actor网络π
φ
,对应的网络参数分别为θ1,θ2,φ,并将网络参数赋值给目标网络θ
′1←
θ1,θ
′2←
θ2,φ'

φ,创建两个空的经验池m
success
和m
failure
,初始化最小经验池长度|b|
min
,actor更新间隔

t,当前迭代代数t=0,最大迭代代数t;
[0267]
2)、当前状态向量为s,actor选择一个附加噪声的动作:
[0268]
a~π
φ
(s)+ε,ε~n(0,σ)
[0269]
仿真环境返回一个奖励值r和更新后的状态s',构成经验元组(s,a,r,s')并存入对应经验池;
[0270]
3)、当两个经验池的长度和大于预设值时,从经验池中取出batch组经验值;否则返回2);
[0271]
4)、从经验元组中取出数据,进行q值估计:
[0272][0273][0274]
令t=t+1,并更新critic网络:
[0275][0276]
5)、当tmod

t时,使用确定性策略梯度方法更新actor神经网络:
[0277][0278]
更新目标神经网络:
[0279]
θ
′i←
τθi+(1-τ)θ
′i[0280]
φ'

τφ+(1-τ)φ'
[0281]
6)、当t》t时,仿真训练结束;否则,返回2)。
[0282]
另外,为了进一步提高采样效率,优化算法收敛效果,本实施例提供的基于强化学习的城市道路自动泊车系统的泊车决策控制模块还用于,在所述神经网络训练单元的工作过程(2)中,通过以下方式存入对应经验池:定义最大停车动作时限t
max
,单次仿真最大允许撞车次数l;当至少满足以下条件之一时:1.单次仿真撞车次数大于l,2.车辆使出仿真环境边界,3.仿真运行时间大于最大停车动作时限t
max
;停止当前仿真,重新开始仿真;对经验池中的数据组织方式进行改进,将经验池一分为二为m
success
和m
failure
,分别存储成功和失败两种停车经验;假定时刻t车辆仍在运行且一段时间内未发生撞车行为,此时车辆探索得到的
停车经验为e
t
,则可以认定t-α时刻的经验e
t-a
对停车的影响是积极的,是一条成功的停车经验;因此除经验池m
success
和m
failure
外,另设置临时经验池m
temp
,用于存储最近的α条经验;该经验池的大小固定为α,当其存满后,如果临时经验池不存在撞车行为,就使用先进先出原则将其中最早的一条经验取出存入经验池m
success
;如果其存在撞车行为,就使用先进先出原则将其中最早的一条经验取出存入经验池m
failure
,然后将新的经验继续存入经验池m
temp
;如此反复,直至完成此次停车任务;最后根据车辆的最终状态,将经验池m
temp
中的所有经验存入对应的经验池m
success
或m
failure

[0283]
其中,其中,令总采样数为m,当m
success
长度不超过m*(1-β)时,令m
success
经验池的长度为|m
success
|,则从m
success
经验池中取|m
success
|条经验,从m
failure
中取m-|m
success
|条经验。当m
success
长度大于m*(1-β)时,两个经验池采样的数量分别为:
[0284][0285]
式中:n
success
,n
failure
分别为从m
success
和m
fai
l
ure
的采样数,β∈[0,1]是失败样本采样率。
[0286]
进一步的,本实施例提供的基于强化学习的城市道路自动泊车系统的泊车决策控制模块还用于:采用sumtree的形式对经验池的数据进行组织,如图9所示,将td误差的绝对值作为sumtree中每个叶节点的存储值;进行数据采样时,将优先级p的总和除以抽样数,得到区间数,然后在每个区间里随机选取一个数,将此数从sumtree的根节点开始,按照一定的规律向下搜索,最后将搜索得到的优先级p与样本数据相对应,即可实现更高效的经验回放。
[0287]
综上,本发明实施例提供的一种基于强化学习的城市道路自动泊车方法及系统,基于改进的td3算法,承接非标准化的车位线识别方式,采用了全新的状态输入方式,对标准以及非标准化的停车位进行泊车动作,一方面解决大量不够规范的停车位被浪费的问题,另外也能保证泊车动作的安全可靠。
[0288]
需要说明的是,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要进一步说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0289]
以上所揭露的仅为本发明一些较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1