1.基于单目RGB‑D特征和强化学习的端到端自动驾驶决策方法,其特征在于,所述方法包括以下步骤:
步骤S500:获取RGB图像,将所述RGB图像输入至预先训练好的图像特征提取网络和预先训练好的单目深度特征提取网络;
步骤S600:所述预先训练好的图像特征提取网络对所述RGB图像进行特征提取得到第一图像特征,所述预先训练好的单目深度特征提取网络对所述RGB图像进行特征提取得到第一深度特征;
步骤S700:对所述图像特征和所述第一深度特征进行RGB‑D特征融合,得到融合后的第一特征向量;
步骤S800:将所述融合后的第一特征向量和预先存储的历史动作向量拼接得到第一状态向量,并将所述第一状态向量输入至预先训练好的智能体网络得到Q值,根据所述Q值进行自动驾驶决策。
2.根据权利要求1所述的方法,其特征在于,步骤S500之前还包括:步骤S100:搭建图像特征提取网络、单目深度特征提取网络和智能体网络;
步骤S200:获取RGB训练图像It和It‑1,将所述It输入至所述图像特征提取网络得到第二图像特征,将所述It和It‑1输入至所述单目深度特征提取网络进行训练得到第二深度特征;
步骤S300:对所述第二图像特征和所述第二深度特征进行RGB‑D特征融合,得到融合后的第二特征向量;
步骤S400:将所述融合后的第二特征向量和预先存储的历史动作向量拼接得到第二状态向量,根据所述第二状态向量得到训练样本组放入经验回放池,从经验回放池中获取预设组训练样本,根据所述预设组训练样本和预设的目标网络对所述智能体网络进行训练得到训练好的智能体网络。
3.根据权利要求2所述的方法,其特征在于,所述单目深度特征提取网络包括深度网络和位姿网络,深度网络包括第一编码模块和第一解码模块,所述位姿网络包括第二编码模块和第二解码模块,步骤S200中将所述It和It‑1输入至所述单目深度特征提取网络得到第二深度特征,包括:
步骤S210:所述第一编码模块采用深度残差网络对It进行特征提取输出特征图,所述第一解码模块对所述第一编码模块输出的特征图上采样至不同的尺寸得到不同的尺寸的特征图,并将所述不同的尺寸的特征图分别上采样至原图大小;
步骤S220:将上采样至原图大小后的多个特征图沿通道拼接得到第二深度特征;
步骤S230:所述第二编码模块采用深度残差网络对It和It‑1进行编码后输入至所述第二解码模块,所述第二解码模块对编码后的It和It‑1进行解码,回归出解码后的It和It‑1中对应每个像素点的运动信息;
步骤S240:根据对应每个像素点的运动信息,利用全局平均池化求得It‑1到It的轴角与平移向量位姿,并通过罗德里格旋转公式得到位姿旋转矩阵步骤S250:根据所述位姿旋转矩阵 和预设的第一损失函数得到光度重投影误差,根据所述光度重投影误差进行反向传播优化所述单目深度特征提取网络的网络参数。
4.根据权利要求3所述的方法,其特征在于,步骤S250中根据所述位姿旋转矩阵 和预设的第一损失函数得到光度重投影误差,包括:其中,It‑1→t是利用位姿旋转矩阵 预测深度图Dt及相机内参K将It‑1映射至t时刻的结果,具体为:
其中,proj函数是利用Dt、 和K重投影到It‑1的2D像素坐标,<·>表示采样算子;
pe(·)表示预设的第一损失函数,具体为:其中,SSIM(·)表示结构相似性损失,||·||1表示L1范数损失,α是用于平衡结构相似性损失和范数损失两种损失重要性的参数。
5.根据权利要求2所述的方法,其特征在于,所述训练样本组包括第二状态向量、最佳动作、奖励和下一状态,步骤S400中根据第二状态向量得到训练样本组,包括:(1)根据所述第二状态向量确定最佳动作,具体为:其中,st表示第二状态向量,at表示最佳动作,ε表示贪婪策略概率参数;
(2)根据所述最佳动作和预设的奖励函数确定奖励:其中,ct表示t时刻车辆是否发生碰撞,其中,ct=1表示有碰撞发生,否则没有,vt表示t时刻的行驶速度,“其它”表示碰撞传感器没有反馈碰撞事件或车速vt≤50km/h的情况。
6.根据权利要求5所述的方法,其特征在于,预设的目标网络和所述智能体网络的结构一样,步骤S400中根据所述预设组训练样本和预设的目标网络对所述智能体网络进行训练得到训练好的智能体网络,包括:
步骤S410:将所述预设组训练样本中的预设数量个状态向量分别输入至所述智能体网络中,得到动作对应的Q(s,a|θ)值,s、a、θ分别表示当前状态、当前状态对应的动作和所述智能体网络的参数;
步骤S420:将所述预设组训练样本中的预设数量个下一状态输入至所述预设的目标网‑
络中,得到动作对应的 值,s′、a′、θ分别表示下一状态、下一状态对应的动作和所述预设的目标网络的参数;
步骤S430:从预设数量个 值中取最大的值,结合所述奖励,得到目标Q值;
步骤S440:根据所述动作对应的Q(s,a|θ)值、所述目标Q值和预设的第二损失函数得到损失值,根据所述损失值进行反向传播更新所述智能体网络的网络参数并迭代时间步长,当所述时间步长达到预设值时,将所述智能体网络的网络参数更新到所述目标网络的网络参数。
7.根据权利要求6所述的方法,其特征在于,步骤S440中所述预设的第二损失函数具体为:
2
L(s,a|θ)=(yi‑Q(s,a|θ))其中,Q(s,a|θ)表示s状态下动作a对应的Q值,yi表示目标Q值,L(s,a|θ)表示第二损失函数的损失值,其中,yi的表达式为:其中,r为奖励,γ为系数, 为预设数量个 值中的最大值。
8.根据权利要求2所述的方法,其特征在于,步骤S300中第二特征向量的表达式为:ft=flatten(fconv(cat(Fi,ds(Fd))))其中,ds(·)表示双线性插值下采样操作,cat(·)表示沿通道方向拼接操作,fconv表示后接批归一化和ReLu非线性激活函数的卷积核为1×1×(Ci+Cd)的卷积操作,Ci表示第二图像特征的通道数,Cd表示第二深度特征的通道数,flatten(·)表示张量展平操作,Fi为第二图像特征,Fd为第二深度特征,ft为融合后的第二特征向量。
9.根本权利要求1所述的方法,其特征在于,步骤S800中将所述第一状态向量输入至预先训练好的智能体网络得到Q值,包括:步骤S810:所述第一状态向量经过全连接层映射至预设维度,得到预设维度的第一状态向量;
步骤S820:将所述预设维度的第一状态向量分别输入至值网络和优势函数网络,分别得到当前时刻的状态值和表示该状态下的每个动作的重要性的优势值;
步骤S830:根据所述当前时刻的状态值和所述优势值得到对应于每个动作的Q值。
10.根本权利要求9所述的方法,其特征在于,步骤S830具体为:其中,Q(s,a)表示在状态s下采取动作a的回报值,V(s)表示当前时刻的状态值,A(s,a)表示状态s下的每个动作的重要性的优势值,A(s,a')表示状态s下的所有动作的重要性的优势值。