用于自动车辆的控制命令的端对端学习的方法及系统与流程

文档序号:20920977发布日期:2020-05-29 14:08阅读:194来源:国知局
用于自动车辆的控制命令的端对端学习的方法及系统与流程

引言

本发明总体上涉及自主车辆,并且更具体地涉及用于控制自主车辆的自主车辆控制器、自主车辆控制系统的系统及相关方法。更具体地,本发明涉及对用于控制自主车辆的控制命令的端对端学习的方法及系统。

自主车辆是能够感测其环境并且以很少或不用用户输入导航的车辆。自主车辆包括智能地控制自主车辆的自主驾驶系统(ads)。传感器系统使用诸如雷达、激光雷达、图像传感器等感测装置来感测其环境。ads还可以处理来自全球定位系统(gps)技术、导航系统、车对车通信、车辆对基础设施技术和/或线控驱动系统的信息来对车辆进行导航。

车辆自动化已经被分类为从零(对应于全人为控制的非自动化)到五(对应于无人为控制的全自动化)的范围中的数值等级。各种自动驾驶员辅助系统(诸如巡航控制、自适应巡航控制以及停放辅助系统)对应于较低自动化等级,而真正的“无人驾驶”车辆对应于较高自动化等级。目前,有许多不同的自主车辆控制方法,但是都存在缺点。

公路导航系统是用于实现全自主车辆的关键组成部分。尽管感知和控制一直是自主驾驶行业中单独研究的两个挑战,但是深度学习的最新进展已经引入了端对端学习作为学习自主车辆驾驶政策的新方法。与将车辆控制系统划分为单独的感知和控制模块的传统方法不同,端对端学习系统通常直接学习使用单个深度卷积神经网络来从感知(例如,来自由车载相机获取的图像的原始像素)映射到控制(例如,控制控制车辆的致动器的控制命令)。例如,在一种方法中,已经提出了一种端对端系统,其使用一个卷积神经网络来直接从原始像素学习转向控制命令。这些端对端学习系统具有直接优化的优势,无需手动定义规则,这可以产生更好的性能和更少的人工工程工作量。

尽管此类端对端学习系统简化了建模,但是它们有许多缺点。一个缺点是此类端对端学习系统不进一步考虑其他因素,这阻碍了此类端对端学习系统学习更复杂的驾驶行为。例如,此类端对端学习系统丢失了针对特定驾驶任务的许多详细动态信息。如速度、地图信息和车辆力学等因素全部都是驾驶任务的重要组成部分。另一个缺点是此类端对端学习系统没有利用现有知识。例如,人们在驾驶时遵守许多基本假设,如交通规则,而当前的端对端学习系统中的神经网络有望从零学习。另外,此类端对端学习系统仅考虑用于决策的当前感知信息。相比之下,当人们在驾驶时,他们依赖于他们所学习使用所述系统的过去信息以及他们当前的感知信息以做出决策。

因此,期望提供能够学习用于控制自主车辆的控制命令的学习系统及方法。此外,期望提供利用先验知识、利用学习系统已经学习的过去信息并且能够学习更复杂的驾驶行为同时还可靠、易于训练并易于验证的学习系统及方法。另外,从以下结合附图和前面的技术领域及

背景技术:
进行的详细描述和所附权利要求书中将更清楚地明白本发明的其他期望特征和特性。

本文提供的背景描述的目的在于总体地呈现本发明的背景。当前署名的发明人的工作就其在该背景部分中所描述的以及在提交时可以不另外被作为是现有技术的多个方面的描述(诸如确定或现有方法)而言既不明确地也不隐含地被认可为是本发明的现有技术。



技术实现要素:

在一个实施例中,提供了一种用于控制自主车辆的命令的端对端学习的端对端学习方法。预处理器对由传感器以当前时间步长(t)从环境获取的图像数据进行预处理以生成经预处理的图像数据。在一个实施例中,所述预处理器包括:裁剪模块,其裁剪所述图像数据以移除无关元素并生成裁剪后图像数据;上采样模块,其对所述裁剪后图像数据进行上采样以生成上采样图像数据;亮度改变模块,其施加亮度改变以使所述上采样图像数据增亮以生成增亮的上采样图像数据;以及翻转模块,其翻转所述增亮的上采样图像数据以获得水平方向上的镜像以生成所述经预处理的图像数据。

将所述经预处理的图像数据与至少一个附加输入级联以生成动态场景输出,所述动态场景输出是所述经预处理的图像数据和所述至少一个附加输入的级联。例如,在一个实施例中,在分割神经网络中对所述经预处理的图像数据进行预处理以生成分割图,其中已经为所述经预处理的图像数据的每个像素分配了标签,并且所述经预处理的图像数据与所述分割图级联以生成所述动态场景输出,所述动态场景输出是增强分割图。在另一个实施例中,在光流神经网络中处理所述经预处理的图像数据以生成估计光流的光流图,并且将所述经预处理的图像数据与所述光流图级联以生成所述动态场景输出。在一个实施例中,在分割神经网络中对所述经预处理的图像数据进行预处理以生成分割图,其中已经为所述经预处理的图像数据的每个像素分配了标签,并且还在光流神经网络中处理所述所述经预处理的图像数据以生成估计光流的光流图。将所述经预处理的图像数据与所述分割图和所述光流图级联以生成所述动态场景输出,所述动态场景输出是增强分割图。

无论实施方案如何,卷积神经网络(cnn)都会处理所述动态场景输出以生成包括提取空间特征的特征图。在一个实施例中,所述cnn是预训练cnn,其已经使用来自图像数据库的图像数据集进行了预训练。例如,在处理所述增强分割图的步骤之前设定所述预训练cnn的初始权重以生成特征图,然后在训练期间进行微调。

然后将车辆运动学与来自所述特征图的所述提取空间特征级联以生成空间上下文特征向量,所述空间上下文特征向量包括描述当前时间步长(t)的当前上下文的上下文特征。所述车辆运动学可以包括以下一个或多个:车辆加速率、车速、车辆航向、车辆到道路边界的横向距离、车辆先前转向角和车辆转向扭矩。

包括长短期记忆(lstm)单元的lstm网络然后可以在所述当前时间步长(t)期间处理所述当前时间步长(t)的所述空间上下文特征向量和一个或多个相应的先前时间步长的一个或多个先前lstm输出,以生成所述当前时间步长(t)的编码后时间上下文向量。在一个实施例中,所述一个或多个先前lstm输出中的每一者是来自特定先前时间步长的上下文特征向量。在一个实施例中,由窗口大小(w)指定一个或多个先前lstm输出的数量,所述窗口大小定义要由所述lstm网络处理的所述一个或多个先前lstm输出的数量以及所述空间上下文特征向量以生成所述当前时间步长(t)的所述编码后时间上下文向量。

然后,完全连接层可以处理所述编码后时间上下文向量以学习一个或多个控制命令。每个控制命令包括以下至少一个:转向角控制命令、加速率控制命令或制动率控制命令。

在一个实施例中,实施所述端对端学习的端对端学习系统部署在由控制器控制的自主车辆内。所述控制器可以在每个时间步长基于当前观察到的环境执行由所述端对端学习系统生成的所述控制命令中的一者。

提供了一种用于控制自主车辆的命令的端对端学习的端对端学习系统。所述系统可以包括预处理器、第一级联单元、卷积神经网络(cnn)、第二级联单元、长短期记忆(lstm)网络和完全连接层。

