五分钟通俗理解自动驾驶

大家好,我是良许。

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

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

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

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

一、认识自动驾驶

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

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

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

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

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

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

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

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

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

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

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

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

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

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

二、智能驾驶核心技术

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

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

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

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

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

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

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

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

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

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

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

2.1 数据存储

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

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

文件切片后打散保存到每一个节点的每一块硬盘,这样可以充分利用每一块硬盘的性能;
集群可以不中断地添加或删除节点,在线添加一个节点只需60秒;
扩容缩容后,数据可以自动再平衡,保持所有节点数据均衡。支持冷热数据自动分层;
单一文件系统最大可用容量可达 80 PB,管理简单;
同份文件同时支持多种访问协议,无需安装客户端插件,对应用透明。
2.2 数据管理

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

如上图所示,虽然我们现在数据分层只有 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% 的线性加速比。

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 ,提供检测勒索病毒攻击,停止加密并一键式实时恢复数据。

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

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

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

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

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

Original: https://www.cnblogs.com/yychuyu/p/16482412.html
Author: 良许Linux
Title: 五分钟通俗理解自动驾驶

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/613027/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python 中 map() zip() list() 函数的介绍

    map() map(function , iterable, ….) : 依次将函数function作用在可迭代的list上,并返回对应的函数返回值,组成新的list(…

    Linux 2023年6月7日
    095
  • Go实现安全双检锁的方法和最佳实践

    不安全的双检锁 从其他语言转入Go语言的同学经常会陷入一个思考:如何创建一个单例? 有些同学可能会把其它语言中的双检锁模式移植过来,双检锁模式也称为懒汉模式,首次用到的时候才创建实…

    Linux 2023年6月13日
    083
  • python 内置模块

    #!/usr/bin/env python -*- coding:utf-8 -*- import time #时间模块 print(time.time())#当前时间戳 #本地时…

    Linux 2023年6月13日
    062
  • 1. 斐波那契数 爬楼梯 使用最少花费爬楼梯

    版本一:一维数组记录型 class Solution { public: int fib(int n) { if(n dp(n+1); dp[0] = 0; dp[1] = 1; …

    Linux 2023年6月6日
    082
  • NRF24L01双向无线通信

    最近闲来无事,利用手头资源研究了一下基于nrf24L01的双向通信实验,整个系统如下图所示。原理:nrf24L01本身是一种单向通信的无线模块,但是,当nrf24L01工作在增强型…

    Linux 2023年6月14日
    084
  • Postman 正确使用姿势

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 简介: Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的…

    Linux 2023年6月14日
    067
  • 数据转换-位串字节数组

    一、任务详情 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务 1 参考《GMT 0009-2012 SM2密码算法使用规范》第6节”…

    Linux 2023年6月8日
    092
  • 【小记】Linux find 配合 rm 命令安全批量删除文件

    可以先运行: find . -name "*.log" 确认通配符匹配到的文件是你想删除的文件。再命令执行删除: find . -name "*.lo…

    Linux 2023年6月13日
    086
  • Java 8 中的 Stream 遍历树形结构

    树形结构数据处理 public class TreeDemo { public static void main(String[] args) { testtree(); } pu…

    Linux 2023年6月7日
    0105
  • Shell脚本生成密码

    利用 /dev/urando 生成密码 密码以字母、数字、开头 特殊符号多 for _ in {1..30};do tr -dc ‘~`!@#$%^&*()_+-={}:&…

    Linux 2023年6月6日
    096
  • Github访问加速

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月8日
    070
  • 三少玩Linux之LinuxMint, win7共存安装与简单配置

    先安装win7, 这里就不说了;再安装Mint, 这个是视频:https://www.bilibili.com/video/BV1AE411P7Cz; 这里关键就是LinuxMin…

    Linux 2023年6月14日
    0100
  • Spring常见异常说明

    文章要点 Spring bean 的声明方式 Spring bean 的注入规则 Spring bean 的依赖查找规则 Spring bean 的名称定义方式和默认名称规则 XX…

    Linux 2023年6月6日
    086
  • 什么是虚拟计算机集群

    这个问题来自近期几位网友的私信,他们不约而同问到一个问题:什么是虚拟计算机集群?Laxcus分布式操作系统是如何做的?下面就正式回答一下这个问题。 在我们传统的认知里,或者大家平常…

    Linux 2023年6月6日
    092
  • SF Symbols

    SF符号提供了一套超过2400个一致的、高度可配置的符号,你可以在你的应用程序中使用。苹果公司设计的SF符号能够与旧金山系统字体无缝整合,因此这些符号能够自动确保与所有重量和尺寸的…

    Linux 2023年6月7日
    076
  • Shell中判断文件,目录是否存在

    一. 具体每个选项对应的判断内容: 二.常用的例子: Original: https://www.cnblogs.com/DreamDrive/p/7706585.htmlAuth…

    Linux 2023年5月28日
    078
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球