【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统

                                                                       

新智驾按:本文为新智驾独家专栏,作者系佐思产研研究总监周彦武,新智驾经授权发布。


国内最牛的无人驾驶厂家的运算平台是这样的:


一个英特尔至强 E5 的 CPU,拥有 12 内核,30MB 的二级缓存,运算能力为 400GOPS/s,功率消耗为 400 瓦(应该是第一代至强 E5,目前 E5 最高功率消耗都不超过 180 瓦),八个英伟达的 K80 GPU,每一个 K80 的运算能力为 8TOPS/s,通过 PCI-E 连接,每一个 K80 的功率消耗为 300 瓦,合计是 2800 瓦的功率,取得 64.4 TOPS/s 的运算能力。


和 Waymo 的车一样,需要一个备份系统,当然这个备份系统处于待机状态,功耗可能不到 500 瓦,但是为了有足够的冗余,同时还要考虑到传感器的功率消耗(传感器功率一般都很低,即便是 Velodyne 的 HDL-64E,典型功耗仅 60 瓦),整体系统的功率设计为 5000 瓦,原车的电源系统当然不行,需要一个发电机,或者双电瓶设计。这一套系统价格大约 3 万美元。


这样的设计只能用于 Demo,量产自然不能是这样。


FPGA、CPU 与 GPU


未来量产的无人驾驶运算平台可能会是什么样的?


可能是这样的:未来汽车运算平台架构是一片 CPU 或者说 SoC, 对应大部分控制和运算量不大但逻辑关联比较多的运算,一片 FPGA 或 GPU 做加速,对应运算量很大,但内部几乎没有逻辑关联的运算,例如车辆识别算法,行人识别算法,车道线识别算法。


再加一片安全控制 MCU,通常是英飞凌的 Aurix 系列 MCU,使整体系统达到 ASIL D 级安全等级。即便是这样的系统,其功耗最少也在 500 瓦以上。 


【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统_第1张图片


以英特尔的 Go 最为典型(如上图),Waymo 用 FCA 改造的无人车很有可能使用了类似的运算平台。


【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统_第2张图片

上图为英伟达 Drive PX2


PX2 与英特尔 Go 基本上如出一辙,只不过用 GPU 取代了 FPGA。FPGA 作为一种高性能、低功耗的可编程芯片,可以根据客户定制来做针对性的算法设计。


所以在处理海量数据的时候,FPGA 相比于 CPU 和 GPU,优势在于:FPGA 计算效率更高,FPGA 更接近 I/O。FPGA 不采用指令和软件,是软硬件合一的器件。


对 FPGA 进行编程要使用硬件描述语言,硬件描述语言描述的逻辑可以直接被编译为晶体管电路的组合。所以 FPGA 实际上直接用晶体管电路实现用户的算法,没有通过指令系统的翻译。


FPGA 是由查找表(LUT)和触发器来构成,LUT 的物理结构就相当于一个 SRAM,运行状态就像 ROM,通过输入的值决定输出的值。假设在 FPGA 中要实现一个 2 输入的与门,那么该与门的输入输出对应关系为: 


【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统_第3张图片


既然有了此对应逻辑关系,那么在 SRAM 对应的地址中只需存储相应的输出数值,而输入数值作为地址来查表即可得到正确的输出值即可。


当输入地址为 0,0 时,输出 0 地址里存储的值 0,当输入地址为 0,1 时,输出 1 地址里存储的值 0,当输入地址为 1,0 时,输出 2 地址里存储的值 0,当输入地址为 1,1 时,输出 3 地址里存储的值 1。


某种意义上讲,FPGA 是不计算的,它只是个存储器,对逻辑组合电路,先预先存储不同输入对应的输出组合,然后根据输入数据,选择对应的输出。这就决定了 FPGA 拥有无论伦比的速度和低功耗。但是 FPGA 没有 CPU 和 GPU 的取指令和指令译码能力,这就注定无法单独使用,通常会加一个 ARM 内核的 CPU 来处理比较简单的指令,这样的 FPGA 叫 SoC FPGA。


这样一来,FPGA 的适用面广了,但是性能肯定要下降。尽管如此,还是比 CPU 和 GPU 的效率要高不少。


