训练神经网络的方法、图像处理方法、装置、设备和介质
技术领域
本申请涉及计算机视觉技术,尤其是一种训练神经网络的方法、图像处理方法、装置、设备和介质。
背景技术
单目深度估计和场景语义分割是计算机视觉领域非常重要的问题。单目深度估计是根据单一摄像头得到的图像,估计得到图像中每一个像素点的真实深度值。场景语义分割是预测得到图像中每一个像素归属的类别。单目深度估计和场景语义分割的应用范围非常广泛,特别是在机器人导航、自动驾驶等领域中具有非常重要的作用。
目前,传统的深度估计和场景语义分割任务,需要两个独立的网络实现,两个网络会增大处理器的负担和增加耗时,不利于实际应用。
发明内容
本申请实施例提供一种训练神经网络的技术方案。
根据本申请实施例的一个方面,提供一种训练神经网络的方法,包括:
将样本图像进行拼接,得到拼接后的样本图像;其中,进行拼接的样本图像来源于至少两个不同的图像处理任务各自对应的数据样本集中;
通过第一神经网络提取拼接后的样本图像的特征数据;
按照对所述样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到进行拼接的各个样本图像的特征数据;
通过所述第一神经网络根据所述各个样本图像的特征数据,确定各个图像处理任务的预测结果;
根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整所述第一神经网络的网络参数。
可选地,在本申请上述方法实施例中,至少两个不同的图像处理任务对应的数据样本集中的样本图像不重叠,并且至少具有部分相似性。
可选地,在本申请上述任一方法实施例中,所述不同的图像处理任务对应的数据样本集中的样本图像不重叠,包括:
不同的图像处理任务对应的数据样本集中的样本图像中的标注结果不同。
可选地,在本申请上述任一方法实施例中,所述不同的图像处理任务对应的数据样本集中的样本图像至少具有部分相似性,包括:
不同的图像处理任务对应的数据样本集中的至少部分样本图像来源于同一场景。
可选地,在本申请上述任一方法实施例中,所述将样本图像进行拼接,得到拼接后的样本图像,包括:
基于使来自于同一个图像处理任务对应的数据样本集中的样本图像相邻,对来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像进行拼接,得到所述拼接后的样本图像。
可选地,在本申请上述任一方法实施例中,所述将样本图像进行拼接,得到拼接后的样本图像,包括:
将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的预设维度进行拼接,得到所述拼接后的样本图像。
可选地,在本申请上述任一方法实施例中,所述将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的预设维度进行拼接,得到所述拼接后的样本图像,包括:
将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的四维张量中的批量维度进行拼接,得到所述拼接后的样本图像。
可选地,在本申请上述任一方法实施例中,所述通过第一神经网络提取拼接后的样本图像的特征数据,包括:
通过所述第一神经网络中的第一网络模块提取拼接后的样本图像的特征数据;
所述通过所述第一神经网络根据所述各个样本图像的特征数据,确定各个图像处理任务的预测结果,包括:
通过所述第一神经网络中的第二网络模块根据所述各个样本图像的特征数据,确定各个图像处理任务的预测结果;其中,所述第二网络模块包括各个图像处理任务各自对应的网络模块。
可选地,在本申请上述任一方法实施例中,所述根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整所述第一神经网络的网络参数,包括:
根据确定的所述各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,分别得到所述各个图像处理任务的损失值;
根据所述各个图像处理任务的损失值之和,调整所述第一神经网络的网络参数。
可选地,在本申请上述任一方法实施例中,所述至少两个不同的图像处理任务包括:深度估计任务和场景语义分割任务;
所述将样本图像进行拼接,得到拼接后的样本图像,包括:
将用于深度估计的样本图像与用于场景语义分割的样本图像进行拼接,得到拼接后的样本图像;
按照对所述样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到进行拼接的各个样本图像的特征数据,包括:
按照对用于深度估计的样本图像与用于场景语义分割的样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到深度特征数据和语义特征数据;
通过所述第一神经网络根据所述各个样本图像的特征数据,确定各个图像处理任务的预测结果,包括:
所述第一神经网络根据所述深度特征数据确定所述用于深度估计的样本图像的预测深度值,并根据所述语义特征数据确定所述用于场景语义分割的样本图像的预测语义类别;
根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整所述第一神经网络的网络参数,包括:
根据所述预测深度值和所述用于深度估计的样本图像的标注深度值,以及所述预测语义类别和所述用于场景语义分割的样本图像的标注语义类别,调整所述第一神经网络的网络参数。
可选地,在本申请上述任一方法实施例中,所述至少两个不同的图像处理任务包括以下图像处理任务中的至少两个:
车道线分割任务、车道线属性识别任务、可行驶区域分割任务。
根据本申请实施例的另一个方面,提供一种图像处理方法,包括:获取待处理图像;
将所述待处理图像输入到目标神经网络进行处理,得到至少两个不同的图像处理结果,其中,所述目标神经网络是通过上述任意一项实施例所述的方法训练得到的。
根据本申请实施例的又一个方面,提供一种训练神经网络的装置,包括:
图像拼接单元,用于将样本图像进行拼接,得到拼接后的样本图像;其中,进行拼接的样本图像来源于至少两个不同的图像处理任务各自对应的数据样本集中;
特征提取单元,用于通过第一神经网络提取拼接后的样本图像的特征数据;
特征拆分单元,用于按照对所述样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到进行拼接的各个样本图像的特征数据;
图像预测单元,用于通过所述第一神经网络根据所述各个样本图像的特征数据,确定各个图像处理任务的预测结果;
参数调整单元,用于根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整所述第一神经网络的网络参数。
可选地,在本申请上述装置实施例中,至少两个不同的图像处理任务对应的数据样本集中的样本图像不重叠,并且至少具有部分相似性。
可选地,在本申请上述任一装置实施例中,所述不同的图像处理任务对应的数据样本集中的样本图像不重叠,包括:不同的图像处理任务对应的数据样本集中的样本图像中的标注结果不同。
可选地,在本申请上述任一装置实施例中,所述不同的图像处理任务对应的数据样本集中的样本图像至少具有部分相似性,包括:不同的图像处理任务对应的数据样本集中的至少部分样本图像来源于同一场景。
可选地,在本申请上述任一装置实施例中,所述图像拼接单元,用于基于使来自于同一个图像处理任务对应的数据样本集中的样本图像相邻,对来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像进行拼接,得到所述拼接后的样本图像。
可选地,在本申请上述任一装置实施例中,所述图像拼接单元,用于将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的预设维度进行拼接,得到所述拼接后的样本图像。
可选地,在本申请上述任一装置实施例中,所述图像拼接单元,具体用于将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的四维张量中的批量维度进行拼接,得到所述拼接后的样本图像。
可选地,在本申请上述任一装置实施例中,所述特征提取单元,具体用于通过所述第一神经网络中的第一网络模块提取拼接后的样本图像的特征数据;
所述图像预测单元,具体用于通过所述第一神经网络中的第二网络模块根据所述各个样本图像的特征数据,确定各个图像处理任务的预测结果;其中,所述第二网络模块包括各个图像处理任务各自对应的网络模块。
可选地,在本申请上述任一装置实施例中,所述参数调整单元,具体用于根据确定的所述各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,分别得到所述各个图像处理任务的损失值;根据所述各个图像处理任务的损失值之和,调整所述第一神经网络的网络参数。
可选地,在本申请上述任一装置实施例中,所述至少两个不同的图像处理任务包括:深度估计任务和场景语义分割任务;
所述图像拼接单元,用于将用于深度估计的样本图像与用于场景语义分割的样本图像进行拼接,得到拼接后的样本图像;
所述特征拆分单元,用于按照对用于深度估计的样本图像与用于场景语义分割的样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到深度特征数据和语义特征数据;
图像预测单元,用于根据所述深度特征数据确定所述用于深度估计的样本图像的预测深度值,并根据所述语义特征数据确定所述用于场景语义分割的样本图像的预测语义类别;
参数调整单元,用于根据所述预测深度值和所述用于深度估计的样本图像的标注深度值,以及所述预测语义类别和所述用于场景语义分割的样本图像的标注语义类别,调整所述第一神经网络的网络参数。
可选地,在本申请上述任一装置实施例中,所述至少两个不同的图像处理任务包括以下图像处理任务中的至少两个:
车道线分割任务、车道线属性识别任务、可行驶区域分割任务。
根据本申请实施例的还一个方面,提供的一种图像处理装置,包括:
图像获取单元,用于获取待处理图像;
图像处理单元,用于将所述待处理图像输入到目标神经网络进行处理,得到至少两个不同的图像处理结果,其中,目标神经网络是通过上述任意一项实施例提供的训练神经网络的方法训练得到的。
根据本申请实施例的再一个方面,提供的一种电子设备,包括上述任一实施例所述的训练神经网络的装置,或上述实施例所述的图像处理装置。
根据本申请实施例的再一个方面,提供的一种电子设备,包括:
存储器,用于存储可执行指令;以及
处理器,用于执行所述可执行指令从而完成上述任一实施例所述训练神经网络的方法,或完成上述实施例所述的图像处理方法。
根据本申请实施例的再一个方面,提供的一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任一实施例所述训练神经网络的方法的指令,或完成上述实施例所述的图像处理方法的指令。
根据本申请实施例的再一个方面,提供的一种计算机存储介质,用于存储计算机可读指令,所述指令被执行时实现上述任一实施例所述训练神经网络的方法,或完成上述实施例所述的图像处理方法。
基于本申请上述实施例提供的训练神经网络的方法、图像处理方法、装置、设备和介质,利用第一神经网络在执行不同图像处理任务时对应的不同数据集构成混合数据集,通过混合数据集对第一神经网络进行训练,实现利用不同数据集对第一神经网络的网络参数进行优化,使参数优化后的第一神经网络可以同时处理多个图像处理任务。
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:
图1为本申请一些实施例的训练神经网络的方法的流程图。
图2A和图2B为本申请一些实施例的第一神经网络的结构示意图。
图3为本申请另一些实施例的训练神经网络的方法的流程图。
图4A为本申请一些实施例对样本数据进行拼接的示意图。
图4B为本申请一些实施例对特征数据进行拆分的示意图。
图5为本申请一些实施例得到第一神经网络的网络损失值的流程图。
图6为本申请又一些实施例的训练神经网络的方法的流程图。
图7为本申请实施例提供的训练神经网络的装置的结构示意图。
图8为本申请一些实施例提供的电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本申请实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、第三程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1为本申请一些实施例的训练神经网络的方法的流程图。该方法可以由终端设备或服务器执行,例如:手机、智能穿戴设备、机器人、车载电脑等移动终端设备。如图1所示,该方法包括:
102,将样本图像进行拼接,得到拼接后的样本图像。
其中,进行拼接的样本图像来源于至少两个不同的图像处理任务各自对应的数据样本集中。
在一些可能的实现方式中,二个以上不同图像处理任务分别对应的不同的数据集,可以采用现有的数据集来实现。可选地,可以从数据集中随机获取样本图像,也可以按照图像在数据集中的排列顺序从数据集中依次获取样本图像,可以将从数据集中直接获取的图像作为样本图像,也可以将从数据集中获取后经过相应的图像处理的图像作为样本图像,例如,对从数据集中获取的图像进行数据增强处理等,本申请实施例对样本图像的获取方式不作限定。
可选地,对于从二个以上不同图像处理任务分别对应的不同数据集中的所有数据集获取的样本图像,可以根据样本图像在神经网络中的特点,对样本图像进行拼接。例如:在神经网络中,每一个样本图像可以表示为一个为(H,W,C)的三维张量,其中,H为图像的高度,W为图像的宽度,C为图像的通道数,多个样本图像可以表示为一个为(B,H,W,C)的四维张量,其中B为一批次图像的批次大小,可以对从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中所有数据集获取的样本图像,沿着样本图像的某一维度进行拼接,得到新的样本图像,本申请实施例对样本图像拼接的实现方式不作限定。
拼接后的样本图像的尺寸应当与第一神经网络对输入图像的尺寸要求相适应,为了获得具有预定尺寸的图像,可以对新的样本图像进行相应比例的缩放处理,例如,通过神经网络对新的样本图像进行相应比例的缩放处理,但本申请实施例对新的样本图像的尺寸和缩放处理的实现方式不作限定。
104,通过第一神经网络提取拼接后的样本图像的特征数据。
在本申请中,特征数据可以包括至少一个特征向量、至少一个特征图或其他形式。在本申请实施例中,第一神经网络为待训练的神经网络,并且第一神经网络为可以执行二个以上不同图像处理任务的神经网络,例如:第一神经网络为可以执行单目深度估计任务和场景语义分割任务的神经网络,本申请实施例对第一神经网络执行的图像处理任务的种类和数量不作限定。
可选地,获取样本图像的数据集的数量与第一神经网络执行的图像处理任务的数量相同,也就是说,对于第一神经网络执行的每一个图像处理任务都具有一个与该任务相匹配的数据集。在本申请中,不同图像处理任务对应的不同数据集是指没有数据重叠的数据集,也就是说,每个数据集中的样本图像只具有与所对应的图像处理任务相匹配的标注信息,例如:对于执行单目深度估计任务和场景语义分割任务的联合网络,用于单目深度估计任务的数据集中的样本图像只具有深度值标注信息,而不具有语义类别标注信息,用于场景语义分割任务的数据集中的样本图像只具有语义类别标注信息,而不具有深度值标注信息。
步骤106,按照对样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到进行拼接的各个样本图像的特征数据。
在本申请实施例中,不同图像处理任务对应的样本图像不同,为了实现对第一神经网络中对不同图像处理任务的分支进行分别训练,本申请实施例在对各个图像处理任务进行处理之前需要将提取得到的特征数据进行拆分,以针对不同图像处理任务的特征数据对与其对应的网络分支部分进行训练;
例如,两个不同的图像处理任务为包括:A任务和B任务,在进行样本拼接的时候,可以是两个A任务的样本图像和一个B任务的样本图像拼接在一起,并且样本拼接时,如果是将两个A任务的样本和一个B任务的样本拼接在一起,在对应的特征数据进行拆分时,两个A任务的样本的特征和一个B任务的样本的特征被分开,在之后第一神经网络进行图像处理任务的结果预测时,根据两个A任务的样本的特征得到A任务的预测结果,根据一个B任务的样本的特征图得到B任务的预测结果。
步骤108,通过第一神经网络根据各个样本图像的特征数据,确定各个图像处理任务的预测结果。
在一个可选的例子中,如图2A所示,第一神经网络为执行单目深度估计任务和场景语义分割任务的联合网络,该联合网络可以包括编码网络模块210和解码网络模块,解码网络模块又包括单目深度估计解码网络模块220和场景语义分割解码网络模块230,其中,在执行单目深度估计任务和场景语义分割任务时,输入的图像通过编码网络模块210进行处理,得到高维空间内的特征数据,在执行深度估计任务时,编码网络模块210得到的特征数据通过深度估计解码网络模块220进行处理,得到各像素点的深度值信息,在执行场景语义分割任务时,编码网络模块210得到的特征数据通过场景语义分割解码网络模块230进行处理,得到各像素点的语义类别信息。例如:编码网络模块210可以包括卷积层,解码网络模块可以包括卷积层和上采样层,且深度估计解码网络模块220和场景语义分割解码网络模块230中卷积层的参数不同,本申请实施例对编码网络模块210、深度估计解码网络模块220和场景语义分割解码网络模块230的网络结构不作限定。
步骤110,根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整第一神经网络的网络参数。
在本申请实施例中,可以根据第一神经网络执行的二个以上不同图像处理任务中每个任务的预测结果与各个图像处理任务的标注结果,得到第一神经网络的网络损失值,其中,可选地,由样本图像的标注结果,结合样本图像的来源数据样本集对应的图像处理任务,得到各个图像处理任务的标注结果。例如:对于执行深度估计任务和场景语义分割任务的联合网络,可以根据执行深度估计任务得到预测深度值与对应的样本图像的标注深度值,和执行场景语义分割任务得到的预测语义类别与对应的样本图像的标注语义类别,对第一神经网络的网络参数进行调整,例如:可以基于随机梯度下降法(StochasticGradient Descent,SGD)通过反向传播对第一神经网络的网络参数进行调整,但本申请实施例对此不作限定。
基于本申请实施例提供的训练神经网络的方法,利用第一神经网络在执行不同图像处理任务时对应的不同数据集构成混合数据集,通过混合数据集对第一神经网络进行训练,实现利用不同数据集对第一神经网络的网络参数进行优化,使参数优化后的第一神经网络可以同时处理多个图像处理任务。
可选地,不同的图像处理任务对应的数据样本集中的样本图像不重叠,并且至少具有部分相似性。
本申请实施例中所指的不重叠,可以是不同的图像处理任务对应的数据样本集中的样本图像中的标注结果不同;且具有部分相似性可以是不同的图像处理任务对应的数据样本集中的至少部分样本图像来源于同一场景。
例如:把一批自动驾驶场景下摄像头获取到的数据分成两个部分:一部分标深度估计标签,另一部分标分割标签。因为这两部分数据来源于同一场景,因此具有数据相似性,并且这两部分数据都是只有单一的标签,也就是标注结果不同,所以这两部分数据是不重叠的。
而不具备数据相似性的数据指的是两个场景数据差异很大,例如,房间里面和屋子外面的树林,因为房间里包括的物品为桌子、椅子、电视、床等家具类物品,属于室内场景,而屋子外面的树林中包括的物品为树、鸟、草、动物等自然类物品,属于室外场景,室内场景和室外场景的数据从类别到结构分布都不同,所以不具备数据相似性。
部分数据相似性指的是两个场景有部分数据特征是类似的,例如,自动驾驶的场景中,一个是高速路的场景,场景中包括的物品为车、高速路、路灯等物品,比较简单;另一个是市中心的场景,场景中包括的物品为人、非机动车、机动车、红绿灯、斑马线等等物品,这两个场景可以说是部分数据特征相似,它们都属于自动驾驶场景。
利用不同数据集之间的数据相似性来优化第一神经网络的网络参数,实现了通过多任务学习来保证第一神经网络执行的各任务的精度,能够达到甚至超过通过独立的网络来单独执行各任务时的精度,可以获得比各任务独立的神经网络占用内存更少,执行速度更快,满足实时性和低功耗的要求的轻量级网络。
在一个可选实施例中,步骤102包括:基于使来自于同一个图像处理任务对应的数据样本集中的样本图像相邻,对来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像进行拼接,得到拼接后的样本图像。
本实施中,同一数据样本集中的样本图像不是必需相邻,只需在后续拆分时按照拼接方式进行拆分即可,除了相邻拼接还可以采用例如间隔拼接、随机拼接等方式,本申请实施例不限制具体拼接方式,其中,将来源于同一个数据集中的样本图像在拼接时相邻是较好的拼接方式。
在一些可选实施例中,步骤102包括:
将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的预设维度进行拼接,得到拼接后的样本图像。
在本申请实施例中,在维度拼接之前,可以通过尺寸调整得到尺寸相同的样本图像,再通过对尺寸相同的样本图像进行某一维度的拼接,得到新的样本图像,例如:对尺寸相同的样本图像,沿着样本图像的某一预设维度进行拼接,得到新的样本图像。本申请实施例在从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的所有数据集获取样本图像后,通过对样本图像进行尺寸调整,获得尺寸相同的样本图像,将尺寸相同的样本图像拼接为新的样本图像,可以便于实现对样本图像的拼接,保证得到的新的样本图像的质量,从而保证对第一神经网络训练的效果。
可选地,对样本图像进行拼接的预设维度可以为批量维度,即,将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的四维张量中的批量维度进行拼接,得到拼接后的样本图像。
通过在批量维度对样本图像进行拼接,使对样本图像对应的特征数据进行拆分时更易于拆分,在进行拆分时,按照拼接四维张量中的批量维度对基于样本图像获得的特征数据进行批量维度上的拆分,获得分别对应不同任务的特征数据。
可选地,在对从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的所有数据集获取的样本图像进行拼接,得到新的样本图像之前,还需要从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的每个数据集,分别获取预定数量的样本图像。由于来自于不同数据集的样本图像可能存在尺寸上的差异,因此通常在获取样本图像后,还需要对样本图像进行尺寸调整。
在同一次从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的所有数据集获取样本图像时,从每个数据集分别获取的预定数量的样本图像,可以是相同数量的样本图像,也可以是不同数量的样本图像,本申请实施例对此不作限定。在每一次从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的所有数据集获取样本图像时,从同一个数据集分别获取的预定数量的样本图像,可以是相同数量的样本图像,也可以是不同数量的样本图像,本申请实施例对此不作限定。在一个可选的例子中,为了获得较好的训练效果,应保证同一次从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的每个数据集,获取的样本图像的数量在一个预定的范围内。例如,可以对从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的所有数据集,获取的样本图像的H、W和C三个维度的尺寸均进行调整,得到高度、宽度和通道数均相同的样本图像,以满足样本图像拼接的要求。在一些可能的实现方式中,可以先对样本图像进行相应比例的缩放处理,得到一个第一预定尺寸为H1*W1的图像,然后对缩放处理后的图像进行裁剪处理,从尺寸为H1*W1的图像中裁切出一个第二预定尺寸为H2*W2的图像,作为用于进行拼接的样本图像,其中,H2<H1,W2<W1。通常各样本图像的通道数C相同,例如:均包括R、G、B三个通道,对于通道数不同的样本图像可以通过增加相应的通道,获得通道数相同的样本图像,本申请实施例对增加样本图像通道的实现方式不作限定。
在一个可选的例子中,第二预定尺寸H2*W2可以与第一神经网络对输入图像的尺寸要求相同,此时,在对尺寸调整后的样本图像进行拼接得到的新的样本图像的尺寸,将符合第一神经网络对输入图像的尺寸要求,因此在将新的样本图像输入第一神经网络之前,不必再对新的样本图像进行其它的缩放处理。
图3为本申请另一些实施例的训练神经网络的方法的流程图。如图3所示,该方法包括:
步骤302,将样本图像进行拼接,得到拼接后的样本图像。
可选地,对于从第一神经网络执行的二个以上不同图像处理任务分别对应的不同数据集中的所有数据集获取的样本图像,可以根据样本图像在神经网络中的特点,对样本图像进行拼接。例如:可以对从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中所有数据集获取的样本图像,沿着样本图像的某一维度进行拼接,得到新的样本图像,本申请实施例对样本图像拼接的实现方式不作限定。
步骤304,通过第一神经网络中的第一网络模块提取拼接后的样本图像的特征数据。
在本申请实施例中,可以通过第一网络模块对拼接后的样本图像进行特征提取处理,得到对应的特征数据。可选地,该特征数据可以包括:表示结构化信息的低层特征数据,或表达能力较强、包含语义信息的中高层特征数据,本申请实施例对此不作限定。可选地,可以根据第一网络模块的功能,得到拼接后的样本图像的不同级别的特征数据。
步骤306,按照对样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到进行拼接的各个样本图像的特征数据。
可选地,可以根据样本图像拼接的方式,对新的样本图像得到的特征数据进行拆分,得到对应于第一神经网络执行的二个以上不同图像处理任务中每个任务的特征数据。例如:当对样本图像的拼接是沿着样本图像的某一维度进行时,可以对新样本图像得到的特征数据,沿着这一维度进行拆分,得到对应于第一神经网络执行的二个以上不同图像处理任务中每个任务的特征数据,本申请实施例对样本图像拆分的实现方式不作限定。
步骤308,通过第一神经网络中的第二网络模块根据各个样本图像的特征数据,确定各个图像处理任务的预测结果。
其中,第二网络模块包括各个图像处理任务各自对应的网络模块。
在本申请实施例中,可以将对特征数据拆分得到的,对应于第一神经网络执行的二个以上不同图像处理任务中每个任务的特征数据,作为从数据集获取的相应图像处理任务的样本图像的特征数据,分别输入第一神经网络中与相应的图像处理任务对应的第二网络模块进行处理,从而得到第一神经网络执行的二个以上不同图像处理任务中每个任务的预测结果。
在一些可能的实现方式中,第一神经网络执行的二个以上不同图像处理任务为通常在同一场景下使用的任务,例如:通常在城市街景和高速公路等场景中使用的深度估计任务和场景语义分割任务。可选地,第一神经网络的网络结构可以根据执行图像处理任务的需求进行设计,对于在执行二个以上不同图像处理任务时功能相同的部分可以采用同一个网络模块(即第一网络模块)来实现,而对于在执行二个以上不同图像处理任务时功能不同的部分可以分别采用不同的网络模块(即第二网络模块)来实现,以减少网络占用的内存,提升网络运行的时间,满足实时性和低功耗的要求。
步骤310,根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整第一神经网络的网络参数。
在一个可选的例子中,如图2B所示,第一神经网络为执行深度估计任务和场景语义分割任务的联合网络,对从深度估计任务对应的数据集获取的样本图像201,和从场景语义分割任务对应的数据集获取的样本图像202,进行拼接得到新的样本图像,将拼接后的样本图像输入第一神经网络的第一网络模块,即编码网络模块210,可以通过编码网络模块210对拼接后的样本图像进行特征提取处理,得到高维空间内的特征数据,通过对编码网络模块210得到的特征数据进行拆分,可以分别得到对应于深度估计任务的特征数据203和对应于场景语义分割任务的特征数据204,其中,对应于深度估计任务的特征数据203作为从深度估计任务对应的数据集获取的样本图像201的特征数据,对应于场景语义分割任务的特征数据204作为从场景语义分割任务对应的数据集获取的样本图像202的特征数据,将对应于深度估计任务的特征数据203输入深度估计任务对应的第二网络模块,即深度估计解码网络模块220进行处理,可以得到相应的预测深度值的205,将对应于场景语义分割任务的特征数据204输入场景语义分割任务对应的第二网络模块,即场景语义分割解码网络模块230进行处理,可以得到相应的预测语义类别206。
本申请实施例通过对来自于不同图像处理任务的样本图像进行拼接,得到拼接后的样本图像,通过对拼接后的样本图像进行处理,得到对应的特征数据,可以利用不同样本图像所在的不同数据集之间的数据相似性来优化第一网络模块的网络参数,通过对新的样本图像得到的特征数据进行拆分,得到对应于不同图像处理任务的特征数据,通过对对应于不同图像处理任务的特征数据进行处理,得到不同图像处理任务的预测结果,可以利用对应于不同图像处理任务的特征数据,来保证第二网络模块在执行各图像处理任务时的精度。
在本申请的一些实施例中,在对样本图像进行拼接时,可以基于使来自于同一个数据集的样本图像相邻,对从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的所有数据集获取的样本图像,沿着样本图像四维张量的第一个维度进行拼接,得到新的样本图像。在一个可选的例子中,如图4A所示,图4A为本申请一些实施例对样本数据进行拼接的示意图,从深度估计任务对应的数据集获取4个样本图像401、402、403、404,并且从场景语义分割任务对应的数据集获取4个样本图像405、406、407、408,每个样本图像可以表示为一个为(B,H,W,C)的四维张量,其中四维张量的第三个维度和第四个维度为空间维度,在图4A中省略了样本图的空间维度,通过将8个样本图像沿着四维张量的第一个维度进行拼接,可以得到新的样本图像409。
在对特征数据进行拆分时,可以基于在新的样本图像中来自于同一个数据集的样本图像相邻,对特征数据沿着四维张量的第一个维度进行拆分,得到对应于第一神经网络执行的二个以上不同图像处理任务中每个任务的特征数据,如图4B所示,图4B为本申请一些实施例对特征数据进行拆分的示意图,根据拼接得到的新的样本图像得到特征数据410可以表示为一个为(B,H,W,C)的四维张量,其中四维张量的第三个维度和第四个维度为空间维度,在图4B中省略了样本图的空间维度,通过对特征数据410沿着四维张量的第一个维度进行拆分,可以得到对应于深度估计任务的4个特征数据411、412、413、414,和对应于场景语义分割任务的4个特征数据415、416、417、418。
本申请实施例由于是沿着四维张量的第一个维度进行拼接,而在神经网络中进行的所有操作均是独立于该维度进行的,也就是说,神经网络中卷积层、上采样层等进行的操作只能够修改四维张量的C、H和W维度,对B维度没有任何影响,更不会改变B维度的排列顺序,故在根据拼接后的样本图像得到的特征数据中各样本图像对应的特征数据的排列顺序与样本图像拼接的顺序一致,因此,将样本图像沿着四维张量的第一个维度进行拼接可以方便直接拆分得到各样本图像对应的特征数据。
另外,在对样本图像进行拼接时,使来自于同一个数据集的样本图像相邻,例如:如图4A所示,在拼接后的样本数据中使从深度估计任务对应的数据集获取4个样本图像401、402、403、404相邻,同时使从场景语义分割任务对应的数据集获取4个样本图像405、406、407、408相邻,可以有利于直接将来自不同数据集的样本图像对应的特征数据沿着四维张量的第一个维度分开,简化拆分的过程。
可选的,将特征数据沿着四维张量的第一个维度进行拆分可以通过一个神经网络来实现,例如:深度学习平台caffe中slice层,但本申请实施例对此不作限定。
在本申请的一些实施例中,根据第一神经网络执行的二个以上不同图像处理任务中每个任务的预测结果与对应的样本图像的标注结果,得到第一神经网络的网络损失值,可以采用图5的流程来实现。
如图5所示,该方法包括:
502,根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,分别得到各个图像处理任务的损失值。
在本申请实施例中,可以根据第一神经网络执行的二个以上不同图像处理任务中每个任务的预测结果与对应的样本图像的标注结果,基于相应的损失函数,分别得到第一神经网络执行的二个以上不同图像处理任务中每个任务的损失值。可选地,可以根据第一神经网络执行的二个以上不同图像处理任务中每个任务的类型,确定相应的损失函数。
504,根据各个图像处理任务的损失值之和,调整第一神经网络的网络参数。
可选地,可以根据第一神经网络执行的二个以上不同图像处理任务中所有任务的损失值之和,得到第一神经网络的网络损失值,但本申请实施例对此不作限定。其中,在根据第一神经网络的网络损失值,对第一神经网络的网络参数进行调整时,每个图像处理任务对应的损失值只对会对第一网络模块和获得该任务的预测结果的第二网络模块的参数产生影响。例如:如图2B所示,深度估计的损失值207在通过反向传播对第一神经网络的网络参数进行调节的过程中,只会对编码网络模块210和深度估计解码网络模块220的网络参数的调节起到作用,场景语义分割的损失值208在通过反向传播对第一神经网络的网络参数进行调节的过程中,只会对编码网络模块210和场景语义分割解码网络模块230的网络参数的调节起到作用。
第一神经网络处理的至少两个不同的图像处理任务在实际应用中,可以包括深度估计任务和场景语义分割任务,此时,如图6所示,该实施例方法包括:
步骤602,将用于深度估计的样本图像与用于场景语义分割的样本图像进行拼接,得到拼接后的样本图像。
本实施例实现将深度估计任务和场景语义分割任务对应的两个图像集中的图像分别进行拼接,例如,将一个用于深度估计的样本图像与一个用于场景语义分割的样本图像进行拼接,获得拼接后的样本图像。
步骤604,通过第一神经网络提取拼接后的样本图像的特征数据。
该步骤可参照图1所示实施例中的步骤104进行理解,在此不再赘述。
步骤606,按照对用于深度估计的样本图像与用于场景语义分割的样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到深度特征数据和语义特征数据。
可选地,深度特征数据可以以深度特征图的形式表现,语义特征数据可以以语义特征图的形式表现;在本申请实施例中,深度估计任务和场景语义分割任务对应的样本图像不同,为了实现对第一神经网络中对深度估计任务和场景语义分割任务的分支进行分别训练,本申请实施例在对深度估计任务和场景语义分割任务进行处理之前需要将提取得到的特征数据进行拆分,以实现通过深度特征数据对深度估计任务对应的网络分支部分进行训练,通过语义特征数据对场景语义分割任务对应的网络分支部分进行训练。
步骤608,第一神经网络根据深度特征数据确定用于深度估计的样本图像的预测深度值,并根据语义特征数据确定用于场景语义分割的样本图像的预测语义类别。
本实施例中,针对深度估计任务和场景语义分割任务分别获得预测深度值和预测语义类别,此时,第一神经网络的结构可参照图2A提供的第一神经网络,此时,第一神经网络为执行深度估计任务和场景语义分割任务的联合网络。
步骤610,根据预测深度值和用于深度估计的样本图像的标注深度值,以及预测语义类别和用于场景语义分割的样本图像的标注语义类别,调整第一神经网络的网络参数。
在本申请实施例中,可以根据第一神经网络执行的深度估计任务和场景语义分割任务分别对应的预测深度值和预测语义类别与标注深度值和标注语义类别,得到第一神经网络的网络损失值,以该网络损失值对第一神经网络中的网络参数进行调整,可选地,可基于预测深度值和标注深度值获得深度损失(depthloss),基于预测语义类别和标注语义类别获得分类损失(segmentationloss),此时,网络损失值可以基于深度损失和分类损失获得,例如,深度损失和分类损失之和确定网络损失值;例如:可以基于随机梯度下降法(Stochastic Gradient Descent,SGD)通过反向传播对第一神经网络的网络参数进行调整,但本申请实施例对此不作限定。
第一神经网络处理的至少两个不同的图像处理任务在实际应用中,还可以包括以下图像处理任务的至少两个:车道线分割任务、车道线属性识别任务、可行驶区域分割任务。
可选地,通过上述训练方法获得的第一神经网络除了可以应用到深度估计任务和场景语义分割任务外,可以应用到智能驾驶领域,智能驾驶领域包括了具有智能驾驶功能的车辆、机器人和导盲设备等,其中,智能驾驶包括了自动驾驶和高级辅助驾驶两种功能。在智能驾驶领域中,可对车辆采集的图像进行车道线分割任务、车道线属性识别任务和可行驶区域分割任务中的任意两项或三项进行处理,由于采用第一神经网络同时对多个任务进行处理,提高了智能驾驶识别过程的效率。
在本申请的一些实施例中,在基于第一神经网络执行的二个以上不同图像处理任务中每个任务的预测结果与对应的样本图像的标注结果,对第一神经网络的网络参数进行调整,得到第二神经网络之后,还可以确定第二神经网络是否达到预设网络条件,并响应于第二神经网络达到预设网络条件,将第二神经网络确定为目标神经网络(也就是已经训练完成的神经网络),响应于第二神经网络未达到预设网络条件,将第二神经网络作为第一神经网络,对从第一神经网络执行的二个以上不同图像处理任务分别对应的数据集中的所有数据集获取的样本图像进行拼接的从操作开始执行,直至得到目标神经网络或者训练失败。其中,预设网络条件可以包括预设迭代次数和预设精度等条件中的至少一种,本申请实施例对预设网络条件的类型不作限定。
在本申请的一些实施例中,在确定为目标神经网络之后,还需要对目标神经网络进行测试。可以通过获取测试图像,将测试图像输入到第一神经网络进行处理,得到二个以上不同的图像处理结果,来实现对第一神经网络的测试。例如:目标神经网络为执行深度估计任务和场景语义分割任务的神经网络,可以通过获取测试图像,将测试图像输入到目标神经网络进行处理,得到预测深度值和预测语义类别。
另外,本申请的一些实施例还提供了一种图像处理方法,该方法包括:获取待处理图像;将待处理图像输入到目标神经网络进行处理,得到至少两个不同的图像处理结果,其中,目标神经网络是通过上述任一实施例提供的方法训练得到的。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图7为本申请实施例提供的训练神经网络的装置的结构示意图。该实施例的装置可用于实现本公开上述各方法实施例。如图7所示,该实施例的装置包括:
图像拼接单元71,用于将样本图像进行拼接,得到拼接后的样本图像。
其中,进行拼接的样本图像来源于至少两个不同的图像处理任务各自对应的数据样本集中。
特征提取单元72,用于通过第一神经网络提取拼接后的样本图像的特征数据。
特征拆分单元73,用于按照对样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到进行拼接的各个样本图像的特征数据。
图像预测单元74,用于通过第一神经网络根据各个样本图像的特征数据,确定各个图像处理任务的预测结果。
参数调整单元75,用于根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整第一神经网络的网络参数。
基于本申请实施例提供的训练神经网络的装置,利用第一神经网络在执行不同图像处理任务时对应的不同数据集构成混合数据集,通过混合数据集对第一神经网络进行训练,实现利用不同数据集对第一神经网络的网络参数进行优化,使参数优化后的第一神经网络可以同时处理多个图像处理任务。
可选地,至少两个不同的图像处理任务对应的数据样本集中的样本图像不重叠,并且至少具有部分相似性。
可选地,不同的图像处理任务对应的数据样本集中的样本图像不重叠,包括:不同的图像处理任务对应的数据样本集中的样本图像中的标注结果不同。
可选地,不同的图像处理任务对应的数据样本集中的样本图像至少具有部分相似性,包括:不同的图像处理任务对应的数据样本集中的至少部分样本图像来源于同一场景。
可选地,图像拼接单元71,用于基于使来自于同一个图像处理任务对应的数据样本集中的样本图像相邻,对来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像进行拼接,得到拼接后的样本图像。
可选地,图像拼接单元71,用于将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的预设维度进行拼接,得到拼接后的样本图像。
可选地,图像拼接单元71,具体用于将来源于至少两个不同的图像处理任务各自对应的数据样本集中的样本图像沿着样本图像的四维张量中的批量维度进行拼接,得到拼接后的样本图像。
可选地,特征提取单元72,具体用于通过第一神经网络中的第一网络模块提取拼接后的样本图像的特征数据;
图像预测单元74,具体用于通过第一神经网络中的第二网络模块根据各个样本图像的特征数据,确定各个图像处理任务的预测结果。
其中,第二网络模块包括各个图像处理任务各自对应的网络模块。
可选地,参数调整单元75,具体用于根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,分别得到各个图像处理任务的损失值;根据各个图像处理任务的损失值之和,调整第一神经网络的网络参数。
可选地,至少两个不同的图像处理任务包括:深度估计任务和场景语义分割任务;
图像拼接单元71,用于将用于深度估计的样本图像与用于场景语义分割的样本图像进行拼接,得到拼接后的样本图像;
特征拆分单元73,用于按照对用于深度估计的样本图像与用于场景语义分割的样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到深度特征数据和语义特征数据;
图像预测单元74,用于根据深度特征数据确定用于深度估计的样本图像的预测深度值,并根据语义特征数据确定用于场景语义分割的样本图像的预测语义类别;
参数调整单元75,用于根据预测深度值和用于深度估计的样本图像的标注深度值,以及预测语义类别和用于场景语义分割的样本图像的标注语义类别,调整第一神经网络的网络参数。
可选地,至少两个不同的图像处理任务包括以下图像处理任务中的至少两个:
车道线分割任务、车道线属性识别任务、可行驶区域分割任务。
另外,本申请实施例还提供了一种图像处理装置,包括:
图像获取单元,用于获取待处理图像;
图像处理单元,用于将所述待处理图像输入到目标神经网络进行处理,得到至少两个不同的图像处理结果,其中,目标神经网络是通过上述任意一项实施例提供的训练神经网络的方法训练得到的。
根据本申请实施例的再一个方面,提供的一种电子设备,包括上述任一实施例所述的训练神经网络的装置,或上述实施例所述的图像处理装置。
根据本申请实施例的再一个方面,提供的一种电子设备,包括:
存储器,用于存储可执行指令;以及
处理器,用于执行所述可执行指令从而完成上述任一实施例所述训练神经网络的方法,或完成上述实施例所述的图像处理方法。
根据本申请实施例的再一个方面,提供的一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现上述任一实施例所述训练神经网络的方法的指令,或完成上述实施例所述的图像处理方法的指令。
根据本申请实施例的再一个方面,提供的一种计算机存储介质,用于存储计算机可读指令,所述指令被执行时实现上述任一实施例所述训练神经网络的方法,或完成上述实施例所述的图像处理方法。
本申请实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图8,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备800的结构示意图:如图8所示,计算机系统800包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)801,和/或一个或多个加速单元813等,加速单元813可包括但不限于GPU、FPGA、其他类型的专用处理器等,处理器可以根据存储在只读存储器(ROM)802中的可执行指令或者从存储部分808加载到随机访问存储器(RAM)803中的可执行指令而执行各种适当的动作和处理。通信部812可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,处理器可与只读存储器802和/或随机访问存储器803中通信以执行可执行指令,通过总线804与通信部812相连、并经通信部812与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,将样本图像进行拼接,得到拼接后的样本图像;其中,进行拼接的样本图像来源于至少两个不同的图像处理任务各自对应的数据样本集中;通过第一神经网络提取拼接后的样本图像的特征数据;按照对所述样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到进行拼接的各个样本图像的特征数据;通过所述第一神经网络根据所述各个样本图像的特征数据,确定各个图像处理任务的预测结果;根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整所述第一神经网络的网络参数。
此外,在RAM 803中,还可存储有装置操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。在有RAM803的情况下,ROM802为可选模块。RAM803存储可执行指令,或在运行时向ROM802中写入可执行指令,可执行指令使中央处理单元801执行上述通信方法对应的操作。输入/输出(I/O)接口805也连接至总线804。通信部812可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
需要说明的,如图8所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图8的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如加速单元813和CPU801可分离设置或者可将加速单元813集成在CPU801上,通信部809可分离设置,也可集成设置在CPU801或加速单元813上,等等。这些可替换的实施方式均落入本申请公开的保护范围。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,将样本图像进行拼接,得到拼接后的样本图像;其中,进行拼接的样本图像来源于至少两个不同的图像处理任务各自对应的数据样本集中;通过第一神经网络提取拼接后的样本图像的特征数据;按照对所述样本图像进行拼接的规则,对提取到的特征数据进行拆分,得到进行拼接的各个样本图像的特征数据;通过所述第一神经网络根据所述各个样本图像的特征数据,确定各个图像处理任务的预测结果;根据确定的各个图像处理任务的预测结果以及对应的各个样本图像的标注结果,调整所述第一神经网络的网络参数。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。
在一个或多个可选实施方式中,本申请实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,该指令被执行时使得计算机执行上述任一可能的实现方式中对第一神经网络进行剪枝处理,得到剪枝网络;基于所述第一神经网络,训练所述剪枝网络,得到第二神经网络的方法。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,该计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,该计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
在一个或多个可选实施方式中,本申请实施例还提供了一种训练神经网络的方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中,该方法包括:对第一神经网络进行剪枝处理,得到剪枝网络;基于所述第一神经网络,训练所述剪枝网络,得到第二神经网络的方法。
在一些实施例中,该训练神经网络的指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行训练神经网络,相应地,响应于接收到调用指令,第二装置可以执行上述训练神经网络的方法中的任意实施例中的步骤和/或流程。
应理解,本申请实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本申请实施例的限定。
还应理解,在本申请中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本申请中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
还应理解,本申请对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
可能以许多方式来实现本申请的方法和装置、设备。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置、设备。用于方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。
本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施例。