自动驾驶前沿综述:基于深度强化学习的自动驾驶算法

2023-11-07

作者 | TIM  编辑 | 汽车人

原文链接:https://zhuanlan.zhihu.com/p/477372894

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【数据集下载】获取计算机视觉近30种数据集!

这是 21 年的一篇综述文章,可以算得上是最前沿的自动驾驶技术综述。这几年随着深度表征学习的发展,强化学习领域也得到了加强。文章会对目前最先进的自动驾驶 DRL 算法进行汇总和分类。

4556dbd6c0531ef45ca79aab7371d437.png

论文标题:

Deep Reinforcement Learning for Autonomous Driving: A Survey

论文链接:

https://arxiv.org/abs/2002.00444

da0dfa94bed33daebc1215dc5f4a9e1b.png


简介

自动驾驶系统(AD system),由多个级别的感知和控制任务组成,目前在感知方面,已经可以通过深度学习架构来实现。但在控制层面,经典的监督学习已经不再使用,因为代理需要在每一个瞬间做出动作决策,这些决策可能会改变场景条件。

2fb46c09e1d240b5c071cd64d61fbeff.png

▲ 自动驾驶各级别的任务

4a051537cfea4a4a51818d36745a814b.png


AD system 的组成

2.1 感知模块(Preception Module)

感知模块的目标是创建环境状态的中间级别表示(例如所有障碍物和代理的鸟瞰图),稍后将由最终产生驾驶策略的决策系统使用。该状态将包括车道位置、可行驶区域、代理(例如汽车和行人)的位置、交通信号灯的状态等。感知中的不确定性传播到信息链的其余部分。强大的传感对于安全至关重要,因此使用冗余源可以提高检测的信心。这是通过语义分割、运动估计、深度估计、污点检测等几种感知任务的组合来实现的,这些任务可以有效地统一成一个多任务模型。

▲ 多视角相机融合的鸟瞰图

2.2 场景理解(Scene Understanding)

该模块的作用是将感知模块获得的信息映射到高级动作或决策层。该模块旨在提供对场景的更高层次的理解,通过融合异构传感器源(如激光雷达、相机、雷达、超声波),抽象和概括场景信息,为决策制定提供简化的信息。

2.3 定位和建图(Localization and Mapping)

定位和建图技术,又称 SLAM 是自动驾驶的关键技术之一。由于问题的规模,传统的 SLAM 技术通过语义对象检测得到增强,以实现可靠的消歧。此外,局部高清地图(HD maps)可以用作物体检测的先验。

2.4 规划和推动策略(Planning and Driving Policy)

轨迹规划是自动驾驶中的关键模块,在高清地图或基于 GPS 的地图上计划路线,并引导代理生成运动层的命令。经典运动计划会忽略环境动态和差分约束,因此类似于 A* 算法之类的基于 Djisktra 的算法在此问题中并不适用。而快速探索随机树(RRT)通过随机采样和无障碍路径生成来探索配置空间。目前有多种版本的 RRT 被用于自动驾驶管道中的运动规划。

2.5 控制(Control)

这是最底层的运动控制,即汽车的加速加速,方向盘的转动角度,以及刹车。目前的车辆控制通常是基于经典的最优控制理论,通过状态空间方程  中的汽车当前状态  和 控制输入量  来控制汽车。此方法通常使用 MPC 模型和 PID 控制器使车辆跟随轨迹。但是目前自动驾驶车辆通常使用的是强化学习,该方法的好处是可以处理随机控制问题以及具有未知奖励和状态转移概率的不适定问题。更多此方面的内容推荐阅读综述文 [1]。

7ed229d5454a91a1c4b48ecfdc419315.png


强化学习(reinforcement Learning)

强化学习(RL)是于 监督学习(Sueprvised Learning)和非监督学习(Unsupervised Learning)之外的第三种机器学习(Machine Learning)方式。RL 通过一个代理来完成行动策略。代理的目标是最大化在其生命周期内收到的累积奖励。代理可以通过利用了解不同状态-动作对的预期效用(即预期未来奖励的折扣和)的知识来逐渐增加其长期奖励。

在形式化涉及单个 RL 代理的顺序决策问题时,马尔可夫决策过程 (MDP) 是最流行的解决方法。MDP 由一个状态集合 、一个动作集合 、一个转移函数  和一个奖励函数  组成。通过目标是找到最优策略 ,从而产生最高的折扣奖励总和期望值:

