首页> 中国专利> 多任务模型训练方法、多任务处理方法、装置及车辆

多任务模型训练方法、多任务处理方法、装置及车辆

摘要

本公开涉及自动驾驶领域中,一种多任务模型训练方法、多任务处理方法、装置及车辆,多任务模型训练方法包括:获取多任务模型针对多个任务分别输出的损失值;根据所有所述任务的损失值,确定每一所述任务的目标损失值,所有所述任务的目标损失值属于同一量级;根据每一所述任务的目标损失值,调整所述多任务模型的参数,以得到训练好的多任务模型,减小不同任务间的损失值的差异,解决了损失值大的任务在多任务模型训练中占据主导地位引起的训练不平衡的问题。

著录项

  • 公开/公告号CN114882464A

    专利类型发明专利

  • 公开/公告日2022-08-09

    原文格式PDF

  • 申请/专利权人 小米汽车科技有限公司;

    申请/专利号CN202210613281.2

  • 发明设计人 周天宝;

    申请日2022-05-31

  • 分类号G06V20/56(2022.01);G06N20/00(2019.01);

  • 代理机构北京英创嘉友知识产权代理事务所(普通合伙) 11447;

  • 代理人曾尧

  • 地址 100176 北京市大兴区北京经济技术开发区科创十街15号院5号楼6层618室

  • 入库时间 2023-06-19 16:19:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-07-18

    授权

    发明专利权授予

  • 2022-08-26

    实质审查的生效 IPC(主分类):G06V20/56 专利申请号:2022106132812 申请日:20220531

    实质审查的生效

  • 2022-08-09

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及自动驾驶领域,尤其涉及一种多任务模型训练方法、多任务处理方法、装置及车辆。

背景技术

多任务学习是指给定多个学习任务,其中所有或一部分任务是相关但并不完全一样的,多任务学习的目标是通过使用多个任务中包含的知识来帮助提升各个任务的性能。

由于不同的任务往往会引入不同的损失函数,这些损失函数得到的损失值差异过大,而损失值大的任务会使得其在多任务学习过程中占据主导地位,以致于在多任务学习的过程中会引起不平衡的问题。

发明内容

为克服相关技术中存在的问题,本公开提供一种多任务模型训练方法、多任务处理方法、装置及车辆。

根据本公开实施例的第一方面,提供一种多任务模型训练方法,包括:

获取多任务模型针对多个任务分别输出的损失值;

根据所有所述任务的损失值,确定每一所述任务的目标损失值,所有所述任务的目标损失值属于同一量级;

根据每一所述任务的目标损失值,调整所述多任务模型的参数,以得到训练好的多任务模型。

可选的,所述根据所有所述任务的损失值,确定每一所述任务的目标损失值,包括:

在确定获取的所有所述任务的损失值的数量达到预设数量的情况下,根据所有所述任务对应的所述预设数量的损失值,确定每一所述任务的损失权重;

针对每一所述任务,根据该任务的损失权重和最后一次获取到的该任务的损失值,确定该任务的目标损失值。

可选的,所述根据所有所述任务对应的所述预设数量的损失值,确定每一所述任务的损失权重,包括:

针对每一所述任务,根据该任务对应的所述预设数量的损失值确定第一融合损失值;

根据所有所述任务的第一融合损失值,确定第二融合损失值;

根据每一所述任务对应的第一融合损失值和所述第二融合损失值,确定每一所述任务的损失权重。

可选的,所述方法还包括:

将获取到的每一所述任务的损失值存储至损失队列;

根据所述损失队列中已存储的每一所述任务的损失值的数量,确定获取的所有所述任务的损失值是否达到所述预设数量。

可选的,所述损失队列包括与每一任务对应的元素,每一所述元素用于存储所述预设数量的损失值,所述方法还包括:

在调整所述多任务模型的参数后,按照损失值的存储顺序删除每一所述元素中的所有损失值中的至少一个损失值。

