0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何基于深度神经网络设计一个端到端的自动驾驶模型?

ml8z_IV_Technol 来源:ZF 2019-04-29 16:44 次阅读

如何基于深度神经网络设计一个端到端的自动驾驶模型?如何设计一个基于增强学习的自动驾驶决策系统?简述算法设计思路。

【问题1】

如何基于深度神经网络

设计一个端到端的自动驾驶模型?

分析与解答

本题属于开放性设计题,回答者需要了解自动驾驶模型的基本功能和研发中涉及到的主要问题,并结合深度学习领域的相关知识给出设计方案。

自动驾驶模型是自动驾驶系统的重要组成部分,其在功能上试图模仿人类司机,通过给定当前的车辆状态和周围环境信息,输出为对车辆控制信号。传统的驾驶模型设计方法人为地将自动驾驶任务分解成车道识别、场景抽象、路径规划和控制决策等多个子任务,然后再根据各个子任务的输出,通过人工定义的规则来控制汽车的前进;而通过建立从输入信号到输出信号的端到端模型,可以

无需引入大量的人工规则来控制汽车的行驶;

使整个自动驾驶系统的结构更加简单、高效;

使模型自主地学到人没有指定的子任务。

而对于端到端驾驶模型的具体设计,这里介绍业界较有影响力的工作——Nivdia于2016年提出的PilotNet模型以供参考。

PilotNet模型是一个端到端的深度神经网络,可以在自动驾驶系统中控制车辆前进的方向。模型根据安装在汽车挡风玻璃前的三个摄像头采集到的原始图片,通过深度神经网络学习出汽车前进所需要转动的角度。其整体架构如 Fig. 2 所示 [3]。

如何基于深度神经网络设计一个端到端的自动驾驶模型?

Figure 1:Nivdia端到端的自动驾驶系统

PilotNet是一个9层神经网络,由1个归一化层(Normalization Layer)、5个卷积层(Convolutional Layer)和3个全连接层(Fully Connected Layer)组成,如 fig. 3 [4] 所示。模型的输入为映射到YUV平面的原始输入图像,输出为车辆前进需要偏转的方向。网络的前三个卷积层采用5*5的卷积核,后两个卷积层采用3*3的卷积核。训练数据包含在不同类型道路上(高速公路、住宅区的街道、乡间小路等)、不同光线强度、不同天气条件下的真实的汽车行驶过程中收集到的视频采样图片。

如何基于深度神经网络设计一个端到端的自动驾驶模型?

Figure 2: PilotNet网络结构图

PilotNet在模拟仿真和实际路测均取得较好的实验结果。实验中定义车辆自动化程度为评测指标,即:

如何基于深度神经网络设计一个端到端的自动驾驶模型?

模拟系统中车辆偏离道路中心线超过一米时会发生一次人工干预,并假设人工干预平均需要消耗的时间约为6s/次。PilotNet模型在仿真系统上的评测结果为90%,路测指标可以达到98%。

【问题2】

如何设计一个基于增强学习的自动驾驶决策系统?

简述算法设计思路

分析与解答

传统的自动驾驶决策系统多数采用人工定义的规则,但是人工定义的规则不够全面,容易漏掉一些边界情况,因而会考虑采用增强学习的原理设计一个自动驾驶的决策系统,使自动驾驶的决策系统能从数据中自动学习并优化自身的决策过程。

对于这一问题的解答可以参考Mobileye提出的基于增强学习的多智能体决策系统 [5] 。自动驾驶的决策系统不同于传统的机器人决策系统:首先,其属于多智能体的场景,其他智能体的行为难以预测,并会对主智能体的行为造成影响;其次,在决策中需要确保策略的安全性,安全地处理意料之外的场景,防止交通事故的发生。

如何基于深度神经网络设计一个端到端的自动驾驶模型?

如何基于深度神经网络设计一个端到端的自动驾驶模型?

如何基于深度神经网络设计一个端到端的自动驾驶模型?

如何基于深度神经网络设计一个端到端的自动驾驶模型?

如何基于深度神经网络设计一个端到端的自动驾驶模型?

所以,

如何基于深度神经网络设计一个端到端的自动驾驶模型?

如何基于深度神经网络设计一个端到端的自动驾驶模型?

如何基于深度神经网络设计一个端到端的自动驾驶模型?

如何基于深度神经网络设计一个端到端的自动驾驶模型?

如何基于深度神经网络设计一个端到端的自动驾驶模型?

Figure 3: 双向变道决策过程的DAG

扩展与总结

