简单理解自动驾驶-看这篇够了!

本文主要介绍自动驾驶技术的整体框架,旨在从宏观理解自动驾驶技术。

🎬个人简介:一个全栈工程师的升级之路!
📋个人专栏:自动驾驶技术
🎀CSDN主页 发狂的小花
🌄人生秘诀:学习的本质就是极致重复!

目录

一、认识自动驾驶

1. 什么是自动驾驶?

2. 自动驾驶整体框架

3. 自动驾驶六大级别

二、智能驾驶核心技术

1. 感知技术

2. 数据处理技术

3. AI训练技术

自动驾驶是边缘计算的一种典型应用场景,而在边缘计算领域,NVIDIA认证的企业级边缘服务器一共有51款,其中仅戴尔一家就占据了31款,高居榜首。

4. 数据安全技术

三、智能驾驶前景


Image

这几年,自动驾驶这个概念非常火热,无论是百度还是谷歌,都做出了还不错的原型机,但是你真的知道什么是自动驾驶吗?

本文就花 5 分钟左右的时间,向大家科普一下什么是自动驾驶。

自动驾驶,从字面上也可以看出来,就是让机器代替人来开车,而我们人类则撒手不管,吃着火锅、唱着曲儿、搓着麻将。

Image

当然,这是自动驾驶的最高状态,就目前技术阶段,还必须有人来解决一些突发情况,我们会在接下来的日子里越来越多的接触到汽车的自动驾驶方面的信息。

一、认识自动驾驶

1. 什么是自动驾驶?

自动驾驶系统是通过车载传感系统感知道路环境,并根据感知所获得的道路、车辆位置和障碍物信息,控制车辆的转向和速度,从而使车辆能够安全、可靠地在道路上行驶并到达预定地点的功能。

有点太教科书了吧?简单来说,就是本来是人开车,现在让机器全部或部分替代这些本来由人来执行的功能(开车)。

Image

2. 自动驾驶整体框架

想要实现无人驾驶,必须包含感知层、决策层和执行层三个方面,他们分别代替了人类的眼睛、大脑和手脚。

Image

感知层用来代替人的眼睛,通过传感器(激光雷达、摄像头、毫米波雷达、高精地图等)来采集驾驶员行驶过程中涉及到的驾驶信息;

决策层用来代替人的大脑,通过获取到的信息进行计算,制定相应的控制策略;

执行层则是代替人的手脚,将接收到的控制策略进行执行,其中包括加减速、转向等。

3. 自动驾驶六大级别

国际上对自动驾驶的级别分为了 6 级,定义为 L0~L5 ,等级越高,自动化程度越大。

下面我们就仔细看看这六个级别的具体划分。

L0 只是车道偏离预警,基本只能提个醒,防止你开小差车跑偏了;

L1 和 L2 能帮你刹个车,调个方向盘,当然这样你也不能偷懒,全程都要盯着,否则一不注意,可能就修车店见了。

所以前 3 级一般被当作辅助驾驶,真正的自动驾驶得到 L3 以上。

L3 能在特定的道路中,实现自动驾驶。

L4 基本可以实现解放双手和大脑,司机基本不用管,除非情况危急。

L5 则是完全自动驾驶,甚至都不需要驾驶员,目前还没有哪家公司能做到。

Image

二、智能驾驶核心技术

1. 感知技术

我们平常自己开车,是怎么感知周围的环境的?

很简单,就是通过眼睛看,耳朵听。

对于机器而言,我们可以使用摄像头、激光雷达、红外线、超声波雷达等传感器来代替人眼实现「看」的功能。

摄像头可以快速识别汽车尾灯、红绿灯、车道线、行人等,但是在光线微弱时可能会出现危险,因此想要获取更多的环境信息还需要雷达的帮忙。

各种传感器各有所长,但也存在着局限性,因此如何实现多传感器融合技术也是科研人员需要攻克的难点之一。

