本文主要是介绍将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第五章 感知模块
我们俗称自动驾驶要回答几个问题:
- 定位-“我在哪儿 (where am I)?”
- 感知-“我周围是什么 (what’s around me)?“
- 预测-“下一步会发生什么(what will happen next)? “
- 规划-“我要做什么(What should I do)? “
- 控制- “怎么做(How to do)?
感知模块相当于自动驾驶车辆的“眼睛”,它跟传感器直接相接,获取大量传感器的数据输入,然后分析处理后得到周围环境的理解,包括障碍物检测,跟踪和距离估计,车道识别和分割,交通标志和红绿灯识别等。由于现在自动驾驶系统都是装载多个多种传感器,所以传感器融合是必要的也是重要的感知部分,甚至一些系统把它单独列出来,独立于感知模块。
本章从5.1车载各种传感器的标定开始,5.2介绍了单目摄像头测距的各种方法,以及5.3单目图像的深度估计算法;接着5.4分析了目前单目摄像头的3-D障碍物检测方法,即3-D目标长方体框在图像的投影而不是2-D矩形框而已;然后5.5对障碍物跟踪方法展开讨论,包括单目标和多目标情形;传感器融合是重要的问题,5.6从数据级和任务级两个层次分析了融合的方法;5.7、5.8和5.9主要讨论车载视觉系统关心的三个问题:车道线检测、交通牌识别和红绿灯识别; 5.10重点讨论视觉摄像头看到的可驾驶区域问题,即语义的道路分割;5.11是基于立体视觉的感知模块分析;由于行人的行为分析需要,人体姿态估计在5.12讨论; 5.13特别提到驾驶员监控系统(DMS)的实现算法;5.14对当前最新的BEV感知系统做深入讨论。
关于BEV的介绍片段:
“
第六章 高清地图
“高清地图(HD map)”概念于2010年Mercedes-Benz首次引入,随后于2013年为Bertha Drive 项目做出贡献。在Bertha Drive项目中,Mercedes-Benz S500以完全自主的模式完成了Bertha-Benz Memorial Route,使用高度精确且信息丰富的3D路线图,该路线图后来被一家名为HERE的参与地图公司命名为“高清(HD)实时地图”。
高清地图(HD Map),在自动驾驶领域被看得很重,因为它能提供先验知识,让感知难度降低,同时规划有的放矢。
高清地图不是新的东西,已经有一些地图和自动驾驶公司开始制作和使用HD Map。但是,HD Map的制作和包含的信息以及精度仍然没有统一的共识。
本章6.1首先介绍高清地图的基本类型、层次、格式和制作方法,然后6.2重点讨论语义地图的各种生成方法,6.3强调车道线级别高清地图的制作方法,最后6.4介绍基于深度学习的SLAM方法。
关于高清地图制作的介绍片段:
第七章 定位模块
就道路上的自动驾驶车辆而言,首先重要的任务之一是将车辆定位在道路上。为此,车辆需要考虑来自多个传感器的信息,并将其与来自道路地图的数据融合。道路定位问题可以归结为三个部分:第一个是车辆当前行驶的道路确定;事实上,全球导航卫星系统还不够精确,无法自行推断出这些信息,因此需要一个滤波步骤;第二个是估计车辆在车道中的位置;最后第三个是评估车辆当前行驶的车道。这里讨论主要限于后两个部分,因为第一个在基于导航地图的定位中已经有成熟的方案,比如地图匹配(车辆位置与地图的路网相匹配)等。
有两种技术适合这个任务。第一种方法取决于高清地图存储的地标精确位置(例如车道标记),系统必须将检测的地标与地图中存储的地标相匹配。第二种技术完全依赖于车载传感器检测视觉地标,例如道路上的所有车道;然而,由于其他车辆的遮挡,有时无法检测到道路上所有车道标记;提取的相关道路级特征送入一个高级融合框架,该框架评估车道数和车辆行驶的车道。本章只限于讨论第一种方法。
基于地图的定位实际上分成两个阶段。在位置识别(place recognition)阶段,将传感器输出与一组地理标记的感兴趣地图区域进行比较,确定车辆在地图中的初始位置。随后,在地图度量定位(map metric localization)阶段,不断将传感器输出与经过的地图当前区域对齐,这样车辆在地图上运动的同时被跟踪。
因此,定位需要感知模块提供数据输入和地图的信息进行匹配;那么类似于感知模块,定位模块也会采用传感器融合的思路,即采用GPS/DGPS(如RTK),IMU,摄像头,激光雷达加高清地图的组合。
GPS定位是经典的方法,但是环境中电磁波的传播会因为天气、大气层,高楼大厦和山丘等因素产生时间误差,并造成估计的距离误差。为了补偿部分误差,提出了差分GPS即DGPS,比如RTK技术。千寻网络背靠中国兵器工业集团和阿里巴巴集团两个大公司,在全国提供这方面的服务。
还有另外两个定位算法:分为里程计法和惯性导航法。里程计( Odometry ) 是一种被广泛应用的方式,通过安装在车轮上的光电编码器(wheel encoder)记录车辆的运动过程从而估计其位置。惯性导航法(IMU)则利用加速度计和陀螺仪实现定位,里程计由于轮子侧滑会带来误差,而惯导的积分累积误差也会带来困扰,里程计和惯性导航的定位精度一般比较差,最好和GPS或者激光雷达/摄像头联合使用实现航位推测(dead reckoning)。
激光雷达点云数据做定位的方法,是要求感知输入的激光雷达点云(有的方法允许反射图)和高清地图的点云匹配,直接ICP计算量太大。大家熟悉的算法,常用的有正态分布变换(NDT,normal distributions transform),还有斯坦福大学的直方图滤波器(histogram filter)和粒子滤波(particle filter)之类。算法要求车载系统有激光雷达传感器,能够实时采集现场点云数据。也有压缩点云数据的快速匹配定位方法,比如TomTom的RoadDNA,Civil Maps的指纹图(Fingerprint Map),定位难度和精度上会有所折衷。
摄像头定位是视觉里程计或者视觉SLAM采用的,以前有不少研究“基于图像的重定位(Image-based Re-localization)”问题,用于SLAM的闭环(loop closure)检测和跟踪失败(tracking failure)恢复等等。SLAM方法包括稀疏法、致密法和半致密法,但在自动驾驶这个场景中,稀疏法是最合适的。不过,单纯靠视觉的特征点来实现定位是不足的,还需要语义目标的辅助,即语义地图。在自动驾驶中,语义地图最实用的是基于车道线的地图。
本章是前一章高清地图的衔接,首先7.1介绍低成本的基于车道线地图的定位技术,然后7.2讨论基于激光雷达的定位算法,接着7.3分析多传感器的融合定位方法,最后7.4介绍基于深度学习的定位方法。
关于深度学习的视觉定位分析片段:
“
第八章 规划(包括预测)模块
自动驾驶中的规划模块是确定车辆的动作,它基于输入的感知结果,而结果将送入控制模块确定车辆的实际操作。前面提到感知相当于自动驾驶的“眼睛“,那么规划的作用就相当于”大脑“,是非常重要的模块。
首先,需要确定几个专业词的表述:路线 = route;路径 = path;轨迹 = trajectory。
本章8.1首先介绍基本的规划理论,分三个层次,即路线规划、行为规划和运动规划;8.2讨论驾驶行为建模和预测,主要是基于数据驱动的机器学习方法;8.3扩展到行人行为的建模和预测问题;最后8.4附带讨论如何学习老司机的驾驶技术,是8.2课题的深入。
关于运动规划的讨论片段:
关于神经规划器的介绍片段:
关于车辆预测方法的分析片段:
“
这篇关于将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!