以下摘录一些章节片段:
1. 概论
自动驾驶系统的认知中有一些模糊的地方,比如自动驾驶系统如何定义的问题,自动驾驶的研发为什么会有那么多的子模块,怎么才算自动驾驶落地等等。本章想先给读者一个概括介绍,了解自动驾驶的分级方法,搞清楚自动驾驶的模块化开发和端到端学习开发的区别,以及都有哪些自动驾驶的应用场景。
本章
1.1
介绍自动驾驶的分级系统,
1.2
简介系统的模块化结构和开发方法,而
1.3
是不常用的端到端的系统开发思路,
1.4
介绍自动驾驶的落地场景分类,最后
1.5
引入数据闭环这个开发平台概念。
关于数据闭环的介绍片段:
2. 基础理论
自动驾驶系统的开发需要掌握一些专业知识,最根本的是机器学习和深度学习,此外还需要有计算机视觉和图像处理的基础,也涉及一些数值计算和优化算法的知识。
该章无法深入地对这些领域做详细的介绍,只能是基本概念和算法的一个快速浏览,中间会抽取关键点进行深入介绍。如果真正想全面学习和掌握这些知识,还需要阅读专门的论文和著作。
首先
2.1
介绍计算机视觉的框架,重点取几个关键点进行分析,比如
SIFT
特征提取、摄像头的标定、运动估计和运动恢复结构(
SFM
),其实另外一些模块,比如立体视觉(
stereo vision
)、单目形状重建(
shape from X
)还有目标检测
/
识别
/
跟踪
/
分割,都会在第
5
章感知中重点介绍,这里不再重复;
2.2
简介图像处理理论,特别分析两种图像去噪的算法,即双边滤波(
BLF
,
Bilateral filtering
)和非邻域均值(
Non-local Means
,
NLM
)滤波;
2.3
是优化理论一览,特别讨论了两种常见的非线性
LS
方法,
G-N
法和
L-M
法;
2.4
概述机器学习的理论,重点介绍常用的支持向量机和随机森林;
2.5
对深度学习理论进行了概述,其中对卷积神经网络(
CNN
)、递归神经网络(
RNN
)、生成对抗网络(
GAN
)和
Transformer
重点讨论。
关于机器学习的一段讨论:
3. 硬件平台
自动驾驶汽车相比于传统汽车的主要区别在于其装备有大量新传感器和支持自动驾驶算法的强大计算硬件。这里讨论的自动驾驶硬件平台主要包括有车体控制部分、线控地盘、传感器和计算平台。
另外,随着
“
软件定义汽车(
SDV
)
”
的大潮,电子电气架构(
EEA
)也出现了新的演进和发展,包括滑板底盘的出现。而智能汽车的发展,包括智能驾驶汽车,顺应了当今汽车
“
新四化
”
(
电动化、网联化、智能化和共享化
)的
变革趋势,也推动计算机技术、通信网络技术、人工智能和大数据云计算等在汽车产业的深入应用。
本章
3.1
介绍传感器,即摄像头、激光雷达、毫米波雷达、超声波雷达、惯导(
IMU
)、导航系统(
GPS
)和车联网(
V2X
),
3.2
是简述车体控制,包括
VCU/ECU/MCU
、
CAN
总线、
ESP
和
EPS
,
3.3
主要讨论目前的商业计算平台,主要是几家如
Intel Mobileye
的
EQ
系列,
Nvidia
公司的
Drive Xavier
和
Orin
,
TI
的
TDA4VM
和
Qualcomm
公司
的
Ride
,
3.4
介绍线控底盘技术,
3.5
主要讨论汽车电子电气架构的技术。
关于激光雷达的缺点分析片段:
关于雷达技术的缺点分析片段:
以及新雷达技术的介绍片段:
4. 软件平台
随着自动驾驶技术的发展,有更多的软件公司投入到自动驾驶软件平台的开发,比如
Nvidia
的商用化产品
DriveWorks
,以及百度开源的阿波罗。
当今汽车智能化的大趋势下,
“
软件定义汽车
”
成为产业共识。相较于传统汽车,智能汽车的目标是创造全新的驾驶体验,这也是形成差异化的关键。因此,软件和算法逐步成为了汽车产业的竞争核心要素,同时车辆制造的门槛也由从前的上万个零部件集成能力演变成将上亿行代码组合运行的能力。
随着汽车电子电气架构(
EEA
)的演进,智能汽车软件架构也渐渐从面向信号架构(
Signal-Oriented Architecture
)向面向服务架构(
Service-Oriented Architecture
)转型升级。面向服务架构(
SOA
)作为一种软件设计方法和理念,具备接口标准化、松耦合、灵活易于扩展等特点。
自动驾驶软件平台基本可分成以下三个层次:
l
系统软件,由硬件抽象层、