自动驾驶Agent(一)感知-决策端到端可解释


 

    最近把整个自动驾驶的东西盘了下。基本搞明白了主体枝干。学习一个领域知识先建知识结构树,再添枝干叶子吧。

 

一、总体框架 


    下面这张图是一个17年的,比较老了。是一个传统的架构图。来自于这篇文章:无人驾驶的决策规划控制技术


    温故而知新。作为框架理解整个pipeline入门还是很有帮助的。但现在行为决策动作规划这块变化很大。有不少的新范式。

 



 

    我给大家画了一个框架图。我的框架图着重点不在整个pipeline,重点落在了整个pipeline中的技术点上了。目前做一个完整的自动驾驶车辆,都用哪些方法,触及了哪些细分研究领域。这些都是你搜索论文的入口。

 

感知器:

    这一块谷歌waymo整理的比较完整。每个方向和领域都整理了一个数据集和一个比赛,然后每个赛道的前三名的方案都公开了。你把这些资料摸透了就跟进了最前沿的研究。

 


链接:https://waymo.com/open/challenges/#


决策器:

    强化学习做自动驾驶现在基本是主流了。目前有三种方法:

1)模仿学习。这个方法做决策器的思路是比较Raw的。最开始的思路非常简单,直观的说,就是把驾驶员的操作行为数据拿出来,用一个model来拟合这些数据。就是模仿学习。例如,当车辆走到拐角的时候,驾驶员会转动方向盘,model就按回归模型一样去学这个转动的角度,像二分类模型一样去学是否转动方向盘,左转还是右转。但这个方法有缺点,就是异常行为数据少,容易训练出来一个单分类器,其次,轨迹数据有限,一旦遇到新情况就GG了。所以有很多优化,一个最naïve的优化方法就是“不懂就问”,既然训练集覆盖的轨迹信号太少,就让Agent自己跑一段陌生的路,然后遇到不会的地方就问专家,看该怎么走,然后人工标注一下该怎么走,从而提升模型的鲁棒性。

2)Model-base 与Model-free。目前这两个方法是主流的方法。所谓的model,就

是说是否对环境建模,有model的,是可以预测下一个环境的状态和动作的,而Model-free的呢,则直接对反馈信号建模,前者学过程,后者直接学结果。

 

决策器这一块,这个加州大学伯克利分校的MSC lab实验室的人研究的比较多。跟进即可。

https://msc.berkeley.edu/

 

二、如何寻找高质量的信息输入口

    

    感知器方面,直接跟进CV的一些会议期刊就可以了。比如说CVPR ECCV ICCV。但决策器这块就不一样了。这一块行业内很多人是从车辆工程、机械工程、机器人这些学科领域转行过来的。他们发文章交流的地方跟一般的算法从业者关注的圈子不一样。我把他们喜欢发文章的地方列在了下面:

    1、IEEE International Conference on Robotics and Automation (ICRA)

    2、International Conference on Intelligent Robots and Systems (IROS)

      3、Conference on Intelligent Transportation Systems  ITSC

      4、IEEE Intelligent Vehicles Symposium   IV

 

这四个会议是最经典的。其他的比较零散。


三、动手实战怎么玩

   

    自动驾驶的仿真控制平台还蛮多的。有这么几个



    我最终选了Carla。原因其实非常简单,我发现顶会论文中,开源的代码是基于Carla平台的占了60%以上。而百度的Apollo,国外的研究者用的很少的。方便复现论文,尽快跟进前沿研究,就用这个平台了。

    这个平台的环境搭建还不轻松,Unreal4这个引擎是一个游戏引擎。安装还是有些费劲的。有些是C++的,需要编译。

 

 

四、构建一个端到端自动驾驶Agent的新思路

 

    最近看了一篇文章,非常有意思,直接进行端到端建模。输入的是车辆周边的图像和雷达点云数据,直接训练一个Agent model,来自动驾驶车辆。相当于这个Agent能够自动做感知了。当然,目前这个领域还是课题性质,毕竟感知环境不是一个容易的事情。目前这个感知器本质只是构建一个鸟瞰图。

 



 

    这个是论文的整个结构图,输入的Sensor Inputs就是图片和雷达数据,然后通过一个隐序列模型,学到一个鸟瞰图,根据鸟瞰图的信号,训练一个RL 智能体,然后就直接控制车辆了。最后还在Carla中模拟了一把,效果还很好。

 

    论文名称:Interpretable End-to-end Urban Autonomous Driving with Latent Deep Reinforcement Learning

    代码地址:https://github.com/cjy1992/interp-e2e-driving

论文解说的PPT我放公众号里了。需要的后台发送e2eauto即可自取。

 

 


 


请使用浏览器的分享功能分享到微信等