可选的,所述多任务模型包括共享特征网络和与每一所述任务对应的输出网络,所述获取多任务模型针对多个任务分别输出的损失值,包括:

获取多个样本数据,所述多个样本数据包括每一所述任务对应的样本数据;

将所述多个样本数据中的至少一个样本数据输入至所述共享特征网络,得到特征图;

将所述特征图输入至所述输出网络,得到每一所述任务对应的输出结果;

针对每一所述任务,根据该任务对应的输出结果和所述至少一个样本数据的至少一个标签数据,采用与该任务对应的损失函数确定与该任务对应的损失值。

可选的,所述多个任务包括车道线识别任务、红绿灯识别任务、标牌识别任务和路面识别任务中的至少两者。

根据本公开实施例的第二方面,提供一种多任务处理方法,包括:

获取用于表征车辆所处环境的待处理图像;

将所述待处理图像输入至第一方面中训练好的多任务模型中进行处理,得到所述待处理图像的多任务处理结果,其中,所述多任务处理结果用于决策所述车辆的行驶策略。

根据本公开实施例的第三方面,提供一种多任务模型训练装置,包括:

第一获取模块,被配置为获取多任务模型针对多个任务分别输出的损失值;

第一确定模块,被配置为根据所有所述任务的损失值,确定每一所述任务的目标损失值,所有所述任务的目标损失值属于同一量级;

调整模块,被配置为根据每一所述任务的目标损失值,调整所述多任务模型的参数,以得到训练好的多任务模型。

根据本公开实施例的第四方面,提供一种多任务处理装置,包括:

第二获取模块,被配置为获取用于表征车辆所处环境的待处理图像;

处理模块,被配置为将所述待处理图像输入至第一方面中训练好的多任务模型中进行处理,得到所述待处理图像的多任务处理结果,其中,所述多任务处理结果用于决策所述车辆的行驶策略。

根据本公开实施例的第五方面,提供一种多任务模型训练装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取多任务模型针对多个任务分别输出的损失值;

根据所有所述任务的损失值,确定每一所述任务的目标损失值,所有所述任务的目标损失值属于同一量级;

根据每一所述任务的目标损失值,调整所述多任务模型的参数,以得到训练好的多任务模型。

根据本公开实施例的第六方面,提供一种多任务处理装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取用于表征车辆所处环境的待处理图像;

将所述待处理图像输入至第一方面中训练好的多任务模型中进行处理,得到所述待处理图像的多任务处理结果,其中,所述多任务处理结果用于决策所述车辆的行驶策略。

根据本公开实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现第一方面和第二方面中任一项所述方法的步骤。

根据本公开实施例的第八方面,提供一种车辆,所述车辆包括第五方面和第六方面所述的装置。

本公开的实施例提供的技术方案可以包括以下有益效果:可以自动调整任务的损失值,且由于所有任务的目标损失值属于同一量级,因此,可以减小不同任务间的损失值的差异,解决了损失值大的任务在多任务模型训练中占据主导地位引起的训练不平衡的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种多任务模型训练方法的流程图。

图2是根据一示例性实施例示出的一种多任务模型训练方法的另一流程图。

图3是根据一示例性实施例示出的图1所示步骤S12的流程图。

图4是根据一示例性实施例示出的一种多任务处理方法的流程图。

图5是根据一示例性实施例示出的一种多任务模型训练装置的框图。

图6是根据一示例性实施例示出的一种多任务处理装置的框图。

图7是根据一示例性实施例示出的一种用于多任务模型训练的装置的框图。

图8是根据一示例性实施例示出的一种车辆的功能框图示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

需要说明的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。

首先,对本公开的应用场景进行示例性说明。车辆的自动驾驶需要对周围环境进行感知,并根据感知结果进行车辆行驶策略的决策规划。因此,周围环境感知越精确,决策越可靠,而在周围环境中识别出影响车辆行车策略的不同目标是提高周围环境感知的精确的解决方案之一。由于车辆的计算平台的计算力有限,势必造成识别的目标的数量受限。因此可以考虑利用多任务学习来实现自动驾驶中涉及的各种目标识别任务,从而提升整体任务训练的效率,这也更适用于计算力有限的车辆。

