五分钟通俗理解自动驾驶

大家好,我是良许。

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

本文就花 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)

大家都在看

  • Ubuntu18.04安装/卸载NVIDIA显卡驱动

    1 显卡驱动下载 官网:NVIDIA 搜索适合本机的驱动 获取最新版本驱动 立即下载 文件 上面,显卡驱动程序下载已完成。 [En] Above, the video card d…

    Linux 2023年5月27日
    0233
  • shell练习:svndiff & change_ip

    在shell中写代码,有些命令比较常用,所以整合到一起来实现一些小功能,笔记一下: 第一个脚本是用来对比SVN中的不同版本的不同,借助了svn自身的命令行工具和vimdiff工具:…

    Linux 2023年5月28日
    099
  • 面试题目汇总

    目录: 1、数字数组数字数组2、字符串字符串3、链表 链表4、二叉树二叉树 5、堆栈 堆栈 posted @2019-12-11 20:35 风御之举 阅读(63 ) 评论() 编…

    Linux 2023年6月13日
    090
  • OrchardCore Headless建站拾遗

    书接上回,OrchardCore的基本设置写了,但是有一说一,这个东西还是挺复杂的,如果需要构建一个简单的企业网站,还需要干点别的活。 本文考虑在尽量少编程的基础上,完成一个Hea…

    Linux 2023年6月6日
    0101
  • 结构型之【装饰器模式】

    定义: 装饰器模式(Decorator Pattern) 也称为包装模式(Wrapper Pattern) 是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性…

    Linux 2023年6月14日
    0108
  • 无线配置多一个路由器作为家庭wifi的无线热点?

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」 https://mp.weixin.qq.com/s/8OcDnY3O6ux41GntesHHcg 手头…

    Linux 2023年6月6日
    0113
  • 07_Linux基础-计划任务-备份脚本-变量定义和使用

    07_Linux基础-计划任务-备份脚本-变量定义和使用 一. 计划任务 主要内容:周期性的计划任务crontab/var/spool/cron/ 统一存放计划任务的目录/var/…

    Linux 2023年6月6日
    088
  • Kibana 7.15.x [error][savedobjects-service] [.kibana] Action failed with ‘Request timed out’. Retrying attempt 报错处理。

    1、报错 近日在windows平台使用7.15.2 的elasticsearch 和kibana 时候,在开启es cmd窗口后,kibana无法启动,报错误下。 log [09:…

    Linux 2023年6月6日
    0125
  • fake-useragent库自动生成User-Agent

    安装方法 pip(3) install fake-useragent 使用方法如下: import requests from fake_useragent import User…

    Linux 2023年6月13日
    0117
  • Windows10 下使用 telnet 命令

    正常情况下 windows 是使用不了 telnet 命令的: 打开控制面板-》程序和功能-》启用或关闭 Windows 功能 勾选 “Telnet客户端”…

    Linux 2023年6月13日
    091
  • Dockerfile 构建镜像

    从 Dockerfile 构建镜像涉及三个步骤 创建工作目录 编写 Dockerfile 规格 使用 docker build 命令构建镜像 1. 创建工作目录 这个根据应用实际情…

    Linux 2023年6月6日
    0110
  • cron 表达式

    cron 表达式 1.简介:一个cron表达式最少有5个空格来分割时间元素,总共有7个元素,分别如下: ① 秒(0-59) ② 分钟(0-59) ③ 小时(0-23) ④ 天(月的…

    Linux 2023年6月7日
    071
  • 安装 CentOS 7

    1、VMware虚拟机安装 2、CentOS操作系统安装 3、CentOS操作系统配置 3.1、选择语言 3.2、网络和主机名 3.3、日期和时间 3.4、安装位置 3.5、开始安…

    Linux 2023年6月8日
    0119
  • 详细图解 Netty Reactor 启动全流程 | 万字长文 | 多图预警

    本系列Netty源码解析文章基于 4.1.56.Final版本 大家第一眼看到这幅流程图,是不是脑瓜子嗡嗡的呢? 大家先不要惊慌,问题不大,本文笔者的目的就是要让大家清晰的理解这幅…

    Linux 2023年6月6日
    090
  • 秒懂悲观、乐观锁、互斥、自旋锁、读写锁

    前言 生活中用到的锁,用途都比较简单粗暴,上锁基本是为了防止外人进来、电动车被偷等等。 但生活中也不是没有 BUG 的,比如加锁的电动车在「广西 – 窃·格瓦拉」面前,…

    Linux 2023年6月14日
    0112
  • .NET 6上的WebView2体验

    上次说为了不想在web端登录博客园,我想着还是继续使用 MarkWord编写博客,不过在使用的过程中,如果markdown文件的目录中有中文的话,Markdown预览就不能够显示粘…

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