基于场景分割的自动驾驶处理方法及装置、计算设备与流程

文档序号:14249927阅读:153来源:国知局
基于场景分割的自动驾驶处理方法及装置、计算设备与流程

本发明涉及深度学习领域,具体涉及一种基于场景分割的自动驾驶处理方法及装置、计算设备。



背景技术:

在现有技术中,对图像场景分割处理主要是基于深度学习中的全卷积神经网络,这些处理方法利用迁移学习的思想,将在大规模分类数据集上经过预训练得到的网络迁移到图像分割数据集上进行训练,从而得到用于场景分割的分割网络,然后利用该分割网络对图像进行场景分割。

基于场景分割的自动驾驶对场景分割的时效性和准确性都有较高的要求,以保障自动驾驶的安全性。现有技术中使用的全卷积神经网络往往具有多层中间层,这样可以得到更精准的场景分割结果。但多层中间层的计算速度会较慢,不能快速的将场景进行分割,无法快速的得到自身车辆在驾驶途中的状况。而使用中间层较少的神经网络时,由于中间层层数较少,其计算速度较快,但受其层数限制,有可能造成计算能力有限、拟合能力较差、得到结果不准确等问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于场景分割的自动驾驶处理方法及装置、计算设备。

根据本发明的一个方面,提供了一种基于场景分割的自动驾驶处理方法,其包括:

实时获取图像采集设备所拍摄和/或所录制的车辆驾驶途中的视频中的当前帧图像;

将当前帧图像输入至第二神经网络中,得到当前帧图像对应的场景分割结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;

根据场景分割结果,确定行驶路线和/或行驶指令;

按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。

可选地,根据场景分割结果,确定行驶路线和/或行驶指令进一步包括:

根据场景分割结果,确定特定对象的轮廓信息;

依据特定对象的轮廓信息,计算自身车辆与特定对象的相对位置关系;

根据计算得到的相对位置关系,确定行驶路线和/或行驶指令。

可选地,自身车辆与特定对象的相对位置关系包括自身车辆与特定对象之间的距离信息和/或角度信息。

可选地,根据场景分割结果,确定行驶路线和/或行驶指令进一步包括:

根据场景分割结果中包含的交通标志信息,确定自身车辆行驶路线和/或行驶指令。

可选地,根据场景分割结果,确定行驶路线和/或行驶指令进一步包括:

根据场景分割结果中包含的交通信号灯信息,确定行驶路线和/或行驶指令。

可选地,第二神经网络的训练过程包括:

将场景分割的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据;

将场景分割的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据,至少一层第二中间层与至少一层第一中间层具有对应关系;

利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。

可选地,至少一层第一中间层包含第一神经网络的瓶颈层;至少一层第二中间层包含第二神经网络的瓶颈层。

可选地,利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练进一步包括:

根据至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失更新第二神经网络的权重参数,根据最终输出数据与预标注的输出数据之间的损失更新第二神经网络的权重参数,对第二神经网络进行训练。

可选地,在将训练样本的输入数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据之前,方法还包括:

将场景分割的训练样本数据进行下采样处理,将处理后的数据作为第二神经网络的场景分割的训练样本数据。

可选地,利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练进一步包括:

利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与对下采样处理后场景分割的训练样本数据的预标注的输出数据之间的损失,对第二神经网络进行训练。

可选地,方法还包括:

收集当前帧图像作为场景分割的训练样本输入数据,以及,对当前帧图像进行人工标注,将标注后的图像作为预标注的输出数据。

根据本发明的另一个方面,提供了一种基于场景分割的自动驾驶处理装置,其包括:

获取模块,适于实时获取图像采集设备所拍摄和/或所录制的车辆驾驶途中的视频中的当前帧图像;

识别模块,适于将当前帧图像输入至第二神经网络中,得到当前帧图像对应的场景分割结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;

确定模块,适于根据场景分割结果,确定行驶路线和/或行驶指令;

控制模块,适于按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。

可选地,确定模块进一步适于:

根据场景分割结果,确定特定对象的轮廓信息;依据特定对象的轮廓信息,计算自身车辆与特定对象的相对位置关系;根据计算得到的相对位置关系,确定行驶路线和/或行驶指令。

可选地,自身车辆与特定对象的相对位置关系包括自身车辆与特定对象之间的距离信息和/或角度信息。

可选地,确定模块进一步适于:

根据场景分割结果中包含的交通标志信息,确定自身车辆行驶路线和/或行驶指令。

可选地,确定模块进一步适于:

根据场景分割结果中包含的交通信号灯信息,确定行驶路线和/或行驶指令。

可选地,装置还包括:场景分割网络指导训练模块;

场景分割网络指导训练模块包括:

第一输出单元,适于将场景分割的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据;

第二输出单元,适于将场景分割的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据,至少一层第二中间层与至少一层第一中间层具有对应关系;

指导训练单元,适于利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。

可选地,至少一层第一中间层包含第一神经网络的瓶颈层;至少一层第二中间层包含第二神经网络的瓶颈层。

可选地,指导训练单元进一步适于:

根据至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失更新第二神经网络的权重参数,根据最终输出数据与预标注的输出数据之间的损失更新第二神经网络的权重参数,对第二神经网络进行训练。

可选地,场景分割网络指导训练模块还包括:

下采样单元,适于将场景分割的训练样本数据进行下采样处理,将处理后的数据作为第二神经网络的场景分割的训练样本数据。

可选地,指导训练单元进一步适于:

利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与对下采样处理后场景分割的训练样本数据的预标注的输出数据之间的损失,对第二神经网络进行训练。

可选地,装置还包括:

收集模块,适于收集当前帧图像作为场景分割的训练样本输入数据,以及,对当前帧图像进行人工标注,将标注后的图像作为预标注的输出数据。

根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;

存储器用于存放至少一可执行指令,可执行指令使处理器执行上述基于场景分割的自动驾驶处理方法对应的操作。

根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述基于场景分割的自动驾驶处理方法对应的操作。

根据本发明提供的基于场景分割的自动驾驶处理方法及装置、计算设备,实时获取图像采集设备所拍摄和/或所录制的车辆驾驶途中的视频中的当前帧图像;将当前帧图像输入至第二神经网络中,得到当前帧图像对应的场景分割结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;根据场景分割结果,确定行驶路线和/或行驶指令;按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。本发明利用层数较高的第一神经网络的至少一层中间层的输出数据对层数较少的第二神经网络进行指导训练,使得训练得到的第二神经网络在保持其快速计算的情况下,大大提升了其准确性。利用第二神经网络可以快速准确的对当前帧图像进行计算,得到场景分割结果,利用场景分割结果精准地确定行驶路线和/或行驶指令,有助于提高自动驾驶的安全性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的基于场景分割的自动驾驶处理方法的流程图;

图2示出了根据本发明另一个实施例的场景分割网络指导训练方法的流程图;

图3示出了根据本发明另一个实施例的基于场景分割的自动驾驶处理方法的流程图;

图4示出了根据本发明一个实施例的基于场景分割的自动驾驶处理装置的功能框图;

图5示出了根据本发明另一个实施例的基于场景分割的自动驾驶处理装置的功能框图;

图6示出了根据本发明一个实施例的一种计算设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的基于场景分割的自动驾驶处理方法的流程图。如图1所示,基于场景分割的自动驾驶处理方法具体包括如下步骤:

步骤s101,实时获取图像采集设备所拍摄和/或所录制的车辆驾驶途中的视频中的当前帧图像。

本实施例中图像采集设备以自动驾驶车辆上设置的摄像头为例进行说明。为了实现自动驾驶,可通过自动驾驶车辆上设置的摄像头采集车辆周围的路况信息,那么在步骤s101中,实时获取摄像头在录制视频时的当前帧图像或者拍摄视频时的当前帧图像。

步骤s102,将当前帧图像输入至第二神经网络中,得到当前帧图像对应的场景分割结果。

第二神经网络为浅层神经网络,其层数较少,计算速度快,一般适用于移动设备、小型计算器等设备。第一神经网络的层数多于第二神经网络的层数。第一神经网络的准确率更高,因此,利用预先训练的第一神经网络的至少一层中间层的输出数据对第二神经网络进行指导训练,使得第二神经网络最终的输出数据与第一神经网络的最终输出数据一致,在保留第二神经网络计算速度的前提下,大大提升了第二神经网络的计算性能。第二神经网络通过利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,其中,第一神经网络和第二神经网络训练使用的样本均为场景分割的训练样本。

将当前帧图像输入至第二神经网络中,可以得到当前帧图像对应的场景分割结果。