需要说明的是,前述车辆自动驾驶应用场景并不造成对本公开的限定,其他适用多任务学习的应用场景同等适用本公开。

以下结合附图对本公开进行解释说明。

图1是根据一示例性实施例示出的一种多任务模型训练方法的流程图,该多任务模型训练方法可以应用于车辆中,也可以应用于例如智能手机、智能平板等终端设备中,以下以车辆为例进行示例性说明。如图1所示,包括以下步骤。

在步骤S11中,获取多任务模型针对多个任务分别输出的损失值。

在一些实施例中,参照图2,多任务模型可以包括共享特征网络和与每一任务对应的输出网络,共享特征网络用于提取样本的特征,每一任务对应的输出网络用于对共享特征网络提取的样本的特征进行计算,得到输出结果。在此情况下,图1所示步骤S11可以通过以下方式实施:获取多个样本数据,多个样本数据包括每一任务对应的样本数据;将多个样本数据中的至少一个样本数据输入至共享特征网络,得到特征图;将特征图输入至输出网络,得到每一任务对应的输出结果;针对每一任务,根据该任务对应的输出结果和至少一个样本数据的至少一个标签数据,采用与该任务对应的损失函数确定与该任务对应的损失值。

其中,样本数据可以是图像类的样本数据。样本数据可以从与车辆对应的本地存储位置中获取,也可以从指定存储位置中获取,本实施例对此并不限定。

在样本数据为图像类的样本数据时,共享特征网络提取的特征图为图像特征图。示例地,共享特征网络可以是VGG(Visual Geometry Group,计算机视觉组)网络,共享特征网络可以是ResNet网络。

输出网络是head网络,head网络是获取输出内容的网络,head网络利用提取到的特征做出预测,得到输出结果。在图2中,输出网络1对应任务1,输出网络2对应任务2,以此类推,输出网络N对应任务N,各输出网络从共享特征网络获取到特征图,进而输出与各任务对应的损失。参照图2,损失1对应任务1,损失2对应任务2,以此类推,损失N对应任务N。

需要说明的是,每个任务对应的损失函数是不同的。示例地,任务的损失函数的类型可以是交叉熵函数,本实施例对此不作限定。

在一些实施例中,在多个样本数据中选择至少一个样本数据,组成批样本数据。一个批样本数据中可以对应多种任务对应的样本数据,一个批样本数据中也可以对应一种任务对应的样本数据,本实施例对此不作限定。

需要说明的是,在批样本数据为至少两个时,任务对应的损失值为批样本数据中每一样本数据对应的输出结果和该样本数据对应的标签数据之间的差异的和,通过至少两个的批样本数据进行一次损失值的计算,可以提高整体的多任务模型的训练效率。

在一些实施例中,多个任务可以包括车道线识别任务、红绿灯识别任务、标牌识别任务和路面识别任务中的至少两者。以任务为路面识别任务为例,样本数据可以是包含各种路面的图像样本数据,对应的标签数据可以是上坡路面、下坡路面等。

在步骤S12中,根据所有任务的损失值,确定每一任务的目标损失值,所有任务的目标损失值属于同一量级。

由于不同的任务往往会引入不同的损失函数,这些损失函数得到的损失值在量纲(即量级)上可能差异过大,因此,可以将所有任务的损失至调整至同一量级上,以此来降低不同任务的损失值的差异,进而降低根据损失值大得到的梯度值的差异,因梯度值用于调整多任务模型的参数,进而可以解决多任务模型训练不平衡的问题。

参照图2,自适应损失调整模块可以将各任务对应输出网络输出的损失值进行调整,进而得到各任务对应后的调整后的损失,即目标损失值。在图2中,调整后的损失1对应任务1,调整后的损失2对应任务2,以此类推,调整后的损失N对应任务N。

在步骤S13中,根据每一任务的目标损失值,调整多任务模型的参数,以得到训练好的多任务模型。

