将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 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…

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

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

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盘会出现这个文件夹

Flask教程3:jinja2模板引擎

文章目录 模板的导入与使用 模板的导入与使用 Flask通过render_template来实现模板的渲染,要使用这个方法,我们需要导入from flask import rander_template,模板中注释需放在{# #}中 模板的第一个参数为指定的模板文件名称,如自定…

Rust Rocket创建第一个hello world的Web程序 Rust Rocket开发常用网址和Rust常用命令

一、Rust Rocket简介 Rust Rocket 是一个用 Rust 语言编写的 Web 应用框架,它结合了 Rust 的安全性和性能优势,以及 Web 开发的便利性。以下是 Rust Rocket 框架的一些优点: 安全性:Rust 是一种注重安全性的编程语言,…

【C++】学习笔记——vector_2

文章目录 七、vector2. vecotr的使用3. vector的模拟实现 未完待续 七、vector 2. vecotr的使用 上节我们以二维数组结束&#xff0c;这一节我们以二维数组开始。 // 二维数组 vector<vector<int>> vv;二维数组在底层是连续的一维数组。vv[i][j] 是怎样访问的&a…

分布式与一致性协议之一致哈希算法(二)

一致哈希算法 使用哈希算法有什么问题 通过哈希算法&#xff0c;每个key都可以寻址到对应的服务器&#xff0c;比如&#xff0c;查询key是key-01,计算公式为hash(key-01)%3,警告过计算寻址到了编号为1的服务器节点A&#xff0c;如图所示。 但如果服务器数量发生变化&#x…

vue3使用el-autocomplete请求远程数据

服务器端 RestController RequestMapping("/teacher") public class TeacherController {Resourceprivate TeacherService teacherService;GetMapping({"/v1/getTop10TeacherByName/","/v1/getTop10TeacherByName/{name}"})public ResultBean&l…

快速批量重命名文件(夹)

首先&#xff0c;需要用到的这个工具&#xff1a; 度娘网盘 提取码&#xff1a;qwu2 蓝奏云 提取码&#xff1a;2r1z 我这里处理这4个文本&#xff0c;实际可以处理任意数量的文本和文件夹 1、打开工具&#xff0c;进入文件批量复制版块 2、点击“重命名” 3、把要重命名的…