步骤s103,根据场景分割结果,确定行驶路线和/或行驶指令。

场景分割结果中包含了各种对象,根据各种对象与自身车辆之间的关系、各种对象对自身车辆的提醒信息等,能够确定自身车辆在预设时间间隔内的行驶路线,和/或确定行驶指令。具体地,行驶指令可包括开始行驶、停止行驶、按照某一行驶速度行驶或按照某一加速度进行加速或减速行驶等指令。本领域技术人员可根据实际需要设置预设时间间隔,此处不做限定。

步骤s104,按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。

在确定了行驶路线和/或行驶指令之后,就可按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。假设确定的行驶指令为按照6m/s2的加速度进行减速行驶,那么在步骤s104中,对自身车辆进行自动驾驶控制,控制自身车辆的刹车系统,使得自身车辆按照6m/s2的加速度进行减速行驶。

根据本发明提供的基于场景分割的自动驾驶处理方法,实时获取图像采集设备所拍摄和/或所录制的车辆驾驶途中的视频中的当前帧图像;将当前帧图像输入至第二神经网络中,得到当前帧图像对应的场景分割结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;根据场景分割结果,确定行驶路线和/或行驶指令;按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。本发明利用层数较高的第一神经网络的至少一层中间层的输出数据对层数较少的第二神经网络进行指导训练,使得训练得到的第二神经网络在保持其快速计算的情况下,大大提升了其准确性。利用第二神经网络可以快速准确的对当前帧图像进行计算,得到场景分割结果,利用场景分割结果精准地确定行驶路线和/或行驶指令,有助于提高自动驾驶的安全性。

图2示出了根据本发明一个实施例的场景分割网络指导训练方法的流程示意图,如图2所示,场景分割网络的指导训练步骤包括如下步骤:

步骤s201,将场景分割的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据。

第一神经网络为预先经过训练已经固化的神经网络。具体地,第一神经网络预先使用了多个场景分割的训练样本数据经过训练,第一神经网络已经能够很好的适用于场景分割。其中,第一神经网络优选使用深层神经网络,如应用于云端服务器的神经网络,其性能好,计算量大,准确率高,速度会较慢。第一神经网络可以输出多层的第一中间层的输出数据,如第一神经网络包含4层第一中间层,分别为第4层第一中间层、第3层第一中间层、第2层第一中间层和第1层第一中间层,其中,第1层第一中间层为第一神经网络的瓶颈层。

将场景分割的训练样本数据输入至第一神经网络中,可以获得第一神经网络的至少一层第一中间层的输出数据。这里,可以仅获取一层第一中间层的输出数据,也可以获取相邻多层的第一中间层的输出数据,或者获取相互间隔的多层的第一中间层的输出数据,具体根据实施的实际情况进行设置,此处不做限定。

步骤s202,将场景分割的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据。

第二神经网络为场景分割网络的指导训练中待训练的神经网络,为浅层神经网络,如应用于移动终端的神经网络,其计算能力有限,性能不佳。第一神经网络的层数多于第二神经网络。如第一神经网络的层数为4层,分别为第4层第一中间层、第3层第一中间层、第2层第一中间层和第1层第一中间层;第二神经网络的层数为2层,分别为第2层第二中间层和第1层第二中间层。

将场景分割的训练样本数据输入至第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据。其中,至少一层第二中间层与至少一层第一中间层具有对应关系。如第一神经网络的第1层第一中间层与第二神经网络的第1层第二中间层对应,第一神经网络的第2层第一中间层与第二神经网络的第2层第二中间层对应。

获得的第二神经网络的第二中间层的输出数据需要与获得的第一神经网络的第一中间层的输出数据相对应,若获得第一神经网络的两层第一中间层的输出数据,也需要获得第二神经网络的两层第二中间层的输出数据。如获得第一神经网络的第1层和第2层第一中间层的输出数据,对应的获得第二神经网络的第1层和第2层第二中间层的输出数据。

优选的,至少一层第一中间层可以包含第一神经网络的瓶颈层,即第一神经网络的第1层第一中间层,至少一层第二中间层包含第二神经网络的瓶颈层,即第二神经网络的第1层第二中间层。瓶颈层即神经网络中隐藏层的最高层,输出的向量维度最少的一层中间层。使用瓶颈层,可以保证后续在进行训练时,使最终输出数据更加准确,得到较好的训练结果。