其中,可以采用反向传播方式对多任务模型的参数进行调整。以图2所示的多任务模型的网络结构为例,多任务模型的参数包括各任务对应的输出网络的第一参数和共享特征网络的第二参数。举例来讲,根据任务的目标损失值和任务对应的损失函数确定出梯度值,根据该梯度值更新与任务对应的输出网络的第一参数,在依据梯度值;根据所有任务的目标损失值和所有任务对应的损失函数确定出梯度值,根据该梯度值更新共享特征网络的第二参数。其中,反向传播方式中各网络层的梯度值的计算方式可以参照相关技术,本实施例在此不作赘述。

需要说明的是,在步骤S13中,是利用每一次确定的每一任务的目标损失值,对多任务模型的参数进行迭代更新,在满足迭代条件时,则可以得到训练好的多任务模型。其中,迭代条件可以是对参数进行预设次数的迭代更新,或者还可以是满足预设的学习率,本实施例在此不作限定。

通过上式方式,减小不同任务间的损失值的差异,解决了损失值大的任务在多任务模型训练中占据主导地位引起的训练不平衡的问题。

图3是根据一示例性实施例示出的图1所示步骤S12的流程图,参照图3,图1所示步骤S12可以包括以下步骤:

在步骤S31中,在确定获取的所有任务的损失值的数量达到预设数量的情况下,根据所有任务对应的预设数量的损失值,确定每一任务的损失权重。

其中,损失权重表征损失缩放比,根据各任务的损失权重可以将各任务的输出网络输出的损失值调整至同一量级。

在一些实施例中,步骤S31可以通过以下方式实施:针对每一任务,根据该任务对应的预设数量的损失值确定第一融合损失值;根据所有任务的第一融合损失值,确定第二融合损失值;根据每一任务对应的第一融合损失值和第二融合损失值,确定每一任务的损失权重。

在一些实施例中,任务的第一融合损失值和第二融合损失值的数值类型可以是平均值、中位数、几何平均值等。本实施例在此不作限定。应该理解的是,第一融合损失值和第二融合损失值的类型是一致的。例如,以数值类型为平均值为例,针对任务1,任务1包括5各损失值,分别为A1、A2、A3、A4和A5,任务1的第一融合损失值为(A1+A2+A3+A4+A5)/5;又例如,针对任务1和任务2,任务1和任务2的第一融合损失值分别是B1和B2,则任务1和任务2的第二融合损失值为(B1+B2)/2。

示例地,任务的损失权重可以是该任务的第一融合损失值和第二融合损失值的比值。例如,任务1的第一融合损失值是B1,包括任务1的所有任务的第二融合损失值为C1,则任务1的损失权重为B1/C1。

在步骤S32中,针对每一任务,根据该任务的损失权重和最后一次获取到的该任务的损失值,确定该任务的目标损失值。

需要说明的是,最后一次获取到的任务的损失值是获取到的预设数量中的最后一个损失值。承接上述示例,任务1对应的输出网络依次输出的A1、A2、A3、A4和A5,则A5为最后一次获取到的任务1的损失值。

在一些实施例中,可以将任务的损失权重和最后一次获取到的该任务的损失值的乘积,作为该任务的目标损失值。

通过上述方式,利用各任务的预设数量的损失值来确定各任务的目标损失值,可以提高多任务模型基于各任务的目标损失值的训练效果。

需要说明的是,在多任务模型的训练前期,即任务的输出网络输出的损失值还未达到预设数量的情况下,可以直接利用任务的输出网络输出的损失值调整多任务模型的参数。

在一些实施例中,可以根据各任务的情况,设置与每个任务对应的预设数量,换而言之,每个任务对应的预设数量可以是相同的,也可以是不同的。

为了便于确定获取的所有任务的损失值是否均达到了预设数量,可以用一个存储空间来存储任务的损失值的情况。举例来讲,将获取到的每一任务的损失值存储至损失队列;根据损失队列中已存储的每一任务的损失值的数量,确定获取的所有任务的损失值是否达到预设数量。如此,通过访问损失队列,则可以快捷地确定获取的所有任务的损失值是否达到所述预设数量。