所述预处理器对由传感器以当前时间步长(t)从环境获取的图像数据进行预处理以生成经预处理的图像数据。例如,在一个实施例中,所述预处理器包括:裁剪模块,其裁剪图像数据以移除无关元素以生成裁剪后图像数据;上采样模块,其对所述裁剪后图像数据进行上采样以生成上采样图像数据;亮度改变模块,其施加亮度改变以使所述上采样图像数据增亮以生成增亮的上采样图像数据;以及翻转模块,其翻转所述增亮的上采样图像数据以获得水平方向上的镜像以生成所述经预处理的图像数据。

所述第一级联单元将所述经预处理的图像数据与一个或多个附加输入级联,以生成动态场景输出,所述动态场景输出是所述经预处理的图像数据和所述一个或多个附加输入的级联。例如,在一个实施例中,所述系统还包括分割神经网络,其分割所述经预处理的图像数据以生成分割图,其中已经为所述经预处理的图像数据的每个像素分配了标签。在该实施例中,所述第一级联单元可以将所述经预处理的图像数据与所述分割图级联以生成所述动态场景输出,其中所述动态场景输出是增强分割图。在另一个实施例中,所述系统还包括光流神经网络,其处理所述经预处理的图像数据以生成估计光流的光流图。在该实施例中,所述第一级联单元将所述经预处理的图像数据与所述光流图级联以生成所述动态场景输出。在再另一实施例中,所述系统还包括分割神经网络和光流神经网络两者,并且所述光流神经网络中的处理与在所述分割神经网络中分割所述经预处理的图像数据并行进行。在该实施例中,所述第一级联单元将所述经预处理的图像数据与所述分割图和所述光流图级联以生成所述动态场景输出,其中所述动态场景输出是更进一步增强分割图。

所述卷积神经网络(cnn)处理所述动态场景输出以生成包括提取空间特征的特征图。在一个实施例中,所述cnn可以使用来自图像数据库的图像数据集进行预训练。在处理所述增强分割图的步骤之前设定所述预训练cnn的初始权重以生成特征图,然后在训练期间进行微调。

所述第二级联单元将车辆运动学与来自所述特征图的所述提取空间特征级联以生成空间上下文特征向量。所述空间上下文特征向量包括描述所述当前时间步长(t)的当前上下文的上下文特征。所述车辆运动学可以包括例如以下一个或多个:车辆加速率、车速、车辆航向、车辆到道路边界的横向距离、车辆先前转向角和车辆转向扭矩。

所述lstm网络包括lstm单元网络。所述lstm网络在所述当前时间步长(t)期间处理所述当前时间步长(t)的所述空间上下文特征向量和一个或多个相应的先前时间步长的一个或多个先前lstm输出,以生成所述当前时间步长(t)的编码后时间上下文向量。所述一个或多个先前lstm输出中的每一者是来自特定先前时间步长的上下文特征向量。在一个实施例中,由窗口大小(w)指定一个或多个先前lstm输出的数量,所述窗口大小定义要由所述lstm网络处理的所述一个或多个先前lstm输出的数量以及所述空间上下文特征向量以生成所述当前时间步长(t)的所述编码后时间上下文向量。

所述完全连接层处理所述编码后时间上下文向量以学习一个或多个控制命令。每个控制命令可以包括以下一个或多个:转向角控制命令、加速率控制命令或制动率控制命令。

在另一个实施例中,提供了一种自主车辆。所述自主车辆包括:部署在所述自主车辆内的端对端学习系统,所述端对端学习系统被配置为学习控制所述自主车辆的控制命令;驾驶环境处理器,其被配置为从当前观察的环境获取图像数据;以及驾驶员代理,其被配置为通过发出执行所述控制命令中的一者或多者的指令来基于所述当前观察的环境在每个时间步长控制所述自主车辆。每个控制命令包括以下至少一个:转向角控制命令、加速率控制命令或制动率控制命令。

所述端对端学习系统包括处理器,所述处理器被配置为执行用于学习所述命令的计算机程序的指令,所述指令在由所述处理器执行时可被配置为执行一种方法。所述方法包括:在预处理器中对由传感器以当前时间步长(t)从环境获取的图像数据进行预处理以生成经预处理的图像数据;将所述经预处理的图像数据与至少一个附加输入级联以生成动态场景输出,所述动态场景输出是所述经预处理的图像数据和所述至少一个附加输入的级联;在卷积神经网络(cnn)中处理所述动态场景输出以生成包括提取空间特征的特征图;将车辆运动学与来自所述特征图的所述提取空间特征级联以生成空间上下文特征向量,所述空间上下文特征向量包括描述当前时间步长(t)的当前上下文的上下文特征;在包括长短期记忆(lstm)单元的lstm网络中在所述当前时间步长(t)期间处理所述当前时间步长(t)的所述空间上下文特征向量和一个或多个相应的先前时间步长的一个或多个先前lstm输出,以生成所述当前时间步长(t)的编码后时间上下文向量;以及在完全连接层中处理所述编码后时间上下文向量以学习所述控制命令。

附图说明

下文将结合以下附图描述示例性实施例,其中相同标号表示相同元件,且其中:

图1是示出根据所公开实施例的自主车辆的功能框图;

图2是示出根据所公开实施例的具有图1的一辆或多辆自主车辆的运输系统的功能框图;

图3是示出根据所公开实施例的自主车辆的自主驾驶系统的数据流程图;

图4是示出根据所公开实施例的端对端学习系统的框图;

图5是示出根据所公开实施例的图4中所示的图像预处理器的一个示例性实施方案的框图;

图6是示出根据所公开实施例的图4中所示的特征提取cnn的一个示例性实施方案的框图;

图7是根据所公开实施例的lstm单元的一个非限制性示例的框图,所述lstm单元可以被实施为lstm单元的lstm网络的一部分。

图8是示出根据所公开实施例的ai驱动器代理系统的框图,所述ai驱动器代理系统包括驾驶环境处理器和基于人工智能(ai)的自主驾驶员代理模块;并且

图9是示出根据所公开实施例的在线学习系统的框图,所述在线学习系统包括驾驶环境处理器和基于人工智能(ai)的自主驾驶员代理模块,所述自主驾驶员代理模块实施端对端学习系统。

具体实施方式

以下详细描述本质上仅仅是示例性的,并且不旨在限制应用和用途。另外,不存在被任何前述的技术领域、上下文、摘要或以下详细描述中提出的任何表述的或暗示的理论约束的意图。如本文所使用,术语模块是指单独地或呈任何组合的任何硬件、软件、固件、电子控制部件、处理逻辑和/或处理器装置,包括但不限于:专用集成电路(asic)、电子电路、处理器(共享、专用或成组)以及执行一个或多个软件或固件程序的存储器、组合逻辑电路和/或提供所述功能性的其他合适部件。

本发明的实施例在本文可以依据功能和/或逻辑块部件和各个处理步骤来描述。应当明白,这些块部件可以由被配置为执行指定功能的任何数量的硬件、软件和/或固件部件来实施。例如,本发明的实施例可以采用各种集成电路部件(例如,存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其他控制装置的控制下执行多种功能)。另外,本领域技术人员将明白的是,本发明的实施例可以结合任何数量的系统来实践,并且本文所述的系统仅仅是本发明的示例性实施例。

为了简明起见,本文可以不详细描述与信号处理、数字传输、信令、控制以及该系统(和该系统的单个操作部件)的其他功能方面有关的常规技术。另外,本文所包括的各个图式中所示的连接线旨在表示各个元件之间的示例功能关系和/或物理联接。应当注意,在本发明的实施例中可以存在许多替代或附加的功能关系或物理连接。