1a47547168cfee21dd903de61ae30f3f.png

其中, 是遵循策略  的状态值方程, 是折扣系数,, 用于控制代理如何看待未来的奖励,低  值鼓励代理人的短视行为,其中代理人旨在最大化短期奖励,而高  值导致代理人更具前瞻性并在更长的时间范围内最大化奖励。 为时间步数,它可以是有限的也可以是无限的。

另一个与状态函数方程相关的是状态-动作方程,又称为“Q值”:

42dfbd710df6e68aab9afd42826f5070.png

a59ec8b3b6cbdbbb8b79deaf4eb52c19.png

▲ MDP 决策的组成部分和关系图

在许多现实世界的应用领域中,智能体不可能观察到环境状态的所有特征;在这种情况下,决策问题被表述为部分可观察的马尔可夫决策过程(POMDP)。解决强化学习任务意味着找到一个策略 ,该策略使状态空间中轨迹上的期望折扣总和最大化。

RL 代理可以直接学习价值函数估计、策略和/或环境模型。动态规划(DP)算法可用于在给定环境模型的奖励和转移函数方面计算最优策略。与 DP 不同,在 MonteCarlo 方法中没有完整环境知识的假设。蒙特卡洛方法在逐集意义上是增量的。情节完成后,价值估计和政策被更新。

另一方面,时间差(TD)方法在逐步意义上是增量的,使其适用于非情节场景。与蒙特卡罗方法一样,TD 方法可以直接从原始经验中学习,而无需环境动态模型。与 DP 一样,TD 方法基于其他估计来学习它们的估计。

文章对于 RL 和 DRL 的算法进行了综合性的概述,这里不做详细的解释,建议系统性的学习这些算法。


6735e851075da08571445107cf7fdc5b.png


自动驾驶任务中的强化学习

在自动驾驶中,RL 可以完成的任务有:控制器优化、路径规划和轨迹优化、运动规划和动态路径规划、为复杂导航任务开发高级驾驶策略、高速公路、交叉路口、合并和拆分的基于场景的策略学习,预测行人、车辆等交通参与者的意图,并最终找到确保安全和执行风险估计的策略。

af04e5247f5b3f68dd2c8cbf46910e4b.png

4.1 状态空间、动作空间和奖励

为了成功地将 DRL 应用于自动驾驶任务,设计适当的状态空间、动作空间和奖励函数非常重要。

4.1.2 状态空间

自动驾驶汽车常用的状态空间特征包括:本车的位置、航向和速度,以及本车的传感器视野范围内的其他障碍物。此外,我们通常使用一个以自主车辆为中心的坐标系,并在其中增强车道信息,路径曲率、自主的过去和未来轨迹、纵向信息等。我们通常会使用一个鸟瞰图来展示这些信息。

4f991058977b8b2598632a97126c09e2.png

▲ 鸟瞰图

4.1.3 动作空间

自主车辆的控制策略需要操纵一系列执行器,比如方向盘,油门和刹车(暂时不考虑其他的执行器)。有一点需要注意的是,这些控制器都是在连续空间中运行的,而大多数 DRL 控制器属于离散空间。因此我们需要选择合适的时间步长。

奖励

为自动驾驶的 DRL 代理设计奖励函数仍然是一个悬而未决的问题。AD 任务的标准示例包括:向目的地行驶的距离 、本车的速度、使本车保持静止、与其他道路使用者或场景对象的碰撞,人行道上的违规行为,保持在车道上,保持舒适和稳定性,同时避免极端加速、制动或转向,并遵守交通规则。

4.2 运动规划和轨迹优化

运动规划是确保目标点和目的地点之间存在路径的任务。但是动态环境和变化的车辆动力学中的路径规划是自动驾驶中的一个难题,比如通过十字路口,或者并入高速公路。有许多文章在这方面做了尝试,并获得了不错的效果,比如论文 [4] [5] [6] [7]。

4.3 模拟器和场景生成工具

自动驾驶数据集使用包含图像、标签对的训练集来处理监督学习设置,用于各种模式。强化学习需要一个可以恢复状态-动作对的环境,同时分别对车辆状态、环境以及环境和代理的运动和动作的随机性进行建模。各种模拟器被积极用于训练和验证强化学习算法。具体信息如下:

b08ac402f88b532782a71396adde79d2.png

outside_default.png

参考文献

outside_default.png

[1] A Survey of Deep Learning Applications to Autonomous Vehicle Control:

https://ieeexplore.ieee.org/abstract/document/8951131?casa_token=fwUZxwU0Eo8AAAAA:B

[2] End-to-End Deep Reinforcement Learning for Lane Keeping Assist:https://arxiv.org/abs/1612.04340

[3] Deep Reinforcement Learning framework for Autonomous Driving:https://www.ingentaconnect.com/content/ist/ei/2017/00002017/00000019/art00012

[4] A Reinforcement Learning Based Approach for Automated Lane Change Maneuvers:https://ieeexplore.ieee.org/abstract/document/8500556?casa_token=OcyB7gHOxcAAAAAA:JrwO6

[5] Formulation of deep reinforcement learning architecture toward autonomous driving for on-ramp merge:https://ieeexplore.ieee.org/abstract/document/8317735?casa_token=HaEyBLwaSU0AAAAA:5

[6] A Multiple-Goal Reinforcement Learning Method for Complex Vehicle Overtaking Maneuvers:https://ieeexplore.ieee.org/abstract/document/5710424?casa_token=Y-bJbe3K9r0AAAAA:ZNo

[7] Navigating Occluded Intersections with Autonomous Vehicles Using Deep Reinforcement Learning:https://ieeexplore.ieee.org/abstract/document/8461233?casa_token=uuC5uVdLp60AAAAA:6fr7

[8] Reinforcement Learning with A* and a Deep Heuristic:https://arxiv.org/abs/1811.07745

[9] CARLA: An Open Urban Driving Simulator:https://proceedings.mlr.press/v78/dosovitskiy17a.html

[10] TORCS - The Open Racing Car Simulator:https://sourceforge.net/projects/torcs/

[11] MADRaS Multi-Agent DRiving Simulato:https://www.opensourceagenda.com/projects/madras

[12] Microscopic Traffic Simulation using SUMO:https://ieeexplore.ieee.org/abstract/document/8569938?casa_token=1z4z-bT6kTsAAAAA:BdTO6tJB4xEgr_EO0CPveWlForEQHJWyprok3uyy3DssqzT-7Eh-pr7H__3DOJPDdpuIVUr7Lw

[13] Flow: Architecture and Benchmarking for Reinforcement Learning in Traffic Control:https://www.researchgate.net/profile/Abdul-Rahman-Kreidieh/publication/320441979_Flow_Archite

[14] A Collection of Environments for Autonomous Driving and Tactical Decision-Making Tasks:https://github.com/eleurent/highway-env

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

7383e27168e5099e5caac530db9f4009.jpeg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动驾驶前沿综述:基于深度强化学习的自动驾驶算法 的相关文章

