将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 1

在这里插入图片描述
以下摘录一些章节片段:

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 系统软件,由硬件抽象层、OS 内核和中间件构成;
l 功能软件,包括自动驾驶通用框架、神经网络模块、传感器模块以及相关中间件;
l 应用软件,包括算法和应用,支持智能座舱以及自动驾驶(包括感知、定位、决策、规划和控制执行等)。

当今在汽车软件平台开发中,最有名的是AUTOSAR联盟,它提出了一个开源的软件开发标准。在传统软件开发V-模型基础上,汽车软件设计标准aSPICE以及著名的功能安全标准ISO 26262,都提出了各自的软件开发流程。

下面详细地讨论自动驾驶软件平台的问题。4.1介绍汽车行业的软件架构标准AUTOSAR,4.2软件开发过程中著名的V-模型,4.3简述一个汽车软件设计流程标准aSPICE,4.4介绍著名的安全标准ISO 26262定义的软件开发流程,4.5是Nvidia开发的自动驾驶软件框架DriveWorks,而4.6分析自动驾驶采用的操作系统平台, 4.7介绍一下自动驾驶云平台,最后4.8介绍DevOps和MLOps。

关于中间件的介绍片段:
在这里插入图片描述
关于模型训练的并行分布式介绍片段:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言中,查看经安装的包,查看已经加载的包,查看特定包是否已经安装,安装包,更新包,卸载包

创建于:2024.5.4 R语言中,查看经安装的包,查看已经加载的包,查看特定包是否已经安装,安装包,更新包,卸载包 文章目录 1. 查看经安装的包2. 查看已经加载的包3. 查看特定包是否已经安装4. 安装包…

【netty系列-03】深入理解NIO的基本原理和底层实现(详解)

Netty系列整体栏目 内容链接地址【一】深入理解网络通信基本原理和tcp/ip协议https://zhenghuisheng.blog.csdn.net/article/details/136359640【二】深入理解Socket本质和BIOhttps://zhenghuisheng.blog.csdn.net/article/details/136549478【三】深入理解NIO的基本原理和底层…

B树与B+树

B树定义 每个节点最多有m-1个关键字(可以存有的键值对,m表示树的高度)根节点最少可以只有1个关键字非根节点至少有m/2个关键字每个节点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它&#xff0c…

arm 交叉编译 thumb 与 arm 指令的方法

arm 交叉编译 thumb 与 arm 指令的方法 本文实现了在 x86 的 ubuntu 的机器上,使用 arm-linux-gnueabihf-gcc 交叉编译链工具,编译出在 arm 开发板上可以运行的 thumb 指令集的可执行文件。后续会使用 vscode 使用网络进行远程调试。 1. 编译器 arm-li…

高等代数复习:可对角化