在将场景分割的训练样本数据输入至待训练的第二神经网络中,除获得第二神经网络的至少一层第二中间层的输出数据外,还需要获得第二神经网络的最终输出数据,以便于利用最终输出数据计算损失,对第二神经网络进行训练。

考虑到第二神经网络为浅层神经网络,当场景分割的训练样本数据较大时,直接使用场景分割的训练样本数据会影响第二神经网络的运算速度。可选地,可以先对场景分割的训练样本数据进行下采样处理,如场景分割的训练样本数据为图片时,进行下采样处理可以先降低图片分辨率,将处理后的场景分割的训练样本数据作为第二神经网络输入的场景分割的训练样本数据。这样处理时,第二神经网络使用下采样处理后低分辨率的场景分割的训练样本数据进行训练,第一神经网络使用高分辨率的场景分割的训练样本数据进行训练,利用两个神经网络的输出数据进行训练时,使得第二神经网络对低分辨率的场景分割的训练样本数据也可以获得高分辨率的输出结果。

步骤s203,利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。

根据至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络至少一层第二中间层的输出数据尽可能的去接近第一神经网络至少一层第一中间层的输出数据。

同时,根据第二神经网络的最终输出数据与预标注的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络最终输出数据尽可能的去接近预标注的输出数据,保证第二神经网络最终输出数据的准确性。通过以上方式,完成对第二神经网络进行训练。可选地,当第二网络使用下采样处理后的场景分割的训练样本数据时,还需要对下采样处理后的场景分割的训练样本数据进行预标注,得到下采样处理后场景分割的训练样本数据的预标注的输出数据。根据第二神经网络的最终输出数据与下采样处理后的预标注的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络最终输出数据尽可能的去接近下采样处理后数据的预标注的输出数据,保证第二神经网络最终输出数据的准确性。

根据本发明提供的场景分割网络指导训练方法,将场景分割的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据;将场景分割的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据,至少一层第二中间层与至少一层第一中间层具有对应关系;利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。通过利用第一神经网络的至少一层第一中间层的输出数据对第二神经网络对应的至少一层第二中间层的输出数据进行训练,可以保持第二神经网络在其计算量不变的情况下,大大提升第二神经网络的性能,有效的缩减训练第二神经网络的训练时间,提高第二网络的训练效率。

图3示出了根据本发明另一个实施例的基于场景分割的自动驾驶处理方法的流程图。如图3所示,基于场景分割的自动驾驶处理方法具体包括如下步骤:

步骤s301,实时获取图像采集设备所拍摄和/或所录制的车辆驾驶途中的视频中的当前帧图像。

步骤s302,将当前帧图像输入至第二神经网络中,得到当前帧图像对应的场景分割结果。

以上步骤参照图1实施例中的步骤s101-s102,在此不再赘述。

步骤s303,根据场景分割结果,确定特定对象的轮廓信息。

具体地,特定对象可包括车辆、行人、道路、障碍物等对象。本领域技术人员可根据实际需要设置特定对象,此处不做限定。在得到了与当前帧图像对应的场景分割结果之后,就可根据与当前帧图像对应的场景分割结果,确定出车辆、行人、道路等特定对象的轮廓信息,以便后续计算自身车辆与特定对象的相对位置关系。

步骤s304,依据特定对象的轮廓信息,计算自身车辆与特定对象的相对位置关系。

假设在步骤s303中确定得到了车辆1的轮廓信息和车辆2的轮廓信息,那么在步骤s304中,可依据车辆1的轮廓信息和车辆2的轮廓信息,计算自身车辆与车辆1的相对位置关系以及自身车辆与车辆2的相对位置关系。

自身车辆与特定对象的相对位置关系包括自身车辆与特定对象之间的距离信息,如自身车辆与车辆1的直线距离为200米;自身车辆与特定对象的相对位置关系还包括了自身车辆与特定对象之间的角度信息,如自身车辆在车辆1的后方右侧10度角方向。

步骤s305,根据计算得到的相对位置关系,确定行驶路线和/或行驶指令。

根据计算得到的自身车辆与特定对象的相对位置关系,能够确定该自身车辆在预设时间间隔内的行驶路线,和/或确定行驶指令。具体地,行驶指令可包括开始行驶、停止行驶、按照某一行驶速度行驶或按照某一加速度进行加速或减速行驶等指令。本领域技术人员可根据实际需要设置预设时间间隔,此处不做限定。