GPU 是 GPU 把晶体管更多用于计算单元,而不像 CPU 用于数据 Cache 和流程控制器。这样的设计是因为并行计算时每个数据单元执行相同程序,不需要繁琐的流程控制而更需要高计算能力,因此也不需要大的 cache 容量。


GPU 中一个逻辑控制单元对应多个计算单元,同时要想计算单元充分并行起来,逻辑控制必然不会太复杂,太复杂的逻辑控制无法发挥计算单元的并行度,例如过多的 if…else if…else if… 分支计算就无法提高计算单元的并行度,所以在 GPU 中逻辑控制单元也就不需要能够快速处理复杂控制。


所以 GPU 适合空间域的数据处理,数据之间缺乏时间顺序上的逻辑关联,数据的独立性强,图像是最适合 GPU 处理的,FPGA 并不占优势,而视频之间的语义关联则不适合 GPU,比如行人过马路这个视频,要根据前后视频关联来分析行人是要停下来还是加速通过,这种深度学习应用,FPGA 比 GPU 更合适。


而行人识别,车道线识别,GPU 更适合。同理,语音识别也是如此,要知道上下文语义关联,FPGA 就比 GPU 更合适。


也就是说, FPGA 更适合 RNN 和 LSTM,GPU 更适合 CNN。LSTM 可以看成 RNN 的变种,比 RNN 多了 memory cell 和 forget gate,语音信号又是一种上下文相关的长时相关性时序信号,所以 LSTM 做语音识别精读最高。微软 IBM 阿里采用的都是 LSTM。


LTSM 与无人驾驶


LSTM 和无人车有什么联系?这就是目前最火的深度学习与无人车的结合。传统的无人车使用大量的传感器和栅格法来做环境感知和决策,这种方法成本太高了。


于是就有人想出了利用深度学习来学习人类驾驶习惯的方法,只用一个不到 10 美元的消费级摄像头做传感器,用深度学习代替栅格法,这就是百度所说的 Road Hackers。


【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统_第4张图片


Road Hackers 是百度的自动驾驶开放平台,是可在真实道路上实现端到端模式的高级自动驾驶模型。


Road Hackers 平台首期将开放 1 万公里自动驾驶训练数据,并已具备提供海量中国路情驾驶数据开放,基于深度学习的自动驾驶算法演示,以及自动驾驶算法 Benchmark 评比等能力。


CES Asia 上的路测车辆采用 Road Hackers 平台技术,集成有全国首例基于单摄像头的端到端深度学习自动驾驶解决方案。


红色的线代表方向盘转向的角度。绿色的线代表用算法预测出的司机对方向盘的转动。从红绿两条线的趋势可以看出,收敛的趋势越来越明显。以前只是用了 CNN 的算法,造成对横向控制(体现在方向盘转动角度)的预测越来越好,但对纵向控制(体现在加减速)的预测做得不好。LSTM 就派上用场。


【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统_第5张图片


与百度类似,George Hotz 创办的 Comma.ai 也使用了类似的方法,并且在 2016 年 8 月公布了源代码,人人都可以下载研究。


简单解释一下 LSTM 的工作原理。LSTM 区别于 RNN 的地方,主要就在于它在算法中加入了一个判断信息有用与否的」处理器「,这个处理器作用的结构被称为 cell。


LSTM,所谓长短期记忆网络,就是来区分哪些记忆要归位长期记忆,哪些记忆只需要短期储存。


【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统_第6张图片

(LSTM 的内部处理器和三重门)


一个 cell 当中被放置了三扇门,分别叫做输入门、遗忘门和输出门。一个信息进入 LSTM 的网络当中,可以根据规则来判断是否有用。只有符合算法认证的信息才会留下,不符的信息则通过遗忘门被遗忘。说起来无非就是一进二出的工作原理,却可以在反复运算下解决神经网络中长期存在的大问题。


目前已经证明,LSTM 是解决长序依赖问题的有效技术,并且这种技术的普适性非常高,导致带来的可能性变化非常多。各研究者根据 LSTM 纷纷提出了自己的变量版本,这就让 LSTM 可以处理千变万化的垂直问题。这就像人类的学习过程,不断地重复正确的选择,直到形成牢固的记忆。