Image

2. 数据处理技术

在获取信息后就需要交给决策层处理,也就是放置在汽车后方的主控电脑,它可以迅速的分析数据,做出判断,帮助汽车规划路线。

最后位于执行层的控制系统就可以按照指令操控汽车前行了。

在自动驾驶领域,有一位默默的耕耘者,为自动驾驶技术赋能。它,就是戴尔公司。

没错,戴尔除了造电脑,还非常积极推动自动驾驶技术向前发展。

在自动驾驶领域,戴尔提供基础架构、技术、专业知识及合作来帮助组织创建现代数据管道并加快 ADAS 开发工作流。

据统计,L3 级别的 ADAS 系统,需要 50-100PB 的海量数据和 5000-25000 核的计算资源;到了 L5 级别实现完全自动驾驶,需要超过 2EB 级别的数据量和100000 核的计算资源,这就需要自动驾驶应用和服务提供商具备强大的计算能力。

2.1 数据存储

前文提到,汽车在工作的过程中将收集海量的数据,这些数据的存储也是一门技术活。

研究了一下,戴尔采用的是全球领先的分布式数据湖技术,可以保证在海量数据的情况下高性能、高可用、高可靠性。

  • 文件切片后打散保存到每一个节点的每一块硬盘,这样可以充分利用每一块硬盘的性能;

  • 集群可以不中断地添加或删除节点,在线添加一个节点只需60秒;

  • 扩容缩容后,数据可以自动再平衡,保持所有节点数据均衡。支持冷热数据自动分层;

  • 单一文件系统最大可用容量可达 80 PB,管理简单;

  • 同份文件同时支持多种访问协议,无需安装客户端插件,对应用透明。

2.2 数据管理

数据管理,就是建立元数据与树状结构的存储路径之间的映射。

Image

如上图所示,虽然我们现在数据分层只有 3 级,但我们很难通过这样的树状结构定位到我们所需要的数据文件。

所以我们一般根据数据使用的业务场景,对这些数据打上对应的标签,方便从业务视角定位数据。

而且打标签的过程是动态的,会在我们使用数据的过程中,对数据的标签进行动态的增、删、改。

所以对于数据的维护,是一个动态的过程。查看了戴尔的官方文档,发现它们采用了一套先进的元数据管理平台——DMS ,专门为自动驾驶研发定制。

它的功能可以分为两类:1. 元数据的自动化导入;2. 动态维护元数据与祼数据之间的映射关系。

而且 DMS 也支持数据的横向扩展,比如可以从万级数据扩展到亿级数据,可以保证搜索结果能以极短的时间反馈给上层应用。

2.3 数据访问

在自动驾驶研发的过程中,有很多工作负载是在并行运行中,都在访问数据湖中的元数据,并在算力侧按照不同的工作负载挖掘相应的数据价值。

传统的做法是,对于不同的工作负载,我们会创建对应的副本。但在海量数据的情况下,这样操作会造成数据的极大冗余,并且也将消耗大量的时间。

而戴尔科技采用多协议并行访问,也就是说,无论你用什么协议把数据写进来,你都可以使用其它协议将数据读出来,不需要分数据池,也不需要做数据搬运,而且有自动分层功能。

在这里,不得不说,这技术真是妙!

这种做法有两个好处:

  • 工具链选择灵活性。不论是 NFS 协议,还是 SMB 协议,都支持。

  • 大幅节约数据搬迁时间。数据一旦进入到数据湖,就可以使用各种协议进行访问。

3. AI训练技术

如果将环境感知模块比作人的眼睛和耳朵,那么决策规划模块就相当于自动驾驶汽车的大脑,涉及汽车的安全行驶、车与路的综合管理等多个方面。

而 AI 训练技术则是决策规划模块的前提。

通过传感器收集回来的数据,经过人工智能、大数据、边缘计算等等技术,可以对汽车的状态、姿态进行实时监控,帮助决策模块做出相应的动作。