例如根据计算得到的相对位置关系可知,自身车辆正前方10米处有一行人,那么确定行驶指令可为按照6m/s2的加速度进行减速行驶;或者根据计算得到的相对位置关系可知,自身车辆正前方距离200米处有车辆1,自身车辆左侧45度角方向距离2米处有车辆2,那么确定的行驶路线可为沿着正前方路线行驶。

步骤s306,根据场景分割结果中包含的交通标志信息,确定自身车辆行驶路线和/或行驶指令。

场景分割结果中包含了各种交通标志信息,如警告标志:环形交叉路口、向左急转弯、连续弯路、前方隧道等;禁令标志:禁止直行、禁止驶入等;指示标志:限速、分向行驶车道、允许掉头等;道路施工安全标志:前方施工、左道封闭等;还有指路标志、旅游区标志、辅助标志等。根据这些具体的交通标志信息,可以确定自身车辆行驶路线和/或行驶指令。

例如,当前自身车辆车速100km/h,根据场景分割结果中包含的前方500m的限速80km/h的交通标志信息,确定自身车辆减速行驶指令;或者根据场景分割结果中包含的前面200m左道封闭的交通标志信息,确定自身车辆向右侧道路行驶。

步骤s307,根据场景分割结果中包含的交通信号灯信息,确定行驶路线和/或行驶指令。

场景分割结果中包含了交通信号灯信息,如红绿灯信息,根据红绿灯信息可以确定是否延当前路线继续行驶,还是减速停车等行驶路线和/或行驶指令。

如根据场景分割结果中前方10m的红灯信息,确定自身车辆减速停车;或者,根据场景分割结果中前方10m的绿灯信息,确定自身车辆继续延当前道路行驶。

进一步,以上步骤s305、s306和s307可以并行执行,综合考量根据场景分割结果计算得到的相对位置关系、包含的交通标志信息和/或交通信号灯信息,确定行驶路线和/或行驶指令。

步骤s308,按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。

在确定了行驶路线和/或行驶指令之后,就可按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。

步骤s309,收集当前帧图像作为场景分割的训练样本输入数据,以及,对当前帧图像进行人工标注,将标注后的图像作为预标注的输出数据。

当前帧图像和标注后的图像可以作为样本库中用于场景分割的训练样本输入数据和输出数据。利用收集的当前帧图像和标注后的图像可以对第二神经网络进行优化训练,以使第二神经网络的输出结果更加准确。

根据本发明提供的基于场景分割的自动驾驶处理方法,利用经过训练的第二神经网络能够快速、准确地得到视频中当前帧图像对应的场景分割结果,有效地提高了图像场景分割的准确率,同时保证第二神经网络的处理效率。进一步,基于得到的场景分割结果能够更为精准地计算自身车辆与其他车辆、行人、道路等特定对象的相对位置关系,根据计算得到的相对位置关系能够更为精准地确定行驶路线和/或行驶指令。基于得到的场景分割结果中包含的交通标志信息、交通信号灯信息,利于自身车辆可以更好的遵守交通法规,安全准确遵纪守法的自动驾驶,提高自动驾驶的安全性,优化了自动驾驶处理方式。

图4示出了根据本发明一个实施例的基于场景分割的自动驾驶处理装置的功能框图,如图4所示,该装置包括:

获取模块410,适于实时获取图像采集设备所拍摄和/或所录制的车辆驾驶途中的视频中的当前帧图像。

本实施例中图像采集设备以自动驾驶车辆上设置的摄像头为例进行说明。为了实现自动驾驶,可通过自动驾驶车辆上设置的摄像头采集车辆周围的路况信息,获取模块410实时获取摄像头在录制视频时的当前帧图像或者拍摄视频时的当前帧图像。

识别模块420,适于将当前帧图像输入至第二神经网络中,得到当前帧图像对应的场景分割结果。

第二神经网络为浅层神经网络,其层数较少,计算速度快,一般适用于移动设备、小型计算器等设备。第一神经网络的层数多于第二神经网络的层数。第一神经网络的准确率更高,因此,利用预先训练的第一神经网络的至少一层中间层的输出数据对第二神经网络进行指导训练,使得第二神经网络最终的输出数据与第一神经网络的最终输出数据一致,在保留第二神经网络计算速度的前提下,大大提升了第二神经网络的计算性能。第二神经网络通过利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,其中,第一神经网络和第二神经网络训练使用的样本均为场景分割的训练样本。