为了单独维护每个任务对应的预设数量的损失值,在一些实施例中,损失队列可以包括与每一任务对应的元素,每一元素则用于存储该元素对应的任务的预设数量的损失值,即每一元素是具有固定存储空间的元素。在每一元素的存储空间达到最大值时,则可以确定获取的该任务的损失值达到所述预设数量。

此外,在调整多任务模型的参数后,按照损失值的存储顺序删除每一元素中的所有损失值中的至少一个损失值。通过此方式,可以使损失队列中每个元素存储的损失值包括最新获取的(输出网络最新输出的)损失值。

一般地,删除每一元素中的所有损失值中的一个损失值,如此可以确保在多任务模型的调整过程中,一直依照同一量级的损失值进行模型的训练。

图4是根据一示例性实施例示出的一种多任务处理方法的流程图,该多任务处理方法可以应用于车辆中,也可以应用于例如智能手机、智能平板等终端设备中,以下以车辆为例进行示例性说明。如图1所示,包括以下步骤。

在步骤S41中,获取用于表征车辆所处环境的待处理图像;

在步骤S42中,将所述待处理图像输入至训练好的多任务模型中,得到待处理图像的多任务处理结果,其中,多任务处理结果用于决策车辆的行驶策略。

在一些实施例中,考虑到视频由多帧图像组成,因此,待处理图像可以是视频中的图像,对每帧图像进行处理,可以决策车辆在行驶过程中的行驶策略。

在一些实施例中,车辆中可以设置摄像头模组,电子设备可以控制摄像头模组进行实时拍摄图像或者录制视频,以获取待处理图像。

在一些实施例中,车辆也可以从指定位置读取图像作为待处理图像。

需要说明的是,这里的多任务模型的训练过程可以参照前述相关实施例,本实施例在此不作赘述。

以前述任务为路面识别任务为例,多任务处理结果可以包括下坡路面,因此,可以决策的行驶策略包括车辆的行驶速度不能超过预设速度阈值。再例如,以前述任务为标牌识别任务为例,多任务处理结果可以包括禁止停车标牌,因此,可以决策决策的行驶策略包括车辆不能在此处停车。

通过上述方式,利用训练好的多任务模型对车辆行驶过程中所处的环境进行识别,进而决策车辆在行驶过程中的行驶策略。

图5是根据一示例性实施例示出的一种多任务模型训练装置500的框图。参照图5,该多任务模型训练装置500包括:

第一获取模块501,被配置为获取多任务模型针对多个任务分别输出的损失值;

第一确定模块502,被配置为根据所有所述任务的损失值,确定每一所述任务的目标损失值,所有所述任务的目标损失值属于同一量级;

调整模块503,被配置为根据每一所述任务的目标损失值,调整所述多任务模型的参数。

可选的,所述第一确定模块502包括:

第一确定子模块,被配置为在确定获取的所有所述任务的损失值的数量达到预设数量的情况下,根据所有所述任务对应的所述预设数量的损失值,确定每一所述任务的损失权重;

第二确定子模块,被配置为针对每一所述任务,根据该任务的损失权重和最后一次获取到的该任务的损失值,确定该任务的目标损失值。

可选的,所述第一确定子模块具体被配置为针对每一所述任务,根据该任务对应的所述预设数量的损失值确定第一融合损失值;根据所有所述任务的第一融合损失值,确定第二融合损失值;根据每一所述任务对应的第一融合损失值和所述第二融合损失值,确定每一所述任务的损失权重。

可选的,所述多任务模型训练装置500还包括:

存储模块,被配置为将获取到的每一所述任务的损失值存储至损失队列;

第二确定模块,被配置为根据所述损失队列中已存储的每一所述任务的损失值的数量,确定获取的所有所述任务的损失值是否达到所述预设数量。

