Press "Enter" to skip to content

从轨道上的世界学习驾驶

arXiv论文“Learning to drive from a world on rails“,21年10月,德州奥斯丁分校和Intel Labs。

 

通过基于模型的方法从预记录的驾驶日志中学习基于视觉的交互式驾驶策略。世界的一个前向模型监督预测任何潜在驾驶轨迹结果的驾驶策略。为了支持从预记录的日志中学习,假设“世界在轨道”,这意味着智体及其操作都不会影响环境。该假设大大简化了学习问题,将动力学分解为非反应性世界模型和低维-紧凑的自车前向模型。

 

该方法用Bellman方程的表格式动态规划评估来计算每个训练轨迹的动作-价值;这些动作-价值反过来监督最终基于视觉的驾驶策略。尽管有“世界在轨道”的假设,但最终的驾驶策略在动态的、反应性的世界中表现良好。

 

代码: https:// dotchen.github.io/world _on_rails

 

如图所示:给定传感器数据、驾驶状态和动作的离线驾驶轨迹数据集,首先学习自车的前向模型(a)。然后,用离线驾驶轨迹计算预定义奖励下的动作-价值,并用动态规划和Bellman方程(b)的后向归纳法学习前向模型。最后,动作-价值通过策略蒸馏(policy distillation)来监督反应式视觉运动(visuomotor)驾驶策略(c)。对于单个图像,对所有车速和动作的策略进行监控,获得更丰富的监控信号。

 

如下是算法伪代码:

 

在一小部分轨迹上训练自车前向模型Tego。收集轨迹子集,以跨越自车的整个动作空间:转向和制动均匀采样,制动器从伯努利分布中采样。前向模型Tego将当前自车状态2D位置(xt,yt),方向θt,速度vt作为输入,并预测下一个自车状态xt+1,yt+1,θt+1,vt+1。用参数化自行车模型作为Tego的结构先验。特别是,只学习车辆轴距fb、rb、从驾驶转向s到车轮转向φ的映射,以及从油门和制动到加速度a的映射。用L1损失和随机梯度下降(STD)以自回归方式训练Tego。

 

对每个时间步长t,将价值函数Vt表示为4D张量,离散为NH×NW位置bins、Nv速度bins和Nθ方向bins。NH=NW=96,Nv=4,nθ=5。每个bin的物理尺寸为13×13 m^2,对应于2m/s的速度范围和38◦ 方向范围。离散化中,自车状态Lˆego=(x,y,v,θ)始终为中心,即自车(xt,yt)的位置位于空间离散化的中心。只代表相对于自车范围内的方向[−95◦, 95◦] 。计算动作-价值函数时,在其24个相邻bin之间用线性插值对不位于bin中心的任何价值Vt进行插值。一次在所有状态上计算线性插值,并在自车状态维度(位置、速度和方向)上分解,因此非常高效。不在离散化范围内的值为0。将动作离散为Ms×Mt bin,分别用于转向和油门,以及一个额外的bin用于制动。刹车时不转向或制动。总共9.3+1=28个离散动作,其中Ms=9和Mt=3。

 

策略网络使用ResNet34主干去解析RGB的输入信号。用全局平均池化将ResNet特征展平,然后将其与自车速连接,并将其馈送到全连接网络。该网络在离散化的动作空间上产生类别分布。

 

实验结果如下:

 

如图所示当前帧计算价值函数和动作-价值函数的可视化:RGB摄像机图像(a)和BEV(b)显示了自车在世界的位置。价值图(c)显示了4个速度bin×5个方向bin的离散化表格价值估计。定向bin为−95◦ 至95◦ (从左到右),速度bin从上到下为0米/秒到8米/秒。每个地图的分辨率为96×96,对应于车辆周围24m^2的面积。在自车后面裁剪区域进行可视化。价值图用5个Bellman更新,并查看未来1.25秒。(d) 显示基于当前自车状态的动作-价值。具有最高价值的操作用红色框高亮显示。摄像机RGB图像作为输入,这些动作-价值监督视觉运动策略。

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注