随机推荐

  • leetcode刷题笔记:两数之和

    题目链接 牺牲空间换时间 使用一个数组记录下遍历的数和target之间的差值 每遍历一个数查找差值列表是否存在该数 class Solution public int twoSum int nums int target int i int
  • Arduino数字滤波设计方法(Python测试滤波示例)和异常值过滤算法

    数字滤波设计 数字信号处理的目的是在数字系统上执行 而不是在模拟电路上进行操作 通过这种方式 它基于软件执行相同的任务 而不需要电子材料或更换 这种方法确保设计简单且可升级 比如用RC元件制作的模拟滤波器 就需要改变材料来改变滤波器的截止频
  • Docker使用阿里云镜像加速器

    登录阿里云控制台 搜索容器镜像服务 界面上没有可以在搜索框中搜索 进入容器镜像服务管理控制台 如果需要开通就按照提示开通一下 如下图所示 在容器镜像服务控制台最底下有个镜像加速器 点进去之后有一个加速器地址 使用这个地址作为docker镜像
  • FreeRTOS ------- 任务(task)

    在学习RTOS的时候 个人觉得带着问题去学习 会了解到更多 1 什么是任务 在FreeRTOS中 每个执行线程都被称为 任务 每个任务都是在自己权限范围内的一个小程序 其具有程序入口每个任务都是在自己权限范围内的一个小程序 其具有程序入口通
  • 中断模式中中断和事件的区别_C中中断和继续之间的区别

    中断模式中中断和事件的区别 In this tutorial you will learn about difference between break and continue in C 在本教程中 您将了解C语言中break和conti
  • 前端websocket连接开发时devserver代理配置及nginx代理配置

    页面代码 socketUrl ws location host websocket ws uid 1 location host即前端服务部署地址 var socket new WebSocket socketUrl 打开事件 socket
  • HTML5+CSS3定位+导航二维码显示隐藏切换案例

  • Qt 样式表介绍

    概述 Qt Widget界面美化除了自己绘制外 有一个更简单高效的方式 就是Qt样式表 Qt样式表是一种强大的机制 通过QApplication setStyleSheet 设置整个应用程序的样式 通过QWidget setStyleShe
  • 分享几个图床网址,便于大家分享图片

    1 ImgURL 图床ImgURL ImgURL免费图床https https www imgurl org 又是一个比较老牌的免费图床服务 稳定性不错 无需注册 游客限制每日上传10张 单张图片不能超过 5M 支持 HTTPS 诞生于20
  • 数组的方法-sort()

    数组的sort 方法主要用于对数组的元素进行排序 其中 sort 方法有一个可选参数 但是 此参数必须是函数 数组在调用sort 方法时 如果没有传参将按字母顺序 字符编码顺序 对数组中的元素进行排序 如果想按照其他标准进行排序 就需要进行
  • Vue路由+NodeJs环境搭建

    Vue路由 NodeJs环境搭建 一 Vue路由 第一步 引入js文件 第二步 创建两个组件展示相关的功能 第三步 形成组件与请求路径的对应关系 第四步 将路由关系和路由对象绑定 第五步 将路由关系和vue实例绑定 第六步 发起请求 第七步
  • 1、docker 镜像操作

    1 创建 拉取镜像 docker hub https hub docker com 搜索对应的镜像 搜索 nvidia cuda 在tags里最终选择 10 2 cudnn7 devel ubuntu18 04版本 最终完整的镜像名 nvi
  • 域名,端口,IP总结

    前言 真正的房子只有几个门 但是一个IP地址的端口可以有65536 即 2 16 个之多 端口是通过端口号来标记的 端口号只有整数 范围是从0 到65535 2 16 1 我们知道 一台拥有IP地址的主机可以提供许多服务 比如Web服务 F
  • 智能交通技术(ITSTech)公号推广简介

    2023年9月14日更新 一 智能交通技术 微信公众号 简介 关注智能交通 车路协同 交通规划 交通改善 智慧城市等领域新理论和技术发展 交流大数据 云边端计算 人工智能 区块链等技术的应用经验 推广智能交通技术在交通规划 交通运输监管 交
  • hj212协议如何和php通讯,HJ212数据传输标准报文解析

    HJ212分为2005年 HJ T212 2005 和2017年 HJ212 2017 的版本 略有不同 网上没找到非常官方的渠道下载 在这贴一份2017年版本的下载地址 TCP IP通讯包组成 名称 类型 长度 描述 包头 字符 2 固定
  • 有符号数和无符号数

    1 数值 针对二进制来讲 有 有符号数 signed 和无符号数 unsigned 因为计算机无法区分一个二进制数是有符号数还是无符号数 因此我们在定义时要明确该数值是有符号数还是无符号数 无符号类型需要通过unsigned关键字指定 否则
  • 下载bison和flex的好地方

    http sourceforge net projects gnuwin32 这里的bison和flex我觉得是最好用的 捣乱的
  • vue el-form-item给多个表单项绑定rules校验规则

    vue el form item给多个表单项绑定rules规则 如图所示 我们想要在element的表单里 给多个input添加校验规则 只需要在内部添加el form item项 并在el form item项里绑定prop和rules规
  • 基于Prompt的MLM文本分类

    简介 常规NLP做文本分类时常用Transfer Learning的方式 在预训练bert上加一个分类层 哪个输出节点概率最大则划分到哪一类别 而基于Prompt的MLM文本分类是将文本分类任务转化为MLM Masked Language
  • 自动驾驶前沿综述:基于深度强化学习的自动驾驶算法

    作者 TIM 编辑 汽车人 原文链接 https zhuanlan zhihu com p 477372894 点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心技术交流群 后台回复 数据集下载 获