神经网络是由计算系统或处理装置执行的机器学习模型。神经网络由许多简单的、高度互连的处理元件/装置/单元组成,所述神经网络可以使用软件算法和/或实际硬件来实施。处理元件/装置/单元通过其对外部输入的动态响应来处理信息。神经网络采用一层或多层非线性单元来预测所接收的输入的输出。可以在由多个互连节点组成的层中组织神经网络。每个节点包括激活功能。“深度神经网络”用于指代除了输出层之外还具有一个或多个隐藏层的神经网络。每个隐藏层的输出用作网络中下一层(即,下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收的输入生成输出。模式经由输入层呈现给网络,所述输入层与一个或多个‘隐藏层’通信,在所述隐藏层中,实际处理经由加权连接系统完成。然后,隐藏层链接到生成输出的输出层。大多数nn包含某种形式的学习规则,它根据所呈现的输入模式来修改连接的权重。尽管每个神经网络是不同的,但是神经网络通常包括以下至少一些部件:一组处理单元、处理单元的激活状态、用于计算处理单元的输出的功能、在处理单元之间的连接模式、激活传播的规则、激活功能和所采用的学习规则。神经网络的设计参数可以包括:输入节点的数量、输出节点的数量、中间或隐藏层的数量、每个隐藏层的节点数量、初始连接权重、初始节点偏差、学习率、动量率等。

图1是示出根据所公开实施例的自主车辆的功能框图。如图1中所描绘,车辆10通常包括底盘12、车身14、前轮16和后轮18。车身14被布置在底盘12上并且大致上包围车辆10的部件。车身14和底盘12可以共同形成框架。车轮16到18各自在车身14的相应拐角附近旋转地联接到底盘12。

在各种实施例中,车辆10是自主车辆,并且自主驾驶系统(ads)被结合到自主车辆10(在下文中被称为自主车辆10)中并智能地控制车辆10。自主车辆10例如是被自动控制以将乘客从一个位置运送到另一个位置的车辆。在所示实施例中,车辆10被描绘为乘用车,但是应当明白,也可以使用包括摩托车、卡车、运动型多功能车(suv)、休闲车(rv)、船舶、飞机等的任何其他车辆。在示例性实施例中,自主车辆10可以是例如四级或五级自动化系统。四级系统指示“高度自动化”,其指代自动驾驶系统在动态驾驶任务的所有方面的驾驶模式所特有的性能,即使人类驾驶员对干预请求没有做出适当响应。五级系统指示“全自动化”,其指代自动驾驶系统在可由人类驾驶员管理的所有道路和环境状况下在动态驾驶任务的所有方面的全面性能。

如所示,自主车辆10通常包括推进系统20、变速器系统22、转向系统24、制动系统26、传感器系统28、至少一个数据存储装置32、至少一个控制器34、通信系统36以及致动器系统90。推进系统20在各个实施例中可以包括内燃发动机、诸如牵引马达等电机和/或燃料电池推进系统。变速器系统22被配置为根据可选速比将来自推进系统20的功率传输到车轮16至18。根据各个实施例,变速器系统22可以包括分级传动比自动变速器、无级变速器或其他适当的变速器。制动系统26被配置为向车轮16至18提供制动扭矩。在各个实施例中,制动系统26可以包括摩擦制动器、线控制动器、诸如电机等再生制动系统,和/或其他适当的制动系统。转向系统24影响车轮16至18的的位置。尽管为了说明目的而被描绘为包括方向盘,但是在本发明的范围内预期的一些实施例中,转向系统24可以不包括方向盘。

传感器系统28包括感测自主车辆10的外部环境和/或内部环境的可观察状况的一个或多个感测装置40a到40n。传感装置40a至40n可以包括但不限于雷达、激光雷达、光学相机、热成像仪、成像传感器、超声传感器、惯性测量单元、全球定位系统、导航系统和/或其他传感器。

例如,雷达装置可以处理从对象反射的电磁波以生成指示视场内对象的存在、方向、距离和速度的雷达数据。雷达滤波和预处理模块可以对雷达数据进行预处理以移除诸如静止对象、不可动区域中的对象(如来自建筑物的雷达回波)和噪声测量/干扰(例如,由于速度)等事物以生成经预处理的雷达数据。然后,雷达跟踪可以进一步对经预处理的雷达数据进行处理以生成雷达跟踪信息,然后可以使用所述雷达跟踪信息来跟踪对象。

相机(或图像传感器)可以间隔开以提供车辆10周围环境的三百六十(360)度图像覆盖。相机捕获图像(例如,图像帧)并输出图像数据(例如,失真的yuv格式图像),然后可以对所述图像数据进行处理以生成校正后(或去失真的)相机图像。图像预处理模块可以通过对图像数据进行去失真/校正来、对校正后图像数据(例如,图像尺寸调整和平均减法)进行预处理并将经校正的经预处理的图像数据转换为校正后相机图像(例如,具有正常rgb格式)来处理所述图像数据,图像分类模块的神经网络可以对所述校正后相机图像进行分类。图像数据可以被校正以修正图像中的失真可以使直线(实际上)线条看起来是弯曲的,例如,如果3d空间中的点云被投射到未校正图像数据上,则它们实际上可能由于失真而处于图像中的错误位置中。通过校正图像,来自3d空间的投射对应于图像的正确部分。然后,校正后相机图像可以与包括来自对象跟踪模块的对象的三维位置的其他输入一起被发送到图像分类模块,并被处理以生成可以被提供给对象分类模块并用于生成对象分类数据的图像分类数据,然后可以将所述对象分类数据发送到对象跟踪模块,所述对象跟踪模块处理对象、雷达跟踪信息和对象分类数据以生成对象跟踪信息。

激光雷达装置通过用激光脉冲照射目标来执行扫描,并通过接收反射脉冲来测量到目标的距离。激光雷达装置可以共同使用反射脉冲的强度来生成激光雷达点云,其表示视场内对象的空间结构/特性。例如,激光雷达装置可以使用旋转激光束,其旋转以在车辆周围扫描三百六十(360)度。替代地,激光雷达装置可以以某个扫描频率(即,它们振荡的速度)来回振荡并以重复率发射脉冲。

激光雷达装置中的每一者接收激光雷达数据并处理激光雷达数据(例如,激光雷达回波信息的数据包)以生成激光雷达点云(例如,车辆周围的三百六十(360)度区中的三维点集)。除了三维xyz位置之外,每个点还具有强度数据。例如,在一个实施方案中,点云包括从每个激光脉冲返回的第一、中间和最后。激光雷达装置可以一起同步(或锁相)。

相机可以按最大帧速率运行,并且相机的刷新率通常远高于激光雷达装置。当激光雷达从车辆后部顺时针转动时,每个相机在激光雷达装置旋转期间以顺时针顺序捕获图像。外部校准程序可以提供关于相机所指向的位置的信息。激光雷达装置被锁相(即,计划在某些时间处于某些旋转位置),因此已知激光雷达装置何时扫描其周期的某些部分。为了分析场景,系统可以确定在获取某些激光雷达数据的时间点哪个成像器/相机对准。系统可以所述选择最接近获取激光雷达数据的时间点采样/获得的任何图像,使得将仅处理在某个目标时间(即,当激光雷达装置观察相机正指向的相同区域时)附近捕获的图像。结果,可以确定具有良好对准的相机-激光雷达对。这给出了某个航向/定向的激光雷达数据以及该航向/定向上的场景/环境的相应图像数据。

由激光雷达装置获取的激光雷达点云的激光雷达数据可以融合到单个激光雷达点云中。然后可以执行三维点采样以对(单个激光雷达点云的)激光雷达数据进行预处理以生成一组三维点,然后可以通过对象分割模块将所述三维点分割成可以被分类并跟踪的对象。例如,对象分类模块可以包括多个分类器,其对所述对象进行分类以生成对象分类数据。对象跟踪模块可以跟踪对象。然后,跟踪信息可以与雷达跟踪信息和对象分类数据一起使用,以生成对象跟踪信息(例如,对象的时间跟踪信息,诸如环境中对象的位置、几何形状、速度等)。

致动器系统90包括一个或多个致动器装置42a到42n,其控制一个或多个车辆特征,诸如但不限于推进系统20、变速器系统22、节气门系统(未示出)、转向系统24以及制动系统26。如下面所解释的,来自车辆控制模块的控制信号被处理以生成命令,所述命令根据控制信号172控制这些致动器装置42a至42n中的一者或多者以安排和执行要执行的一个或多个控制动作以自动地控制自主车辆并使在特定驾驶场景中遇到的自主驾驶任务自动化(例如,以实现一个或多个特定车辆轨迹和速度曲线)。另外,在一些实施例中,车辆特征还可以包括内部和/或外部车辆特征,诸如但不限于车门、行李箱和诸如空气、音乐、照明等的舱室特征(未编号)。

通信系统36被配置为向和从其他实体48(诸如但不限于其他车辆(“v2v”通信)、基础设施(“v2i”通信)、远程系统和/或个人装置(关于图2更详细描述)无线地传送信息。在示例性实施例中,通信系统36是被配置为经由使用ieee802.11标准的无线局域网(wlan)或通过使用蜂窝数据通信来进行通信的无线通信系统。然而,诸如专用短程通信(dsrc)信道等附加或替代通信方法也被认为在本发明的范围内。dsrc信道是指专门为汽车使用以及对应的一组协议和标准而设计的单向或双向短程到中程无线通信信道。

数据存储装置32存储用于自动控制自主车辆10的数据。在各个实施例中,数据存储装置32存储可导航环境的定义地图。在各个实施例中,定义地图可以由远程系统预定义并且从远程系统获取(关于图2进一步详细描述)。例如,定义地图可以由远程系统组装并且(以无线方式和/或以有线方式)传送到自主车辆10并存储在数据存储装置32中。如可以明白的是,数据存储装置32可以为控制器34的一部分,与控制器34分开,或作为控制器34的一部分以及单独系统的一部分。

控制器34包括至少一个处理器44和计算机可读存储装置或介质46。处理器44可以为任何定制的或商业上可用的处理器、中央处理单元(cpu)、图形处理单元(gpu)、与控制器34相关联的若干处理器中的辅助处理器、基于半导体的微处理器(呈微芯片或芯片集的形式)、微处理器、它们的任何组合或通常用于执行指令的任何装置。计算机可读存储装置或介质46可以包括例如只读存储器(rom)、随机存取存储器(ram)和保活存储器(kam)中的易失性和非易失性存储器。kam是一种持久或非易失性存储器,其可以在处理器44断电时用于存储各种操作变量。计算机可读存储装置或介质46可以使用诸如prom(可编程只读存储器)、eprom(电prom)、eeprom(电可擦除prom)、闪速存储器或能够存储数据的任何其他电动、磁性、光学或组合存储器装置的许多已知存储器中的任何一种来实施,其中的某些数据表示由控制器34用于控制自主车辆10的可执行指令。

指令可以包括一个或多个单独的程序,每个程序包括用于实施逻辑功能的可执行指令的有序列表。指令在由处理器44执行时接收并处理来自传感器系统28的信号,执行用于自动控制自主车辆10的部件的逻辑、计算、方法和/或算法,并且向致动器系统90产生控制信号以基于逻辑、计算、方法和/或算法来自动地控制自主车辆10的部件。尽管图1中仅示出了一个控制器34,但是自主车辆10的实施例可以包括任何数量的控制器34,所述控制器通过任何合适的通信介质或通信介质的组合进行通信并且协作以处理传感器信号、执行逻辑、计算、方法和/或算法,并且生成控制信号以自动地控制一个或多个致动器装置42a至42n,所述致动器装置控制自主车辆10的一个或多个车辆特征。

在各种实施例中,控制器34的一个或多个指令体现在自主驾驶系统(ads)的高级控制器中,并且在由处理器44执行时,生成可以被处理以生成控制信号的车辆轨迹和速度曲线,所述控制信号被处理以生成控制自主车辆的一个或多个致动器的命令以执行一个或多个控制动作以自动地控制自主车辆(例如,以使在特定驾驶场景中遇到的自动驾驶任务自动化)。

现在参考图2,在各种实施例中,关于图1描述的自主车辆10可以适用于在某个地理区域(例如,城市、学校或商业园区、购物中心、游乐园,活动中心等)的出租车或班车系统的背景下或可以只需由远程系统管理。例如,自主车辆10可以与基于自主车辆的远程运输系统相关联。图2说明了总体上以50示出的操作环境的示例性实施例,该操作环境包括基于自主车辆的远程运输系统52,其与关于图1所描述的一辆或多辆自主车辆10a到10n相关联。在各种实施例中,操作环境50进一步包括经由通信网络56与自主车辆10和/或远程运输系统52进行通信的一个或多个用户装置54。

通信网络56根据需要支持在由操作环境50支持的装置、系统和部件之间(例如,经由有形的通信链路和/或无线通信链路)的通信。例如,通信网络56可以包括无线载波系统60,诸如蜂窝电话系统,其包括多个蜂窝塔(未示出)、一个或多个移动交换中心(msc)(未示出)以及将无线载波系统60与陆地通信系统连接所需要的任何其他联网部件。每个蜂窝塔都包括发送和接收天线以及基站,其中来自不同蜂窝塔的基站直接或经由诸如基站控制器等中间设备连接到msc。无线载波系统60可以实施任何合适的通信技术,包括(例如)诸如cdma(例如,cdma2000)、lte(例如,4glte或5glte)、gsm/gprs或其他当前或正涌现的无线技术等数字技术。其他蜂窝/基站/msc布置是可能的并且可以结合无线载波系统60使用。例如,基站和蜂窝可以共同位于相同站点处或它们可以远离彼此,每个基站可以负责单个蜂窝或单个基站可以服务于各个蜂窝,且各个基站可以联接到单个msc,这里仅列举几种可能布置。

除包括无线载波系统60外,可以包括呈卫星通信系统64的形式的第二无线载波系统来提供与自主车辆10a到10n进行的单向或双向通信。这可以使用一个或多个通信卫星(未示出)和上行链路传输站(未示出)来进行。单向通信可以包括(例如)卫星无线电服务,其中节目内容(新闻、音乐等)是由传输站接收、封装上传并且然后发送到卫星,从而向用户广播该节目。双向通信可以包括(例如)使用卫星以在车辆10与站之间中继电话通信的卫星电话服务。除了或代替无线载波系统60,可以利用卫星电话。

可以进一步包括陆地通信系统62,其为连接到一个或多个陆线电话的常规陆基电信网络并且将无线载波系统60连接到远程运输系统52。例如,陆地通信系统62可以包括诸如用于提供硬接线电话、分组交换数据通信和因特网基础设施的公共交换电话网(pstn)。一段或多段陆地通信系统62可以通过使用标准有线网络、光纤或其他光学网络、电缆网络、电力线、其他无线网络(诸如无线局域网(wlan))或提供宽带无线接入(bwa)的网络或其任何组合来实施。另外,远程运输系统52不需要经由陆地通信系统62连接,反而可以包括无线电话设备使得其可以直接与无线网络(诸如无线载波系统60)通信。

尽管在图2中仅示出了一个用户装置54,但是操作环境50的实施例可以支持任意数量的用户装置54,包括由一个人拥有、操作或以其他方式使用的多个用户装置54。由操作环境50支持的每个用户装置54可以使用任何合适的硬件平台来实施。在这方面,用户装置54可以任何常见外形规格来实现,包括但不限于:台式计算机;移动计算机(例如,平板计算机、膝上型计算机或上网本计算机);智能电话;视频游戏装置;数字媒体播放器;一件家庭娱乐设备;数码相机或视频摄影机;可穿戴计算装置(例如,智能手表、智能眼镜、智能服装);等等。由操作环境50支持的每个用户装置54被实现为具有执行本文描述的各种技术和方法所需的硬件、软件、固件和/或处理逻辑的计算机实施的或基于计算机的装置。例如,用户装置54包括可编程装置形式的微处理器,该微处理器包括存储在内部存储器结构中并且被施加来接收二进制输入以创建二进制输出的一个或多个指令。在一些实施例中,用户装置54包括能够接收gps卫星信号并且基于那些信号产生gps坐标的gps模块。在其他实施例中,用户装置54包括蜂窝通信功能性使得该装置通过通信网络56使用一个或多个蜂窝通信协议(如本文所讨论)执行语音和/或数据通信。在各个实施例中,用户装置54包括可视显示器,诸如触摸屏图形显示器或其他显示器。

远程运输系统52包括一个或多个后端服务器系统,所述后端服务器系统可以为基于云的、基于网络的或常驻在由远程运输系统52服务的特定校园或地理位置。远程运输系统52可以由现场顾问或自动顾问或两者的组合来管理。远程运输系统52可以与用户装置54和自主车辆10a到10n进行通信以安排乘车、派遣自主车辆10a到10n等。在各个实施例中,远程运输系统52存储诸如用户认证信息、车辆标识符、简档记录、行为模式以及其他相关用户信息等账户信息。

根据典型的用例工作流程,远程运输系统52的注册用户可以经由用户装置54创建乘车请求。乘车请求通常将指示乘客希望的乘车位置(或当前gps位置)、期望目的地位置(其可以表示预定义的车辆停靠站和/或用户指定的乘客目的地)以及乘车时间。远程运输系统52接收乘车请求、处理该请求,并且在指定的乘车地点且在适当的时间派遣自主车辆10a到10n中的选定车辆来让乘客乘车(当一台车辆可用时和如果一台车辆可用)。远程运输系统52还可以向用户装置54产生并发送适当配置的确认消息或通知,以使乘客知道车辆正在途中。

如可以明白的是,本文公开的主题提供了可以被认为是标准或基线的自主车辆10和/或基于自主车辆的远程运输系统52的某些增强的特征和功能。为此,自主车辆和基于自主车辆的远程运输系统可以被修改、增强或以其他方式补充以提供下面更详细描述的附加特征。

根据各个实施例,控制器34实施如图3中所示的自主驾驶系统(ads)33的高级控制器。即,利用控制器34的合适软件和/或硬件部件(例如,处理器44和计算机可读存储装置46)来提供与车辆10结合使用的自主驾驶系统33的高级控制器。

在各个实施例中,用于自主驾驶系统33的高级控制器的指令可以由功能、模块或系统组织。例如,如图3中所示,自主驾驶系统33的高级控制器可以包括计算机视觉系统74、定位系统76、引导系统78以及车辆控制系统80。如可以明白的是,在各种实施例中,由于本发明不限于本示例,所以可以将指令组织(例如,组合、进一步划分等)为任何数量的系统。

在各个实施例中,计算机视觉系统74合成并处理传感器数据并且预测对象的存在、位置、分类和/或路径以及车辆10的环境的特征。在各个实施例中,计算机视觉系统74可以包含来自多个传感器(包括但不限于相机、激光雷达、雷达和/或任何数量的其他类型的传感器)的信息。定位系统76处理传感器数据以及其他数据以确定车辆10相对于环境的位置(例如,相对于地图的本地位置、相对于道路车道的精确位置、车辆航向、速度等)。引导系统78处理传感器数据以及其他数据以确定车辆10遵循的路径。车辆控制系统80根据所确定的路径生成用于控制车辆10的控制信号72。

在各个实施例中,控制器34实施机器学习技术以辅助控制器34的功能,诸如特征检测/分类、障碍减少、路线穿越、映射、传感器集成、地面实况确定等。

如上面简要提到的,ads33的高级控制器包括在图1的控制器34内,并且可以用于实施包括传感器系统的车辆控制系统的部分,所述传感器系统在一些实施例中可以对应于图3的传感器系统28。

现在将在下面参考图4至9描述,所公开实施例可以提供用于学习用于自驾车辆的驾驶命令和策略的端对端学习系统及方法。端对端学习系统使用卷积神经网络架构,所述卷积神经网络架构结合执行辅助任务并利用辅助信息(除了原始图像)的许多部件。例如,所提出的端对端学习架构结合图像分割、光流、车辆运动学和递归/lstm,同时还将传递学习结合到端对端学习架构中。所公开实施例可以将所有这些辅助任务和信息组合成一个学习系统,所述学习系统可以更有效地学习控制命令和驾驶策略。使用辅助任务和信息进行培训的一个好处是更快的收敛时间和更高的性能准确性,同时仍然允许系统端对端地进行培训。因此,通过结合执行辅助任务的这些附加部件并通过利用辅助信息,可以改善学习和驾驶性能,同时保持最小训练数据的优点,允许进行学习车辆控制策略的端对端训练方法(例如,学习转向角)。

图4是示出根据所公开实施例的端对端学习系统102的框图。端对端学习系统102学习控制命令180以控制自主车辆以解决图像中的特定场景。端对端学习系统102可以包括预处理器130、分割神经网络140、光流神经网络141、第一级联单元(c1)、卷积神经网络(cnn)144、第二级联单元(c2)、长短期记忆(lstm)网络150和完全连接层170。如下面所解释的,这些神经网络中的一些网络(例如,分割神经网络140和光流神经网络141)是可选的,并且不在所有实施方案中使用。

预处理器130对由传感器以当前时间步长(t)从环境获取的图像数据129进行预处理以生成经预处理的图像数据138。应当注意,图4中的图像数据129可以根据实施方案和环境而变化。当在真实自主车辆内在线实现端对端网络架构102时,环境可以是模拟环境或真实的真实驾驶环境。即,在模拟环境中,渲染环境场景的图像数据用作图像数据129,而在真实/实际驾驶环境中,图像数据通过传感器(例如,图3中的传感器28)感测驾驶环境(即,来自驾驶环境的实际观察)而获得。遍及本发明,术语“图像数据”和“状态”可互换使用。在一个实施例中,输入图像数据129可以是原始的三通道rgb图像129,取得形成自主车辆的正视图(即,在车辆行驶的方向上)。对原始图像数据129进行预处理可以帮助校准图像并增加数据的多样性。所执行的预处理可以根据实施方案而变化。下面将参考图5描述预处理的一个非限制性示例。

第一级联单元(c1)将经预处理的图像数据138与一个或多个附加输入141-a、142级联,以生成动态场景输出143,所述动态场景输出是经预处理的图像数据138和一个或多个附加输入141-a、142的级联。数据增加可以帮助增加训练集的体积和训练样本的多样性。在一个实施例中,第一级联单元(c1)将经预处理的图像数据138与附加输入141-a、142中的一者级联以生成动态场景输出143,但是在其他实施例中,第一级联单元(c1)将经预处理的图像数据138与两个附加输入141-a、142级联以产生动态场景输出143。

例如,在一个实施例中,当实施分割神经网络140时,分割神经网络140对经预处理的图像数据138进行分割以生成分割图142,其中经预处理的图像数据138的每个像素已经被分割,然后,第一级联单元(c1)可以将经预处理的图像数据138与分割图142级联以生成动态场景输出143,所述动态场景输出这种情况下是“增强的”分割图。分割图142可以包括一个或多个通道,所述通道提供对预处理图像138中呈现的场景的语义理解。例如,分割图142可以被表示为标量、向量、矩阵等。

因此,在该实施例中,图像语义分割(其通常用于图像识别任务)被结合作为用于导航的辅助任务以在像素级别下对图像数据进行分类/标记。换句话说,训练分割神经网络140以执行图像分割作为学习控制命令的辅助任务,而不是将图像分割视为单独的感知任务。图像分割可以帮助获得更好的环境认知,并结合动态或辅助信息的来源。使用图像分割允许学习系统获得并处理分割图而不是直接使用原始图像数据。该方法的一个好处是分割图142包含用于控制汽车行为的更丰富的信息。例如,分割图142可以明确地识别道路边界的位置以及道路上的周围车辆的位置。这可以使车辆更容易地学习其停止/通行行为或转弯行为。它显著降低了从原始经预处理的图像中隐含地学习所有内容的难度。因此,结合图像分割可以为学习系统提供更多信息,因此产生更好的预测准确性。使用图像分割作为辅助任务的另一个好处是可以离线获得该功能而无需培训额外数据。例如,可以施加已经在更大的数据集上训练的公共图像分割模型,然后可以用最少的数据对模型进行微调。在一个实施方案中,分割类别可以包括天空、道路、车道标记、建筑物、交通信号灯、行人、树、路面、车辆等。

在另一个实施例中,当实施光流神经网络141时,光流神经网络141对经预处理的图像数据138进行处理以生成估计光流的光流图141-a,然后第一级联单元(c1)可以将经预处理的图像数据138与光流图141-a级联以生成动态场景输出143。光流是一种视觉方法,所述视觉方法用于在观察变化时估计对象的相对移动,因此可以帮助识别对象的移动。当光流在整个时间施加在两个连续图像之间时可以评估环境的变化以推断移动。例如,在学习控制命令(诸如转向角)时,光流可以帮助构建与变化环境的连接。由于某个帧中的图像仅包含静态环境信息,因此光流图141-a可以用作动态环境信息的良好补充。最近的进展已经施加cnn来估计光流作为监督学习任务,而所公开实施例将光流组合作为辅助任务。取决于实施方案,光流图可以是三维矩阵,在第三维中具有两个通道的第四维张量,或在第三维中具有多于两个通道的第n维张量。

在再另一实施例中,当实施分割神经网络140和光流神经网络141两者时,在光流神经网络141中处理可以与分割神经网络140对经预处理的图像数据138进行分割并行执行。在该实施例中,第一级联单元(c1)将经预处理的图像数据138与分割图142和光流图141-a级联以生成动态场景输出143,所述动态场景输出是另一种类型的增强分割图。

无论实施例如何,在第一级联单元(c1)生成动态场景输出143之后,卷积神经网络(cnn)144都会处理动态场景输出143以提取特征并生成提取空间特征的特征图145。特征图包括共同构成特征图145的一组区域向量。每个区域向量对应于动态场景输出143的不同区域或“特征层或列”。下面将参考图6描述cnn144的一个实施方案。

在一个实施例中,可以施加迁移学习来使用预训练网络(例如,来自对象分类域)以帮助推动学习控制命令和/或策略。以此方式,学习系统利用迁移学习(例如,从现有图像识别模型迁移知识)来加速训练cnn144的过程。例如,可以使用来自诸如imagenet的图像数据库的图像数据集来预训练cnn144。该预训练允许在处理动态场景输出143(或增强分割图)以生成特征图145之前设定或“预训练”cnn144的初始权重。然后可以在cnn144的训练期间进一步微调初始权重。这种预训练技术通常不用于训练用于学习控制命令的cnn。cnn可以学习一组通用特征,并且可以高准确度地识别各种各样的对象。发现所学习的中间特征在多个域中具有普遍表现力。

第二级联单元(c2)将车辆运动学146与来自特征图145的提取空间特征级联以生成空间上下文特征向量148。车辆运动学146可以包括例如以下一个或多个:车辆加速率、车速、车辆航向、车辆到道路边界的横向距离、车辆先前转向角和车辆转向扭矩。空间上下文特征向量148包括描述当前时间步长(t)的当前上下文的上下文特征。如本文所使用的,术语“上下文”可以指代当前环境的状态和车辆的当前状态。因此,在该步骤中,学习系统将车辆运动学信息与在传感器融合步骤中的图像输入相结合,以结合另一个动态或辅助信息源,所述动态或辅助信息源可以使状态表示更具体并有助于提高性能。运动学信息允许更好地估计车辆的行为,并且有助于确保车辆不执行违反某些物理规则的驾驶行为。

用于自主车辆的决策不是每个时间步长的独立选择。通过类比,人类会考虑过去的环境信息和先前采取的动作,然后对驾驶行为做出一致的决定。因而,期望学习系统做同样的事情并且不仅依赖于当前状态,而且还结合过去状态。为了处理时间依赖性,引入了递归模块(例如,lstm网络150)(以及光流nn141)以帮助提取和结合时间信息以帮助改善当前动作选择。

驾驶是部分可观察的马尔可夫决策过程(pomdp)。为了处理部分可观察性,引入了递归以更好地估计潜在的真实环境状态。更具体地,经由lstm网络152添加递归以包括时间依赖性。lstm网络152是lstm单元的递归神经网络(rnn)模块,并且在本文也可以被称为递归神经网络(rnn)。每个lstm单元都可以按顺序处理数据并在整个时间保持其隐藏状态。作为参考,下面将参考图7描述lstm单元的一个示例。

lstm网络150处理当前时间步长(t)的空间上下文特征向量148以及关于环境的先前信息。更具体地,在当前时间步长(t)期间,lstm网络150处理空间上下文特征向量148和一个或多个先前lstm输出151(在一个或多个相应的先前时间步长)(ht-1=ot-1*tanh(ct-1))以生成当前时间步长(t)的编码后时间上下文向量(ot=σ(w0[ht-1,xt]+bo)160,并处理另一个lstm输出153。一个或多个先前lstm输出151中的每一者是上下文特征向量,所述上下文特征向量是来自特定先前时间步长的最终隐藏状态。lstm输出153以及在下一时间步长(t+1)时间步长生成的下一空间上下文特征向量(图4中未示出)在下一时间步长(t+1)由lstm网络150使用以在下一时间步长(t+1)生成另一个编码后时间上下文向量(图4中未示出)。在每个后续时间步长,重复lstm网络150中的这种处理。

在一个实施例中,由窗口大小(w)指定先前lstm输出151的数量,所述窗口大小定义要由lstm网络150处理的先前lstm输出151的数量(以及空间上下文特征向量148)以在当前时间步长(t)生成编码后时间上下文向量160。例如,在一个实施例中,lstm网络150在大小(w)的滑动窗口中处理空间上下文特征向量(v)148。这意味着控制命令180的预测结果取决于大小为w的过去的输入观察值(xt-w+1-xt)。通过改变w的参数,可以改变系统做出决定所需的时间。例如,较小的w值会导致较短期的记忆,因此反应时间较短,但容易发生突然的传感器故障。相反,较大的w值导致更平滑和稳定的行为。更大的w值的缺点是它需要更长的训练时间和测试时间来选择动作。lstm网络150融合了大小为w的过去的上下文特征向量151(过去隐藏状态)和当前空间上下文特征向量148(t-w、t-(w-1)、…、t-1、t),然后学习时间意识模型。该表示可以缓解部分可观察马尔可夫决策过程(pomdp)环境带来的问题。

完全连接层170处理编码后时间上下文向量160以学习/计算一个或多个控制命令180。如本文所使用,术语“完全连接层”是指其中每个神经元从前一层的每个元素接收输入的层。换句话说,完全连接层将一层中的每个神经元连接到另一层中的每个神经元,使得完全连接层中的神经元与前一层中的所有激活形成连接。每个控制命令180包括以下至少一个:转向角控制命令、加速率控制命令或制动率控制命令。换句话说,取决于实施方案,由完全连接层生成的输出180可以是指定单个控制命令的标量(例如,转向角控制命令或加速率控制命令或制动率控制命令)的标量或指定转向角控制命令和加速率控制命令(正值)或制动率控制命令(负值)的二维向量。

一旦已经学习/生成控制命令180,就可以将它们部署到车辆中使用的ai驾驶员代理系统以控制车辆的操作,如下面参考图8所述。在描述图8之前,将分别参考图5至8描述预处理器130、特征提取cnn144和lstm网络152的lstm单元的一些可能的非限制性实施方案。

图5是示出根据所公开实施例的图4中所示的预处理器130的一个示例性实施方案的框图。在该实施例中,预处理器130可以包括裁剪模块131、上采样模块132、亮度改变模块134和翻转模块136中的一者或多者。该实施方案是非限制性的,并且应当明白,取决于实施方案,可以执行所示的一些或所有步骤。另外,应当明白,取决于实施方案,可以将其他类型的预处理技术结合到预处理器130中。

裁剪模块131裁剪图像数据129以移除无关元素并生成裁剪后图像数据。例如,在包括大面积天空或山顶的图像中,可以从图像数据中移除图像的顶部。作为另一个示例,在包括汽车引擎盖的图像中,可以从图像数据中移除图像的底部。

上采样模块132对裁剪后图像数据进行上采样以生成已被裁剪的上采样图像数据。为了示出关于训练转向角命令的示例,在原始训练集中,大多数场景沿道路直行。因而,与具有小于5度的转向角(这意味着转向角分布被强烈地偏向零)的显著更大数量的训练样本相比,具有大于15度的转向角的图像是稀少的。为了克服数据不平衡的问题,转向角大于10度的图像可以手动上采样十次,而转向角大于5度的图像可以手动上采样五次。然后可以在训练之前随机搅乱上采样图像数据。

亮度改变模块134可以对上采样图像数据施加亮度改变以使它增亮以生成增亮的上采样图像数据。首先将每个图像帧转换为hsv空间,然后将值通道乘以0到10的随机值。这改变了照明情况并且使模型适应各种天气。

翻转模块136可以翻转图像数据的所有帧以获得水平方向上的镜像。这有助于确保例如左转弯样本和右转弯样本的数量完全相同,使得学习不会受到左右方向上的任何偏差的影响。在所有预处理步骤完成之后,预处理器130可以将经预处理的图像数据138输出到cnn144、光流nn141和/或分割nn140。

图6是示出根据所公开实施例的图4中所示的特征提取cnn144的一个示例性实施方案的框图。

cnn是一类深度前馈人工神经网络。它们也基于它们的共享权重架构和平移不变性特性而被称为移位不变或空间不变人工神经网络(siann)。cnn架构由一堆不同的层形成,这些层通过可微函数将输入体积转换为输出体积。通常使用称为卷积层和最大池化层的一些不同类型的层。卷积层的参数由一组可学习的滤波器(或内核)组成,所述滤波器具有较小的感受野,但会延伸穿过输入体积的整个深度。在正向传递期间,每个滤波器在输入体积的宽度和高度上进行卷积,计算滤波器的条目与输入之间的点积,并产生该滤波器的2维激活图。结果,网络学习当它在输入中的某个空间位置处检测到某种特定类型的特征时激活的滤波器。沿深度维度堆叠所有滤波器的激活图形成卷积层的全部输出体积。输出体积中的每个条目因此也可以被解释为神经元的输出,所述神经元着眼于输入中的小区域并与同一激活图中的神经元共享参数。

当处理诸如图像的高维输入时,将神经元连接到前一体积中的所有神经元是不切实际的,因为此类网络架构不考虑数据的空间结构。卷积网络通过在相邻层的神经元之间强制执行局部连接模式来利用空间局部相关性:每个神经元仅连接到输入体积的小区域。这种连接的程度是称为神经元的感受野的超参数。(沿宽度和高度)连接在空间中是局部的,但始终沿输入体积的整个深度延伸。此类架构确保了所学习的滤波器对空间局部输入模式产生最强的响应。

三个超参数控制卷积层的输出体积的大小:深度、步幅和补零。输出体积的深度控制层中连接到输入体积的同一区域的神经元的数量。这些神经元学习激活输入中的不同特征。例如,如果第一卷积层将原始图像作为输入,则沿深度维度的不同神经元可以在存在各种定向边缘或颜色斑点的情况下激活。步幅控制如何分配空间维度(宽度和高度)周围的深度列。当步幅为1时,按一次一个像素移动滤波器。这导致列之间的感受野重叠,并且还导致大的输出量。当步幅为2(或很少为3或更大)时,滤波器在滑动时一次跳跃2个像素。感受野重叠较少,并且所得输出体积具有较小的空间尺寸。有时,在输入体积的边框上对输入补零是很方便的。这种补零的大小是第三超参数。补零提供输出体积空间大小的控制。具体地,有时希望精确地保持输入体积的空间大小。

输出体积的空间大小可以根据输入体积大小w、conv层神经元k的内核场大小、它们应用的步幅s以及在边框上使用的补零p的量来计算。计算给定体积中多少神经元“适合”的公式由(w-k+2p)/s+1给出。如果该数字不是整数,则步幅设定不正确,并且无法以对称方式平铺神经元以适应整个输入体积。通常,当步幅为s=1时,将补零设定为p=(k-1)/2可义确保输入体积和输出体积在空间上具有相同的大小。尽管通常不完全需要耗尽前一层的所有神经元,但是例如可以仅使用一部分补零。在卷积层中使用参数共享方案来控制自由参数的数量。它依赖于一个合理的假设:如果补丁特征对于在某个空间位置进行计算很有用,则在其他位置计算它也应当是有用的。换句话说,将单个2维深度切片表示为深度切片,在每个深度切片中约束神经元以使用相同的权重和偏差。因为单个深度切片中的所有神经元共享相同的参数,所以conv层的每个深度切片中的前向传播可以被计算为神经元的权重与输入体积的卷积(因此名称:卷积层)。因此,通常将权重集称为滤波器(或内核),其与输入进行卷积。该卷积的结果是激活图,并且每个不同滤波器的激活图集沿深度维度堆叠在一起以产生输出体积。参数共享有助于cnn架构的平移不变性。有时,参数共享假设可能没有意义。当cnn的输入图像具有一些特定的中心结构时尤其如此,其中要在不同的空间位置上学习完全不同的特征。

cnn的另一个重要概念是池化,它是非线性下采样的形式。有几个非线性函数可以实施池化,包括最大池化。可以在cnn架构的连续卷积层之间插入最大池化层。在最大池中,输入图像被划分为一组非重叠矩形,并且对于每个这样的子区域,输出最大值。池化层用于逐渐减小表示的空间大小,以减少网络中的参数数量和计算量,并因此还控制过度拟合。池化操作提供了另一种形式的平移不变性。每个最大池化层在输入的每个深度切片上独立操作,并在空间上调整它的大小。最常见的形式是具有大小为2x2的滤波器的池化层,以在输入中每个深度切片处2个下采样的步幅沿宽度和高度乘以2来施加,丢弃75%的激活。在这种情况下,每个最大操作都超过4个数字。深度维度保持不变。

最大池化允许cnn利用输入数据的2d结构。因而,cnn适用于处理视觉和其他二维数据。它们可以通过标准的反向传播进行训练。cnn比其他常规的深度前馈神经网络更容易训练,并且要估计的参数更少。

再次参考图6,该非限制性实施方案包括多个级或层,所述级或层包括第一卷积层224、第一最大池化层226、第二卷积层228和第二最大池化层229。然而,应当明白,取决于实施方案,特征提取cnn144可以包括基于输入的动态场景输出143生成特征层232所需的任何数量的层。

特征提取cnn144接收动态场景输出143作为输入层222。动态场景输出143可以包括经预处理的图像数据138,其包括经预处理的像素信息或数据(例如,像素)以及上面参考图4提到的其他信息源141-a、142。特征提取cnn144的不同层224、226、228、229可以处理动态场景输出143以提取各种特征以产生特征层232。为了进一步解释,特征提取cnn144的每个层224、226、228、229被配置为连续处理动态场景输出143的像素,以进一步从动态场景输出143和输出特征层232、236中提取特征。

在一个实施例中,输入层222可以是由光流图141-a和/或分割图142增强的红蓝绿通道的输入图像的级联,以产生到神经网络的总输入。第一卷积层224被配置为将第一组卷积内核施加于输入层222。例如,第一卷积层224的输入可以与一组卷积内核进行卷积,以通过诸如校正线性单元(relu)函数的非线性激活函数来生成输出神经激活。每个卷积内核生成第一层输出通道,其包括具有第一分辨率的图像。第一最大池化层226被配置为通过对第一输出通道施加最大值操作来处理每个第一输出通道以缩小相应图像并生成具有第一分辨率的缩小图。第一最大池化层226输出多个第二输出通道,每个第二输出通道包括具有小于第一分辨率的第二分辨率的图像。第二卷积层228,被配置为将第二组卷积内核施加于多个第二输出通道中的每一者。第二组中的每个卷积内核生成第三输出通道,所述第三输出通道包括具有小于第二分辨率的第三分辨率的图像。例如,第二卷积层228的输入可以与另一组卷积内核进行卷积,以通过诸如relu函数的非线性激活函数来生成输出神经激活。第二最大池化层229被配置为通过对第三输出通道施加最大值操作来处理每个第三输出通道以缩小相应图像并生成具有第三分辨率的缩小图。第二最大池化层229输出多个第四输出通道,每个第四输出通道包括具有小于第三分辨率的第四分辨率的图像。特征层包括三维张量,其包括多个第四输出通道。

特征提取cnn144将每个特征层232与前一特征层236和范围存在图238级联以生成并输出特征图132。特征图132是来自特征层232、前一特征层236和范围存在图238的级联层。换句话说,范围存在图238、当前基于视觉的特征图232和来自前一时刻的前一基于视觉的特征图236的级联形成整个特征图132。

图7是lstm单元200的一个非限制性示例的框图,所述lstm单元可以被实施为lstm单元的lstm网络152的一部分。lstm单元包括200个输入门(i)206、输出门(o)208和遗忘门(f)216。这些门206、208、216中的每一者可以被认为是前馈(或多层)神经网络中的“标准”神经元:即,它们计算加权和的激活(使用激活函数)。it、ot和ft分别表示在时间步长t的输入门206、输出门208和遗忘门216的激活。从记忆单元c212到三个门i206、o208和f216的三个出口箭头表示窥孔连接。这些窥孔连接表示在时间t-1激活记忆单元c212的贡献,即贡献ct-1(而不是ct,如图片所表明)。换句话说,门i206、o208和f216还在时间步长t(即,分别为it、ot和ft)计算它们的激活,还考虑在时间步长t-1(即,ct-1)的记忆单元c212的激活。离开记忆单元的单个从左到右的箭头不是窥孔连接并且表示ct。包含x符号的小圆圈210、214、202表示其输入之间的逐元素乘法。包含s样曲线的大圆圈204、218表示可微函数(如s形函数)对加权和的应用。应当明白,图7c的ltsm单元200不是限制性的,也可以在lstm网络152内实施其他种类的lstm单元。

图8是示出根据所公开实施例的ai驱动器代理系统310的框图,所述ai驱动器代理系统包括驾驶环境处理器314和基于人工智能(ai)的自主驾驶员代理模块316。图8示出了驾驶环境处理器314与其相应的基于ai的自主驾驶员代理模块316之间基于驾驶环境处理器314所观察到的驾驶环境的交互。驾驶员代理316遵循策略172以生成动作(a)318,然后所述动作被解释为生成用于在驾驶环境处理器314所观察到的特定驾驶环境中驾驶车辆的命令180。每个策略172可以处理驾驶环境的状态(s)(如由驾驶环境处理器314所观察到的),并且生成动作(a)318,其用于控制在驾驶环境的状态(s)中操作的特定av。驾驶环境的变化可以包括例如不同的开始/目标位置、不同的交通配置、不同的道路配置、不同的照明/天气/能见度条件等。

在一个实施例中,由驾驶员代理316生成的动作(a)318是控制命令180(图4),所述控制命令被发送以控制致动器系统90的一个或多个致动器装置以计划和执行要被执行以自动控制自主车辆并且使在特定驾驶场景中遇到的自主驾驶任务自动化(例如,以实现一个或多个特定车辆轨迹和速度曲线)的一个或多个控制动作。在一个实施例中,命令解释器或验证器(图8和9中未示出)可以在将动作发送到致动器系统90之前处理动作,以确保命令在可接受限制内。为了进一步参考图3和3进行解释,图8的动作等同于图3的控制信号72。如上面参考图3所述,在一个实施例中,致动器系统90包括车辆的多个致动器(例如,由转向角控制命令控制的转向扭矩或角度控制器、由制动控制命令控制的制动系统、由加速控制命令控制的节气门系统等)。动作(或图3的控制信号72)用于根据动作(或图3的控制信号72)生成控制致动器(图3的致动器装置42a至42n)的信号以计划并执行要被执行以使驾驶任务自动化的一个或多个控制动作。一个或多个控制动作自动控制自主车辆以使在特定驾驶场景中遇到的自主驾驶任务自动化(例如,以实现特定车辆轨迹和速度曲线)。

替代地,在一些实施方案中,图4的端对端学习系统102可以在真实自主车辆内在线实施,以通过传感器(例如,图3中的传感器38)获取实际图像数据,感测驾驶环境(即,来自驾驶环境的实际观察)并且进一步在真实或实际驾驶环境中训练系统,如下面参考图9更详细地描述的。图9是示出根据所公开实施例的在线学习系统的框图,所述在线学习系统包括驾驶环境处理器314和基于人工智能(ai)的自主驾驶员代理模块,所述自主驾驶员代理模块实施端对端网络架构102。在该实施例中,其中部署了在线学习系统的车辆利用端对端网络架构102来学习和更新学习控制命令(例如,转向角控制命令、加速率控制命令和/或制动率控制命令),所述控制命令实时控制自主车辆,同时还执行如上参考图8所述的驾驶员代理316的各种其他功能。

尽管前述详细描述中已经提出了至少一个示例性实施例,但是应当明白的是,存在许多变化。还应当明白的是,示例性实施例或多个示例性实施例仅是示例并且不旨在以任何方式限制本发明的范围、实用性或配置。更确切地,前文详细描述将给本领域技术人员提供用于实施示例性实施例或多个示例性实施例的便捷指引。应当理解的是,在不脱离所附权利要求及其合法等同物中陈述的本发明的范围的情况下,可以对元件的功能和布置作出各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1