文章目录 可对角化定义可对角化的刻画 本篇文章适合个人复习翻阅,不建议新手入门使用 可对角化 定义 定义:可对角化的线性映射 若 n n n 维线性空间 V V V 上的线性变换 φ \varphi φ 在某组基 { e 1 , e 2 , … , e n } \{e_1,e_2,\dots,e_n\} {…

如何将 redis 快速部署为 docker 容器?

部署 Redis 作为 Docker 容器是一种快速、灵活且可重复使用的方式,特别适合开发、测试和部署环境。本文将详细介绍如何将 Redis 部署为 Docker 容器,包括 Docker 安装、Redis 容器配置、数据持久化、网络设置等方面。 步骤 1:安装 Docker 首…

【Python异常处理】

文章目录 一、什么是异常?二、Python的异常处理机制三、异常处理示例1. 简单异常处理2. 捕获多个异常3. 使用else和finally 四、抛出异常 一、什么是异常? 异常指的是程序在执行过程中遇到的非正常情况,可能会导致程序中断或产生错误结果。常…

uni-app(优医咨询)项目实战 - 第3天

学习目标: 掌握 luch-request 网络请求的用法 能够对 Pinia 进行初始化操作 掌握创建 Store 及数据操作的步骤 能够对 Pinia 数据进行持久化的处理 掌握用户登录的实现方法 一、项目启动 从零起步创建项目,完整的静态页面可以从 gitee 仓库获取。 1.1 创建项目 以 HBuilde…

JavaEE 多线程详细讲解(1)

1.线程是什么 (shift F6)改类名 1.1.并发编程是什么 (1)当前的CPU,都是多核心CPU (2)需要一些特定的编程技巧,把要完成的仍无,拆解成多个部分,并且分别让…

中国打造成熟工艺产能,台积电力推先进工艺,反杀成功了!

分析机构指出2023年Q4全球芯片市场28纳米及以上工艺芯片占比在快速下降,已跌穿五成,这主要是台积电力推芯片企业向先进工艺发展,与中国大陆打造的成熟工艺芯片抗衡。 分析机构指出2023年Q4全球芯片以工艺划分,28纳米及以上工艺的芯…

考研入门55问---基础知识篇

考研入门55问---基础知识篇 01 >什么是研究生入学考试? 研究生是指大专和本科之后的深造课程。以研究生为最高学历, 研究生毕业后,也可称研究生,含义为研究生学历的人。在中国大陆地区,普通民众一般也将硕士毕业生称…

[入门] Unity Shader前置知识(5) —— 向量的运算

在Unity中,向量无处不在,我想很多人都使用过向量类的内置方法 normalized() 吧,我们都知道该方法是将其向量归一化从而作为一个方向与速度相乘,以达到角色朝任一方向移动时速度都相等的效果,但内部具体是如何将该向量进…

Spring - 8 ( 10000 字 Spring 入门级教程 )

一: MyBatis 1.1 引入 MyBatis 我们学习 MySQL 数据库时,已经学习了 JDBC 来操作数据库, 但是 JDBC 操作太复杂了. 我们先来回顾⼀下 JDBC 的操作流程: 创建数据库连接池 DataSource通过 DataSource 获取数据库连接 Connection编写要执行带 ? 占位符…

21岁的人生赚51W!拒绝捞男捞女,翻身也要爱惜身体!——早读(逆天打工人爬取热门微信文章解读)

身体是革命的本钱 引言Python 代码第一篇 卢克文工作室 捞女在今天的中国是怎样的存在第二篇 人民日报 来啦 新闻早班车要闻社会政策 结尾 我将我的健康视为生活的基石 不会为了短暂的成功而牺牲 我珍惜身体 知道健康是实现梦想的前提 引言 这里毕竟是一个程序员的代码学习平台…

LVS/NAT工作模式介绍及配置

1.1 LVS/NAT模式工作原理 LVS(Linux Virtual Server)的网络地址转换(NAT)模式是一种在网络层(第四层)实现负载均衡的方法。在NAT模式中,Director Server(DS)充当所有服务…

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试

工程代码https://download.csdn.net/download/txwtech/89258409?spm1001.2014.3001.5501 54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试 import socket from ohos.net.socket; import process from ohos.process; import wifiManager from ohos.wifiMana…

sql 中having和where区别

where 是用于筛选表中满足条件的行,不可以和聚类函数一起使用 having 是用于筛选满足条件的组 ,可与聚合函数一起使用 所以having语句中不能使用select中定义的名字

51单片机软件环境安装

keli5的安装 把CID放到破解程序中 破解程序会给一串数字然后填到那个框中 驱动程序的安装 安装完了以后 设备管理器会出现这个 同时c盘会出现这个文件夹

区块链 | IPFS:IPNS(实操版)

🦊原文:Publishing IPNS names Publishing IPNS names with Kubo Step1: 启动你的 IPFS 守护进程(如果尚未运行): $ ipfs daemon说明:以 $ 开头的是命令,以 > 开头的是执行结果…

php 常见的判断语句和用法

在 PHP 中,常见的判断语句主要使用 if、else、elseif(或 else if)、switch 和 case。这些语句用于根据条件执行不同的代码块。以下是这些判断语句的详细用法: 1. if 语句 if 语句用于在条件为真时执行代码块。 if (条件) {// 如…