在汽车行业智能化这个方向,AI 可以赋能做些什么呢?主要有以下几点:

  • 自动驾驶(智能感知)

  • 自动驾驶(智能决策)

  • 数字孪生/合成数据生成

  • 人机交互

  • AI 视觉产线缺陷检测

  • 设备健康管理与预测性维护

  • 智能仓储管理

在 AI 解决方案的背后,戴尔创建了 HPC 创新实验室,满足海量数据算力集群的需求,实现用户特定 AI 应用与算法模型计算效能测试与优化。

在构建 AI 算力时,我们需要构建多级跨物理设备的算力集群,来构建 GPU 分布式训练,更快实现模型收敛及应用开发。

我们得知,戴尔科技在 AI GPU 分布式训练优化也做了很多实践,而且也取得了非常显著的效果。

使用6台 Dell PowerEdge XE8545,24 卡 A100 构建的 GPU 集群,在TensorFlow 分布式训练训练性能实现 88%-96% 的线性加速比。

Image

Dell PowerEdge R750xa+ A100 GPU构建的计算集群,MLPerf Training v1.1基准测试 ResNet-50 图像分类赛道中,分别使用 2 台和 4 台 R750xa 进行分布式训练,计算性能分别为单台服务器的1.96倍和3.63倍。

自动驾驶是边缘计算的一种典型应用场景,而在边缘计算领域,NVIDIA认证的企业级边缘服务器一共有51款,其中仅戴尔一家就占据了31款,高居榜首。

4. 数据安全技术

既然涉及到数据,那么不得不提数据的安全性。因为汽车在收集数据的过程中,必然会带有地理位置等敏感信息,所以必须在严格合规的情况下合理使用。

在安全这块,戴尔的技术真的是让人叹为观止。

  • 可审计

提供审计功能与图商监管审计系统对接。审计功能可追溯用户的访问行为,可以确定哪些用户何时对哪些文件做了什么操作。

  • 可隔离

支持按不同项目或不同车型隔离数据,支持多租户功能,可以按租户对数据进行安全隔离。

  • 权限设置

支持基于角色的访问控制(RBAC),细粒度设置权限和角色。

  • 防删除

支持快照功能,可通过快照功能修复误删除等逻辑错误,单一集群支持不少于20000个快照。

支持WORM(一写多读)功能;防止关键数据被恶意更改或删除,同时满足严格合规性要求和管理要求。

  • 防病毒/防勒索

提供ICAP数据安全检测接口,供第三方杀毒软件直接进行数据的集中病毒检测和杀毒。

结合Superna Ransomware Defender和智能AirGap ,提供检测勒索病毒攻击,停止加密并一键式实时恢复数据。

为了助力自动驾驶的研发,戴尔联合英伟达采用了如下的参考架构,这个架构全球已经有非常多客户在落地使用,具有快、准、省三大特点。

Image

三、智能驾驶前景

从2003年开始我国在法律上从“不排斥”,到2015年明确支持智能辅助驾驶的发展,再到2016年提出要重点发展“自动驾驶”,再到2020年10月20日,国务院发布《新能源汽车产业发展规划(2021—2035年)》,提出“到2025年,高度自动驾驶汽车实现限定区域和特定场景商业化应用”,“力争经过15年的持续努力,高度自动驾驶汽车实现规模化应用。”

随着时间年限的推动,自动驾驶在我国法律上越来越包容和开放。

戴尔凭借丰富的产品和解决方案、业内领先的技术架构和信息与图像分析处理方面的雄厚实力,正为全球约80%的自动驾驶车企提供基础架构平台。

相信在不久的将来,无人驾驶汽车满街跑的愿景肯定会实现!

🌈我的分享也就到此结束啦🌈
如果我的分享也能对你有帮助,那就太好了!
若有不足,还请大家多多指正,我们一起学习交流!
📢未来的富豪们:点赞👍→收藏⭐→关注🔍,如果能评论下就太惊喜了!
感谢大家的观看和支持!最后,☺祝愿大家每天有钱赚!!!欢迎关注、关注!

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

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