而 FPGA 实质上就是一种特殊的记忆体,所以 LSTM 更适合用 FPGA 来实现。


当然,这种只靠一个摄像头的无人驾驶显然极不靠谱。


首先,光线对摄像头影响太大,光线的变化是不可控的,是随机的,永远不会完全一致,这对本来就是黑盒的深度学习来说是个灾难。


其次,目前大多是基于单目的深度学习,单目在目标距离判断上是靠像素大小来估测的,无法得到深度信息,距离估测的准确性很低,尤其在高低起伏的路面,例如重庆和贵阳的道路或立交桥,单目所估测的距离可能 50% 都是错误的。


再次,摄像头的 FOV 与探测距离之间是矛盾的,FOV 越窄,距离就越远,但是车辆周围就会出现盲区,这是很容易出事故的,FOV 越宽,距离就越近,同时超过 70 度的广角会出现失真。即使三目摄像头也无法完全解决问题。


最后,低照度情况下肯定不能用。不过这是一种低成本的尝试,仍然值得赞扬。这种方法可以做 L2 或 L3 级的无人驾驶。【完】

640?wx_fmt=png



人工智能赛博物理操作系统

AI-CPS OS

人工智能赛博物理操作系统新一代技术+商业操作系统“AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化+智能化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生。


AI-CPS OS的真正价值并不来自构成技术或功能,而是要以一种传递独特竞争优势的方式将自动化+信息化、智造+产品+服务数据+分析一体化,这种整合方式能够释放新的业务和运营模式。如果不能实现跨功能的更大规模融合,没有颠覆现状的意愿,这些将不可能实现。


领导者无法依靠某种单一战略方法来应对多维度的数字化变革。面对新一代技术+商业操作系统AI-CPS OS颠覆性的数字化+智能化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位:

  1. 重新行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?

  2. 重新构建企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?

  3. 重新打造自己:你需要成为怎样的人?要重塑自己并在数字化+智能化时代保有领先地位,你必须如何去做?

AI-CPS OS是数字化智能化创新平台,设计思路是将大数据、物联网、区块链和人工智能等无缝整合在云端,可以帮助企业将创新成果融入自身业务体系,实现各个前沿技术在云端的优势协同。AI-CPS OS形成的字化+智能化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置:

  1. 精细种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品个性化控制、微观业务场景事件和结果控制。

  2. 智能:模型随着时间(数据)的变化而变化,整个系统就具备了智能(自学习)的能力。

  3. 高效:企业需要建立实时或者准实时的数据采集传输、模型预测和响应决策能力,这样智能就从批量性、阶段性的行为变成一个可以实时触达的行为。

  4. 不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。

  5. 边界模糊:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。

AI-CPS OS形成的数字化+智能化力量通过三个方式激发经济增长:

  1. 创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;

  2. 对现有劳动力和实物资产进行有利的补充和提升,提高资本效率

  3. 人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间


给决策制定者和商业领袖的建议:

  1. 超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机器智能,为企业创造新商机;

  2. 迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新

    评估未来的知识和技能类型;

  3. 制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开

    发过程中确定更加明晰的标准和最佳实践;

  4. 重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临

    较高失业风险的人群;

  5. 开发数字化+智能化企业所需新能力:员工团队需要积极掌握判断、沟通及想象力和创造力等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多样性的文化也非常重要。


子曰:“君子和而不同,小人同而不和。”  《论语·子路》云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。


如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!


新一代技术+商业的人工智能赛博物理操作系统AI-CPS OS作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。





产业智能官  AI-CPS



用“人工智能赛博物理操作系统新一代技术+商业操作系统“AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链





【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统_第7张图片

【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统_第8张图片


长按上方二维码关注微信公众号: AI-CPS,更多信息回复:


新技术“云计算”、“大数据”、“物联网”、“区块链”、“人工智能新产业:智能制造”、“智能农业”、“智能金融”、“智能零售”、“智能城市、“智能驾驶”新模式:“财富空间、“特色小镇”、“赛博物理”、“供应链金融”


点击“阅读原文”,访问AI-CPS OS官网




本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!



版权声明产业智能官(公众号ID:AI-CPS推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:[email protected]





你可能感兴趣的:(【自动驾驶】如何利用深度学习搭建一个最简单的无人驾驶系统)