识别模块420将当前帧图像输入至第二神经网络中,可以得到当前帧图像对应的场景分割结果。确定模块430,适于根据场景分割结果,确定行驶路线和/或行驶指令。

场景分割结果中包含了各种对象,确定模块430根据各种对象与自身车辆之间的关系、各种对象对自身车辆的提醒信息等,能够确定自身车辆在预设时间间隔内的行驶路线,和/或确定行驶指令。具体地,行驶指令可包括开始行驶、停止行驶、按照某一行驶速度行驶或按照某一加速度进行加速或减速行驶等指令。本领域技术人员可根据实际需要设置预设时间间隔,此处不做限定。

确定模块430进一步适于根据场景分割结果,确定特定对象的轮廓信息;依据特定对象的轮廓信息,计算自身车辆与特定对象的相对位置关系;根据计算得到的相对位置关系,确定行驶路线和/或行驶指令。

具体地,特定对象可包括车辆、行人、道路、障碍物等对象。本领域技术人员可根据实际需要设置特定对象,此处不做限定。在识别模块420得到了与当前帧图像对应的场景分割结果之后,确定模块430就可根据与当前帧图像对应的场景分割结果,确定出车辆、行人、道路等特定对象的轮廓信息。如确定模块430确定得到了车辆1的轮廓信息和车辆2的轮廓信息,依据车辆1的轮廓信息和车辆2的轮廓信息,计算自身车辆与车辆1的相对位置关系以及自身车辆与车辆2的相对位置关系。

自身车辆与特定对象的相对位置关系包括自身车辆与特定对象之间的距离信息,如确定模块430确定自身车辆与车辆1的直线距离为200米;自身车辆与特定对象的相对位置关系还包括了自身车辆与特定对象之间的角度信息,如确定模块430确定自身车辆在车辆1的后方右侧10度角方向。

确定模块430根据计算得到的自身车辆与特定对象的相对位置关系,能够确定该自身车辆在预设时间间隔内的行驶路线,和/或确定行驶指令。例如确定模块430根据计算得到的相对位置关系可知,自身车辆正前方10米处有一行人,确定模块430确定行驶指令可为按照6m/s2的加速度进行减速行驶;或者确定模块430根据计算得到的相对位置关系可知,自身车辆正前方距离200米处有车辆1,自身车辆左侧45度角方向距离2米处有车辆2,确定模块430确定的行驶路线可为沿着正前方路线行驶。

确定模块430还进一步适于根据场景分割结果中包含的交通标志信息,确定自身车辆行驶路线和/或行驶指令。

场景分割结果中包含了各种交通标志信息,如警告标志:环形交叉路口、向左急转弯、连续弯路、前方隧道等;禁令标志:禁止直行、禁止驶入等;指示标志:限速、分向行驶车道、允许掉头等;道路施工安全标志:前方施工、左道封闭等;还有指路标志、旅游区标志、辅助标志等。确定模块430根据这些具体的交通标志信息,可以确定自身车辆行驶路线和/或行驶指令。

例如,当前自身车辆车速100km/h,确定模块430根据场景分割结果中包含的前方500m的限速80km/h的交通标志信息,确定自身车辆减速行驶指令;或者确定模块430根据场景分割结果中包含的前面200m左道封闭的交通标志信息,确定自身车辆向右侧道路行驶。

确定模块430进一步适于根据场景分割结果中包含的交通信号灯信息,确定行驶路线和/或行驶指令。

场景分割结果中包含了交通信号灯信息,如红绿灯信息,确定模块430可以根据红绿灯信息确定是否延当前路线继续行驶,还是减速停车等行驶路线和/或行驶指令。

如确定模块430根据场景分割结果中前方10m的红灯信息,确定自身车辆减速停车;或者,确定模块430根据场景分割结果中前方10m的绿灯信息,确定自身车辆继续延当前道路行驶。

控制模块440,适于按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。

在确定模块430确定了行驶路线和/或行驶指令之后,控制模块440就可按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。假设确定模块430确定的行驶指令为按照6m/s2的加速度进行减速行驶,控制模块440对自身车辆进行自动驾驶控制,控制自身车辆的刹车系统,使得自身车辆按照6m/s2的加速度进行减速行驶。