自动驾驶系统极其复杂,本章所涉及的内容仅仅涵盖了其中一部分研发问题与进展。深度学习在自动驾驶领域的应用在图像识别、场景分割等计算机视觉相关领域中较为广泛与深入,而在控制、决策方面的应用还处在初步的尝试阶段。通过本章的介绍,希望大家能够初步了解深度学习在自动驾驶系统中的应用现状与主流应用方式,而更深入的学习了解则请阅读相关参考文献。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动驾驶
    +关注

    关注

    773

    文章

    13022

    浏览量

    163189

原文标题:两道算法工程师的面试题,80%的人答不上来

文章出处:【微信号:IV_Technology,微信公众号:智车科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    未来已来,多传感器融合感知是自动驾驶破局的关键

    巨大的进展;自动驾驶开始摒弃手动编码规则和机器学习模型的方法,转向全面采用神经网络AI系
    发表于 04-11 10:26

    FPGA在深度学习应用中或将取代GPU

    、笔记本电脑或机架式服务器上训练神经网络时,这不是什么大问题。但是,许多部署深度学习模型的环境对 GPU 并不友好,比如自动驾驶汽车、工厂、机器人和许多智慧城市环境,在这些环境中硬件必
    发表于 03-21 15:19

    详解深度学习、神经网络与卷积神经网络的应用

    在如今的网络时代,错综复杂的大数据和网络环境,让传统信息处理理论、人工智能与人工神经网络都面临巨大的挑战。近些年,深度学习逐渐走进人们的视线,通过
    的头像 发表于 01-11 10:51 711次阅读
    详解<b class='flag-5'>深度</b>学习、<b class='flag-5'>神经网络</b>与卷积<b class='flag-5'>神经网络</b>的应用

    《 AI加速器架构设计与实现》+第章卷积神经网络观后感

    的卷积进行升维和降维(如图4),还可以调整直连的位置来对其做出调整,介绍图形结合,比较利于理解。对于初块,举例了不同初块结构(如图5),了解神经网络中的\"跳跃连接块\"
    发表于 09-11 20:34

    cnn卷积神经网络算法 cnn卷积神经网络模型

    cnn卷积神经网络算法 cnn卷积神经网络模型 卷积神经网络(CNN)是一种特殊的神经网络,具有很强的图像识别和数据分类能力。它通过学习权重
    的头像 发表于 08-21 17:15 1160次阅读

    卷积神经网络模型的优缺点

    卷积神经网络模型的优缺点  卷积神经网络(Convolutional Neural Network,CNN)是一种从图像、视频、声音和一系列多维信号中进行学习的深度学习
    的头像 发表于 08-21 17:15 2303次阅读

    卷积神经网络模型搭建

    卷积神经网络模型搭建 卷积神经网络模型是一种深度学习算法。它已经成为了计算机视觉和自然语言处理等各种领域的主流算法,具有很大的应用前景。本篇
    的头像 发表于 08-21 17:11 610次阅读

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型  卷积
    的头像 发表于 08-21 17:11 801次阅读

    常见的卷积神经网络模型 典型的卷积神经网络模型

    常见的卷积神经网络模型 典型的卷积神经网络模型 卷积神经网络(Convolutional Neural Network, CNN)是
    的头像 发表于 08-21 17:11 1917次阅读

    卷积神经网络深度神经网络的优缺点 卷积神经网络深度神经网络的区别

    深度神经网络是一种基于神经网络的机器学习算法,其主要特点是由多层神经元构成,可以根据数据自动调整神经
    发表于 08-21 17:07 2305次阅读

    卷积神经网络模型原理 卷积神经网络模型结构

    卷积神经网络模型原理 卷积神经网络模型结构  卷积神经网络是一种深度学习
    的头像 发表于 08-21 16:41 659次阅读

    卷积神经网络模型有哪些?卷积神经网络包括哪几层内容?

    卷积神经网络模型有哪些?卷积神经网络包括哪几层内容? 卷积神经网络(Convolutional Neural Networks,CNN)是深度
    的头像 发表于 08-21 16:41 1507次阅读

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法 卷积神经网络(Convolutional Neural Network,CNN)是一种
    的头像 发表于 08-17 16:30 912次阅读

    神经网络模型用于解决什么样的问题 神经网络模型有哪些

    神经网络模型是一种机器学习模型,可以用于解决各种问题,尤其是在自然语言处理领域中,应用十分广泛。具体来说,神经网络模型可以用于以下几个方面:
    的头像 发表于 08-03 16:37 4164次阅读

    如何使用TensorFlow将神经网络模型部署移动或嵌入式设备上

    有很多方法可以将经过训练的神经网络模型部署移动或嵌入式设备上。不同的框架在各种平台上支持Arm,包括TensorFlow、PyTorch、Caffe2、MxNet和CNTK,如Android
    发表于 08-02 06:43