可选的,所述损失队列包括与每一任务对应的元素,每一所述元素用于存储所述预设数量的损失值,所述多任务模型训练装置500还包括:

删除模块,被配置为在调整所述多任务模型的参数后,按照损失值的存储顺序删除每一所述元素中的所有损失值中的至少一个损失值。

可选的,所述多任务模型包括共享特征网络和与每一所述任务对应的输出网络,所述第一获取模块501包括:

获取子模块,被配置为获取多个样本数据,所述多个样本数据包括每一所述任务对应的样本数据;

第一输入子模块,被配置为将所述多个样本数据中的至少一个样本数据输入至所述共享特征网络,得到特征图;

第二输入子模块,被配置为将所述特征图输入至所述输出网络,得到每一所述任务对应的输出结果;

第三确定子模块,被配置为针对每一所述任务,根据该任务对应的输出结果和所述至少一个样本数据的至少一个标签数据,采用与该任务对应的损失函数确定与该任务对应的损失值。

可选的,所述多个任务包括车道线识别任务、红绿灯识别任务、标牌识别任务和路面识别任务中的至少两者。

图6是根据一示例性实施例示出的一种多任务处理装置600的框图。参照图6,该多任务处理装置600包括:

第二获取模块601,被配置为获取用于表征车辆所处环境的待处理图像;

处理模块602,被配置为将所述待处理图像输入至多任务模型中进行处理,得到所述待处理图像的多任务处理结果,其中,所述多任务处理结果用于决策所述车辆的行驶策略。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开提供的多任务模型训练方法和多任务处理方法的步骤。

图7是根据一示例性实施例示出的一种用于多任务模型训练的装置700的框图。

参照图7,装置700可以包括以下一个或多个组件:处理组件702,第一存储器704,电源组件706,多媒体组件708,音频组件710,输入/输出接口712,传感器组件714,以及通信组件716。

处理组件702通常控制装置700的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件702可以包括一个或多个第一处理器720来执行指令,以完成上述的多任务模型训练方法的全部或部分步骤。此外,处理组件702可以包括一个或多个模块,便于处理组件702和其他组件之间的交互。例如,处理组件702可以包括多媒体模块,以方便多媒体组件708和处理组件702之间的交互。

第一存储器704被配置为存储各种类型的数据以支持在装置700的操作。这些数据的示例包括用于在装置700上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。第一存储器704可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件706为装置700的各种组件提供电力。电源组件706可以包括电源管理系统,一个或多个电源,及其他与为装置700生成、管理和分配电力相关联的组件。

多媒体组件708包括在所述装置700和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件708包括一个前置摄像头和/或后置摄像头。当装置700处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件710被配置为输出和/或输入音频信号。例如,音频组件710包括一个麦克风(MIC),当装置700处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在第一存储器704或经由通信组件716发送。在一些实施例中,音频组件710还包括一个扬声器,用于输出音频信号。

输入/输出O接口712为处理组件702和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件714包括一个或多个传感器,用于为装置700提供各个方面的状态评估。例如,传感器组件714可以检测到装置700的打开/关闭状态,组件的相对定位,例如所述组件为装置700的显示器和小键盘,传感器组件714还可以检测装置700或装置700一个组件的位置改变,用户与装置700接触的存在或不存在,装置700方位或加速/减速和装置700的温度变化。传感器组件714可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件714还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件714还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件716被配置为便于装置700和其他设备之间有线或无线方式的通信。装置700可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件716经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件716还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置700可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述多任务模型训练方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的第一存储器704,上述指令可由装置700的第一处理器720执行以完成上述多任务模型训练方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