根据本发明提供的基于场景分割的自动驾驶处理装置,实时获取图像采集设备所拍摄和/或所录制的车辆驾驶途中的视频中的当前帧图像;将当前帧图像输入至第二神经网络中,得到当前帧图像对应的场景分割结果;其中,第二神经网络利用预先训练的第一神经网络的至少一层中间层的输出数据进行指导训练得到,第一神经网络的层数多于第二神经网络的层数;根据场景分割结果,确定行驶路线和/或行驶指令;按照所确定的行驶路线和/或行驶指令,对自身车辆进行自动驾驶控制。本发明利用层数较高的第一神经网络的至少一层中间层的输出数据对层数较少的第二神经网络进行指导训练,使得训练得到的第二神经网络在保持其快速计算的情况下,大大提升了其准确性。利用第二神经网络可以快速准确的对当前帧图像进行计算,得到场景分割结果,利用场景分割结果精准地确定行驶路线和/或行驶指令,有助于提高自动驾驶的安全性。进一步,基于得到的场景分割结果能够更为精准地计算自身车辆与其他车辆、行人、道路等特定对象的相对位置关系,根据计算得到的相对位置关系能够更为精准地确定行驶路线和/或行驶指令。基于得到的场景分割结果中包含的交通标志信息、交通信号灯信息,利于自身车辆可以更好的遵守交通法规,安全准确遵纪守法的自动驾驶。

图5示出了根据本发明另一个实施例的基于场景分割的自动驾驶处理装置的功能框图,如图5所示,与图4相比,该装置还包括:

场景分割指导训练模块450,场景分割指导训练模块450包括:第一输出单元451、第二输出单元452和指导训练单元453,还可以包括下采样单元454。

第一输出单元451,适于将场景分割的训练样本数据输入至经训练得到的第一神经网络中,获得第一神经网络的至少一层第一中间层的输出数据。

第一神经网络为预先经过训练已经固化的神经网络。具体地,第一神经网络预先使用了多个场景分割的训练样本数据经过训练,第一神经网络已经能够很好的适用于场景分割。其中,第一神经网络优选使用深层神经网络,如应用于云端服务器的神经网络,其性能好,计算量大,准确率高,速度会较慢。第一神经网络可以输出多层的第一中间层的输出数据,如第一神经网络包含4层第一中间层,分别为第4层第一中间层、第3层第一中间层、第2层第一中间层和第1层第一中间层,其中,第1层第一中间层为第一神经网络的瓶颈层。

第一输出单元451将场景分割的训练样本数据输入至第一神经网络中,可以获得第一神经网络的至少一层第一中间层的输出数据。这里,第一输出单元451可以仅获取一层第一中间层的输出数据,也可以获取相邻多层的第一中间层的输出数据,或者第一输出单元451获取相互间隔的多层的第一中间层的输出数据,具体根据实施的实际情况进行设置,此处不做限定。

第二输出单元452,适于将场景分割的训练样本数据输入至待训练的第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据以及最终输出数据,至少一层第二中间层与至少一层第一中间层具有对应关系。

第二神经网络为场景分割网络的指导训练中待训练的神经网络,为浅层神经网络,如应用于移动终端的神经网络,其计算能力有限,性能不佳。第一神经网络的层数多于第二神经网络。如第一神经网络的层数为4层,分别为第4层第一中间层、第3层第一中间层、第2层第一中间层和第1层第一中间层;第二神经网络的层数为2层,分别为第2层第二中间层和第1层第二中间层。

第二输出单元452将场景分割的训练样本数据输入至第二神经网络中,获得第二神经网络的至少一层第二中间层的输出数据。其中,至少一层第二中间层与至少一层第一中间层具有对应关系。如第一神经网络的第1层第一中间层与第二神经网络的第1层第二中间层对应,第一神经网络的第2层第一中间层与第二神经网络的第2层第二中间层对应。

第二输出单元452获得的第二神经网络的第二中间层的输出数据需要与获得的第一神经网络的第一中间层的输出数据相对应,若第一输出单元451获得第一神经网络的两层第一中间层的输出数据,第二输出单元452也需要获得第二神经网络的两层第二中间层的输出数据。如第一输出单元451获得第一神经网络的第1层和第2层第一中间层的输出数据,对应的第二输出单元452获得第二神经网络的第1层和第2层第二中间层的输出数据。