相关文章

第6章 现代通信技术

文章目录 6.1 图像与多媒体通信6.1.1 图像通信6.1.2 多媒体通信技术1、多媒体通信概念2、多媒体通信的组成3、多媒体通信的业务分类4、实用化的多媒体通信系统类型5、多媒体通信应用系统(1)多媒体会议电视系统(2)IPTV 6.2 移动通信…

【机器学习300问】12、为什么要进行特征归一化?

当线性回归模型的特征量变多之后,会出现不同的特征量,然而对于那些同是数值型的特征量为什么要做归一化处理呢? 一、为了消除数据特征之间的量纲影响 使得不同指标之间具有可比性。例如,分析一个人的身高和体重对健康的影响&…

每日一题——LeetCode1252.奇数值单元格的数目

进阶:你可以设计一个时间复杂度为 O(n m indices.length) 且仅用 O(n m) 额外空间的算法来解决此问题吗? 方法一 直接模拟: 创建一个n x m的矩阵,初始化所有元素为0,对于indices中的每一对[ri,ci],将矩…

多色女童家居服,柔软细腻超舒适

柔软细腻到不想脱下来的 优可丝面料家居服来啦 精挑细选的可爱印花图案 让宝贝能够更快乐的进入梦乡 长度也是刚刚好合适 春夏交替的季节,建议多入几件换着穿

【新书推荐】Web3.0应用开发实战(从Web 2.0到Web 3.0)

第一部分 Flask简介 第1章 安装 1.1 创建应用目录 1.2 虚拟环境 1.2.1 创建虚拟环境 1.2.2 使用虚拟环境 1.3 使用pip安装Python包 1.4 使用pipregs输出包 1.5 使用requirements.txt 1.6 使用pipenv管理包 第2章 应用的基本结构 2.1 网页显示过程 2.2 初始化 2.3 路由和视图函数…

【C语言基础考研向】06运算符与表达式

文章目录 1.运算符分类 2.算术运算符及表达式 3.关系运算符与关系表达式 4.c语言运算级优先级表 课后习题自测 1.运算符分类 语言提供了13种类型的运算符,如下所示. (1)算术运算符( - * / %) . (2)关系运算符(>< >< l) . (3)逻辑运算符(l && ll) . (4)位…

一文了解【完全合作关系】下的【多智能体强化学习】

处于完全合作关系的多智能体的利益一致&#xff0c;获得的奖励相同&#xff0c;有共同的目标。比如多个工业机器人协同装配汽车&#xff0c;他们的目标是相同的&#xff0c;都希望把汽车装好。 在多智能体系统中&#xff0c;一个智能体未必能观测到全局状态 S。设第 i 号智能体…

c语言:用一个宏,可以将一个整数的二进制位的奇数位和偶数位交换。

题目 用一个宏&#xff0c;可以将一个整数的二进制位的奇数位和偶数位交换。 如&#xff1a;01&#xff0c;是1&#xff0c;交换完是10&#xff0c;是2. 思路 1.分别取出奇数位上的数字和偶数位上的数字 举个例子&#xff1a;1001 0110 1001 0110 奇…

javaScript设计模式-工厂

它的好处是消除对象间的耦合度&#xff0c;在派生子类时提供了更大的灵活性。但盲目的把普通的构造函数扔在一边&#xff0c;并不值得提倡。如果要采一不可能另外换用一个类&#xff0c;或都不需要在运行期间在一系列可互换的类中进行选择&#xff0c;就不应该使用。这样在后期…

基于android的违章处理APP 前后端服务 -毕业设计