上述装置700除了可以是独立的电子设备外,也可是独立电子设备的一部分,例如在一种实施例中,该装置700可以是集成电路(Integrated Circuit,IC)或芯片,其中该集成电路可以是一个IC,也可以是多个IC的集合;该芯片可以包括但不限于以下种类:GPU(Graphics Processing Unit,图形处理器)、CPU(Central Processing Unit,中央处理器)、FPGA(Field Programmable Gate Array,可编程逻辑阵列)、DSP(Digital SignalProcessor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、SOC(System on Chip,SoC,片上系统或系统级芯片)等。上述的集成电路或芯片中可以用于执行可执行指令(或代码),以实现上述的多任务模型训练方法。其中该可执行指令可以存储在该集成电路或芯片中,也可以从其他的装置或设备获取,例如该集成电路或芯片中包括第二处理器、第二存储器,以及用于与其他的装置通信的接口。该可执行指令可以存储于该第二存储器中,当该可执行指令被第二处理器执行时实现上述的多任务模型训练方法;或者,该集成电路或芯片可以通过该接口接收可执行指令并传输给该第二处理器执行,以实现上述的多任务模型训练方法。

需要说明的是,用于多任务处理的装置的框图可以参照图7所示的用于多任务模型训练的装置700的框图,本实施例在此不作赘述。

参阅图8,图8是一示例性实施例示出的一种车辆800的功能框图示意图。车辆800可以被配置为完全或部分自动驾驶模式。例如,车辆800可以通过感知系统820获取其周围的环境信息,并基于对周边环境信息的分析得到自动驾驶策略以实现完全自动驾驶,或者将分析结果呈现给用户以实现部分自动驾驶。

车辆800可包括各种子系统,例如,信息娱乐系统810、感知系统820、决策控制系统830、驱动系统840以及计算平台850。可选的,车辆800可包括更多或更少的子系统,并且每个子系统都可包括多个部件。另外,车辆800的每个子系统和部件可以通过有线或者无线的方式实现互连。

在一些实施例中,信息娱乐系统810可以包括通信系统811,娱乐系统812以及导航系统813。

通信系统811可以包括无线通信系统,无线通信系统可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE。或者5G蜂窝通信。无线通信系统可利用WiFi与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。

娱乐系统812可以包括显示设备,麦克风和音响,用户可以基于娱乐系统在车内收听广播,播放音乐;或者将手机和车辆联通,在显示设备上实现手机的投屏,显示设备可以为触控式,用户可以通过触摸屏幕进行操作。

在一些情况下,可以通过麦克风获取用户的语音信号,并依据对用户的语音信号的分析实现用户对车辆800的某些控制,例如调节车内温度等。在另一些情况下,可以通过音响向用户播放音乐。

导航系统813可以包括由地图供应商所提供的地图服务,从而为车辆800提供行驶路线的导航,导航系统813可以和车辆的全球定位系统821、惯性测量单元822配合使用。地图供应商所提供的地图服务可以为二维地图,也可以是高精地图。

感知系统820可包括感测关于车辆800周边的环境的信息的若干种传感器。例如,感知系统820可包括全球定位系统821(全球定位系统可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)822、激光雷达823、毫米波雷达824、超声雷达825以及摄像装置826。感知系统820还可包括被监视车辆800的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是车辆800的安全操作的关键功能。

全球定位系统821用于估计车辆800的地理位置。

惯性测量单元822用于基于惯性加速度来感测车辆800的位姿变化。在一些实施例中,惯性测量单元822可以是加速度计和陀螺仪的组合。

激光雷达823利用激光来感测车辆800所位于的环境中的物体。在一些实施例中,激光雷达823可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。

毫米波雷达824利用无线电信号来感测车辆800的周边环境内的物体。在一些实施例中,除了感测物体以外,毫米波雷达824还可用于感测物体的速度和/或前进方向。

超声雷达825可以利用超声波信号来感测车辆800周围的物体。

摄像装置826用于捕捉车辆800的周边环境的图像信息。摄像装置826可以包括单目相机、双目相机、结构光相机以及全景相机等,摄像装置826获取的图像信息可以包括静态图像,也可以包括视频流信息。

决策控制系统830包括基于感知系统820所获取的信息进行分析决策的计算系统831,决策控制系统830还包括对车辆800的动力系统进行控制的整车控制器832,以及用于控制车辆800的转向系统833、油门834和制动系统835。

计算系统831可以操作来处理和分析由感知系统820所获取的各种信息以便识别车辆800周边环境中的目标、物体和/或特征。目标可以包括行人或者动物,物体和/或特征可包括交通信号、道路边界和障碍物。计算系统831可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪等技术。在一些实施例中,计算系统831可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。计算系统831可以将所获取的各种信息进行分析并得出对车辆的控制策略。

整车控制器832可以用于对车辆的动力电池和引擎841进行协调控制,以提升车辆800的动力性能。

转向系统833可操作来调整车辆800的前进方向。例如在一个实施例中可以为方向盘系统。

油门834用于控制引擎841的操作速度并进而控制车辆800的速度。

制动系统835用于控制车辆800减速。制动系统835可使用摩擦力来减慢车轮844。在一些实施例中,制动系统835可将车轮844的动能转换为电流。制动系统835也可采取其他形式来减慢车轮844转速从而控制车辆800的速度。

驱动系统840可包括为车辆800提供动力运动的组件。在一个实施例中,驱动系统840可包括引擎841、能量源842、传动系统843和车轮844。引擎841可以是内燃机、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎841将能量源842转换成机械能量。

能量源842的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源842也可以为车辆800的其他系统提供能量。

传动系统843可以将来自引擎841的机械动力传送到车轮844。传动系统843可包括变速箱、差速器和驱动轴。在一个实施例中,传动系统843还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮844的一个或多个轴。

车辆800的部分或所有功能受计算平台850控制。计算平台850可包括至少一个第三处理器851,第三处理器851可以执行存储在例如第三存储器852这样的非暂态计算机可读介质中的指令853。在一些实施例中,计算平台850还可以是采用分布式方式控制车辆800的个体组件或子系统的多个计算设备。

第三处理器851可以是任何常规的处理器,诸如商业可获得的CPU。可替换地,第三处理器851还可以包括诸如图像处理器(Graphic Process Unit,GPU),现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、片上系统(Sysem on Chip,SOC)、专用集成芯片(Application Specific Integrated Circuit,ASIC)或它们的组合。尽管图8功能性地图示了处理器、存储器、和在相同块中的计算机的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,处理器只执行与特定于组件的功能相关的计算。

在本公开实施方式中,第三处理器851可以执行上述的多任务模型训练方法和多任务处理方法。

在此处所描述的各个方面中,第三处理器851可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。

在一些实施例中,第三存储器852可包含指令853(例如,程序逻辑),指令853可被第三处理器851执行来执行车辆800的各种功能。第三存储器852也可包含额外的指令,包括向信息娱乐系统810、感知系统820、决策控制系统830、驱动系统840中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。

除了指令853以外,第三存储器852还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆800在自主、半自主和/或手动模式中操作期间被车辆800和计算平台850使用。

计算平台850可基于从各种子系统(例如,驱动系统840、感知系统820和决策控制系统830)接收的输入来控制车辆800的功能。例如,计算平台850可利用来自决策控制系统830的输入以便控制转向系统833来避免由感知系统820检测到的障碍物。在一些实施例中,计算平台850可操作来对车辆800及其子系统的许多方面提供控制。

可选地,上述这些组件中的一个或多个可与车辆800分开安装或关联。例如,第三存储器852可以部分或完全地与车辆800分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。

可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图8不应理解为对本公开实施例的限制。

在道路行进的自动驾驶汽车,如上面的车辆800,可以识别其周围环境内的物体以确定对当前速度的调整。物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。

可选地,车辆800或者与车辆800相关联的感知和计算设备(例如计算系统831、计算平台850)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆800能够基于预测的识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)何种稳定状态。在这个过程中,也可以考虑其它因素来确定车辆800的速度,诸如,车辆800在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。

除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改车辆800的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的车辆)的安全横向和纵向距离。

上述车辆800可以为各种类型的行驶工具,例如,轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、娱乐车、火车等等,本公开实施例不做特别的限定。

本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号