优选的,至少一层第一中间层可以包含第一神经网络的瓶颈层,即第一神经网络的第1层第一中间层,至少一层第二中间层包含第二神经网络的瓶颈层,即第二神经网络的第1层第二中间层。瓶颈层即神经网络中隐藏层的最高层,输出的向量维度最少的一层中间层。使用瓶颈层,可以保证后续指导训练单元453在进行训练时,使最终输出数据更加准确,得到较好的训练结果。

在第二输出单元452将场景分割的训练样本数据输入至待训练的第二神经网络中,除获得第二神经网络的至少一层第二中间层的输出数据外,第二输出单元452还需要获得第二神经网络的最终输出数据,以便于利用最终输出数据计算损失,对第二神经网络进行训练。

下采样单元454,适于将场景分割的训练样本数据进行下采样处理,将处理后的数据作为第二神经网络的场景分割的训练样本数据。

考虑到第二神经网络为浅层神经网络,当场景分割的训练样本数据较大时,直接使用场景分割的训练样本数据会影响第二神经网络的运算速度。可选地,下采样单元454可以先对场景分割的训练样本数据进行下采样处理,如场景分割的训练样本数据为图片时,下采样单元454进行下采样处理可以先降低图片分辨率,将处理后的场景分割的训练样本数据作为第二神经网络输入的场景分割的训练样本数据。这样第二输出单元452使用下采样处理后低分辨率的场景分割的训练样本数据进行训练,第一输出单元451使用高分辨率的场景分割的训练样本数据进行训练,指导训练单元453利用两个神经网络的输出数据进行训练时,使得第二神经网络对低分辨率的场景分割的训练样本数据也可以获得高分辨率的输出结果。指导训练单元453,适于利用至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,以及最终输出数据与预标注的输出数据之间的损失,对第二神经网络进行训练。

指导训练单元453根据至少一层第二中间层的输出数据与至少一层第一中间层的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络至少一层第二中间层的输出数据尽可能的去接近第一神经网络至少一层第一中间层的输出数据。

同时,指导训练单元453根据第二神经网络的最终输出数据与预标注的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络最终输出数据尽可能的去接近预标注的输出数据,保证第二神经网络最终输出数据的准确性。通过执行以上各单元,完成对第二神经网络进行训练。可选地,当场景分割指导训练模块450包括下采样单元454时,下采样单元454还需要对下采样处理后的场景分割的训练样本数据进行预标注,得到下采样处理后场景分割的训练样本数据的预标注的输出数据。指导训练单元453根据第二神经网络的最终输出数据与下采样处理后的预标注的输出数据之间的损失,可以更新第二神经网络的权重参数,使第二神经网络最终输出数据尽可能的去接近下采样处理后数据的预标注的输出数据,保证第二神经网络最终输出数据的准确性。

收集模块460,适于收集当前帧图像作为场景分割的训练样本输入数据,以及,对当前帧图像进行人工标注,将标注后的图像作为预标注的输出数据。

当前帧图像和标注后的图像可以作为样本库中用于场景分割的训练样本输入数据和输出数据。利用收集模块460收集的当前帧图像和标注后的图像可以对第二神经网络进行优化训练,以使第二神经网络的输出结果更加准确。

根据本发明提供的基于场景分割的自动驾驶处理装置,利用经过训练的第二神经网络能够快速、准确地得到视频中当前帧图像对应的场景分割结果,有效地提高了图像场景分割的准确率,同时保证第二神经网络的处理效率。进一步,收集当前帧图像,对当前帧图像进行人工标注,将当前帧图像和标注后的图像放入样本库,可以对第二神经网络进行优化训练,以使第二神经网络的输出结果更加准确。

本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于场景分割的自动驾驶处理方法。

图6示出了根据本发明一个实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。

如图6所示,该计算设备可以包括:处理器(processor)602、通信接口(communicationsinterface)604、存储器(memory)606、以及通信总线608。

其中:

处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。

通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。

处理器602,用于执行程序610,具体可以执行上述基于场景分割的自动驾驶处理方法实施例中的相关步骤。

具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。

处理器602可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。

存储器606,用于存放程序610。存储器606可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

程序610具体可以用于使得处理器602执行上述任意方法实施例中的基于场景分割的自动驾驶处理方法。程序610中各步骤的具体实现可以参见上述基于场景分割的自动驾驶处理实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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