基于android的违章处理APP 该项目是基于android版本的违章处理APP&#xff0c;系统包含前端android服务和后端web服务&#xff0c;内容和技术都是目前比较流行的架构。 技术介绍 前端android端&#xff1a; jdk17 gradle8.0 android studio 采用2023版本 后端web端&#xff…

手动添加测试用例配置输入参数和期望值

1.选中函数&#xff0c;点击右键选择插入测试用例。这里所选择的插入测试用例区别于之前的测试用例的地方在于&#xff0c;这里插入测试用例是手动配置的&#xff0c;之前的是自动生成的。手动配置可以自定义选择输入参数和期望值。 2.添加测试用例后&#xff0c;点击测试用例&…

FTP文件传输与vsftpd配置

一 存储类型 直连式存储DAS 适用于那些数据量不大&#xff0c;对磁盘访问速度要求较高的中小企业 存储区域网络SAN 用来存储非结构化数据&#xff0c;虽然受限于以太网的速度&#xff0c;但是部署灵活&#xff0c;成本低 网络附加存储NAS 适用于大型应用或数据库系统&…

进程间通信之利用命名管道进行通信

文章目录 什么是命名管道命名管道的作用有什么命名管道的特点和用法是什么命名管道与匿名管道有什么区别匿名管道相较于命名管道的局限性 命名管道如何使用代码 什么是命名管道 命名管道&#xff08;Named Pipe&#xff09;&#xff0c;也被称为FIFO&#xff08;First In, Fir…

宝藏排序1

题目 冒泡排序 import java.util.Arrays; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();sc.nextLine();int[] res new int[n];for(int i0;i<n;i)res[i] sc.nextInt()…

C语言——整数和浮点数在内存中的存储

目录 一、整数在内存中的存储 二、大小端字节序和字节序判断 2.1 什么是大小端&#xff1f; 2.2 为什么有大小端? 2.3 练习 2.3.1 练习1 2.3.2 练习2 三、浮点数在内存中的存储 3.1练习 3.2 浮点数的存储 3.2.1浮点数存的过程 3.2.2浮点数取的过程 3.3 题目解…

provide和inject快速上手

应用案例 代码 点击弹窗1按钮&#xff0c;弹窗2出现 父组件 provide注入数据 // 弹窗1<Event ></Event> // 弹窗2<EventEvaluation v-if"isShowEventEvaluation"></EventEvaluation>const isShowEventEvaluation falseconst isShowEvent…

数学建模-预测人口数据

目录 中国09~18年人口数据 创建时间 绘制时间序列图 使用专家建模器 得到结果 预测结果 残差的白噪声检验 中国09~18年人口数据 创建时间 路径&#xff1a;数据-> 定义日期和时间 绘制时间序列图 使用专家建模器 看看spss最终判断是那个模型最佳的契合 得到结果 预…

【2024最新-python3小白零基础入门】No4.python控制语句学习

文章目录 1 选择结构1.1 if语句 2 循环结构2.1 while循环语句2.2 for循环语句2.3 break、continue、pass在循环中的用途 对于 Python 程序中的执行语句,默认是按照书写顺序依次执行的,这时称这样的语句是顺序结构的。但是,仅有顺序结构还是不够的,因为有时需要根据特定的情况,有…

vite多页面打包学习(一)

一、前期准备 首先初始化两套独立的vue实例和相关生态&#xff08;多页面嘛&#xff09;&#xff0c;如下 我在src文件下创建了pages大文件夹&#xff0c;并初始化了两套页面分别为index和page1&#xff0c;每套页面都有自己单独的组件、路由、状态、入口等等&#xff0c;这里…

SpringMVC实现原理及详解

1、什么是 SpringMVC ? 在介绍什么是 SpringMVC 之前&#xff0c;我们先看看 Spring 的基本架构。如下图&#xff1a; 我们可以看到&#xff0c;在 Spring 的基本架构中&#xff0c;红色圈起来的 Spring Web MVC &#xff0c;也就是本系列的主角 SpringMVC&#xff0c;它是属于…