掌桥专利:专业的专利平台
掌桥专利
首页

一种图像处理方法、神经网络的训练方法以及相关设备

文献发布时间:2023-06-19 11:42:32


一种图像处理方法、神经网络的训练方法以及相关设备

技术领域

本申请涉及人工智能领域,尤其涉及一种图像处理方法、神经网络的训练方法以及相关设备。

背景技术

人工智能(Artificial Intelligence,AI)是利用计算机或者计算机控制的机器模拟、延伸和扩展人的智能。人工智能包括研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。目前,对用于图像处理的神经网络进行小样本学习(few-shot learning)是人工智能一种可行的研究方向。

小样本学习指的是对于新的类别,采用少量的带标签的训练图像对神经网络进行训练,但由于小样本学习中采用的新类别的图像较少,通过小样本学习的方式对神经网络进行训练,利用训练后的神经网络进行特征获取,获取的特征容易过拟合到新类别的少量图像,而不是整个新类别的特征,进而影响整个神经网络输出的预测结果的精度。

因此,一种能够提高神经网络的精度的训练方法亟待推出。

发明内容

本申请实施例提供了一种图像处理方法、神经网络的训练方法以及相关设备,用于降低第二特征信息过拟合于少量图像的概率,也即有利于获取到能够正确反映整个类别的特征信息,从而提高整个神经网络输出的预测结果的精度。

为解决上述技术问题,本申请实施例提供以下技术方案:

第一方面,本申请实施例提供一种神经网络的训练方法,可用于人工智能领域的图像处理领域中,方法包括:训练设备获取训练图像集,训练图像集包括N类支撑图像和查询图像,N为大于1的整数;N类支撑图像和查询图像与元学习的训练方式对应,查询图像也可以称为测试图像,元学习是小样本学习研究中的一个分支。训练设备获取与N类支撑图像对应的N个第一类别信息,并根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,其中,一个第一类别信息指示一类支撑图像的更新前的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息。训练设备通过第一神经网络对查询图像进行特征提取,得到与查询图像对应的至少一个第一特征信息,根据N个第二类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与查询图像对应的至少一个第二特征信息;训练设备根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,以得到与查询图像对应的预测结果;训练设备根据与查询图像对应的期望结果、预测结果和第一损失函数,对第一神经网络进行训练,直至满足预设条件,第一损失函数指示与查询图像对应的预测结果和与查询图像对应的期望结果之间的相似度。

本实现方式中,由于N类中目标类别(N类中任意一个类别)的支撑图像数量较少,则与目标类别的支撑图像对应的第一类别信息与整个目标类别的图像的实际特征信息之间有较大偏差,也即与目标类别对应的第一类别信息无法正确反映整个目标类别的图像的实际特征,在与目标类别对应的第一类别信息中引入了与其他类别对应的类别信息后,能够减少与目标类别对应的第一类别信息与整个目标类别的图像的实际特征信息之间的偏差,也即与目标类别对应的第二类别信息能够更为准确的反映整个目标类别的图像的实际特征,第二特征信息是基于第二类别信息得到的,所以会降低第二特征信息过拟合于少量训练图像的概率,也即有利于获取到能够正确反映整个类别的特征信息,从而提高整个神经网络输出的预测结果的精度。

在第一方面的一种可能实现方式中,针对N个第一类别信息中的与目标类别对应的第一类别信息,目标类别是N个类别中的任一个类别。训练设备可以获取到目标类别所对应的第一类别信息和除目标类别之外其他每个类别所对应的第一类别信息与之间的相似度,并根据前述相似度确定除目标类别之外其他每个类别所对应的第一类别信息的权重;训练设备将与除目标类别之外其他每个类别对应的第一类别信息,与,该第一类别信息所对应的权重进行相乘处理;并将乘积结果与目标类别所对应的第一类别信息叠加,从而得到与目标类别对应的第二相似度信息。

在第一方面的一种可能实现方式中,训练设备根据N个第二类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与查询图像对应的至少一个第二特征信息,包括:根据N个第二类别信息和至少一个第一特征信息,计算第二相似度信息,第二相似度信息指示每个第二类别信息和每个第一特征信息之间的相似度;根据第二相似度信息,对每个第一特征信息进行更新,以得到与至少一个第一特征信息一一对应的至少一个第二特征信息。

本实现方式中,计算每个第二类别信息和第一特征信息之间的第二相似度信息,也即先计算第二类别信息和第一特征信息之间的关联性,并基于两者之间的关联性对第一特征信息进行更新,由于N类支撑图像对应有N个第二类别信息,但对于一个特定的第一特征信息而言,N个第二类别信息中只有一个第二类别信息与该特定的第一特征信息相似度最高,相似度最高的第二类别信息最应该被用来更新第一特征信息,因此,基于第二相似度信息执行更新操作的方式,提高了生成第二特征信息过程的精细度,有利于得到更能准确反映整个类别的特征的第二特征信息,进而有利于提高整个神经网络的输出结果的精度。

在第一方面的一种可能实现方式中,第一神经网络包括的特征提取网络中有M个特征通道,第二类别信息包括与M个特征通道对应的特征信息,进一步地,第二类别信息具体可以表现为包括M个元素的向量,前述M个元素与M个特征通道一一对应;第一特征信息包括与M个特征通道对应的特征信息,进一步地,第一特征信息具体可以表现为包括M个元素的向量,前述M个元素与M个特征通道一一对应。第二相似度信息用于指示第二类别信息和第一特征信息在M个特征通道中各个特征通道之间的相似度,也即第二相似度信息用于指示目标第二类别信息和目标第一特征信息在特征通道层级的相似度。

本实现方式中,由于N类支撑图像对应有N个第二类别信息,但对于一个特定的第一特征信息的一个特定的通道而言,N个第二类别信息中只有第二类别信息的特定通道与该特定的第一特征信息的特定通道相似度最高,相似度最高的第二类别信息的特定通道最应该被用来更新第一特征信息的特定通道。因此,基于通道特征相似度执行更新操作的方式,进一步提高了生成第二特征信息精确度,有利于得到更准确反映整个类别的特征的第二类别信息,进而有利于提高整个神经网络的输出结果的精度。

在第一方面的一种可能实现方式中,训练设备根据N个第二类别信息和至少一个第一特征信息,计算第二相似度信息,包括:对N个第二类别信息中任意一个第二类别信息进行归一化处理,对至少一个第一特征信息中任意一个第一特征信息进行归一化处理,将进行归一化处理的第二类别信息和进行过归一化处理的第一特征信息相乘,以得到重要度信息。

在第一方面的一种可能实现方式中,针对N个第二类别信息中任意一个第二类别信息与至少一个第一特征信息中任意一个第一特征信息之间的第二相似度信息的计算过程,训练设备根据N个第二类别信息和至少一个第一特征信息,计算第二相似度信息,包括:训练设备直接对整个第二类别信息和整个第一特征信息进行相似度计算,得到第二相似度信息,第二相似度信息指示第二类别信息和第一特征信息在整个信息层级的相似度。

本实现方式中,计算整个信息层级的第二相似度信息,并基于整个信息层级的相似度更新目标第一特征信息,由于第二相似度信息融合整个信息层级的特征,可以更准确地衡量第二类别信息和第一特征信息的相似性,进而选择更合适的第二类别信息更新第一特征信息,提高了生成的第二特征信息精确度;此外,提供了计算第二类别信息和第一特征信息之间相似度信息的另一种实现方式,提高了本方案的实现灵活性。

在第一方面的一种可能实现方式中,方法还包括:训练设备根据N个第一类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与查询图像对应的至少一个第三特征信息,至少一个第三特征信息与至少一个第二特征信息之间一一对应;训练设备通过第一神经网络对至少一个第三特征信息和至少一个第二特征信息执行融合操作,以得到与查询图像对应的至少一个更新后的第二特征信息。训练设备根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,包括:训练设备根据至少一个更新后的第二特征信息,通过第一神经网络执行特征处理操作。

本实现方式中,不仅根据第二类别信息对第一特征信息进行更新以得到第二特征信息,还会根据第一类别信息对第一特征信息进行更新以得到第三特征信息,进而将第三特征信息与第二特征信息进行融合,以得到更新后的第二特征信息,并对更新后的第二特征信息进行特征处理;由于第二特征信息是基于第二类别信息得到的,也即为避免训练后的神经网络过拟合,第二特征信息中会包括其他类别的信息,而第三特征信息尽量保证单一类别的信息,也即第二特征信息与第三特征信息之间具有互补性,则训练后的神经网络可以综合更丰富的信息来执行特征处理操作,以提高神经网络输出的预测结果的精度。

在第一方面的一种可能实现方式中,训练设备根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,以得到与查询图像对应的预测结果包括:训练设备根据至少一个第二特征信息,通过第一神经网络执行物体检测操作,以得到与查询图像对应的第一预测结果,第一预测结果指示查询图像中至少一个检测框的预测位置和与每个检测框对应的预测类别。或者,训练设备根据至少一个第二特征信息,通过第一神经网络执行分类操作,以得到与查询图像对应的第二预测结果,第二预测结果指示查询图像的预测类别。

本实现方式中,第一神经网络不仅可以为用于进行物体检测的神经网络,还可以为用于图像分类的神经网络,扩展了本方案的应用场景,提高了本方案的实现灵活性。

第二方面,本申请实施例提供了一种图像处理方法,可用于人工智能领域的图像处理领域中,方法可以包括:执行设备获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,N个第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度,N为大于或等于1的整数;执行设备通过第一神经网络对待处理图像进行特征提取,得到与待处理图像对应的至少一个第一特征信息,根据N个第二类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与待处理图像对应的至少一个第二特征信息;执行设备根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,以得到与待处理图像对应的预测结果。

在第二方面的一种可能实现方式中,执行设备获取N个第二类别信息包括:执行设备中也会根据N类带标签的支撑图像来生成N个第二类别信息,或者,执行设备接收训练设备发送的N个第二类别信息。

本申请实施例第二方面中,执行设备还可以执行第一方面的各种可能实现方式中训练设备执行的步骤,对于本申请实施例第二方面以及第二方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面以及第一方面的各种可能的实现方式中的描述,此处不再一一赘述。

第三方面,本申请实施例提供一种神经网络的训练方法,可用于人工智能领域的图像处理领域中,方法包括:训练设备获取训练图像集,训练图像集包括查询图像和N类支撑图像,N为大于或等于1的整数,N类支撑图像和查询图像与元学习的训练方式对应;获取与N类支撑图像对应的N个第一类别信息,并根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,其中,一个第一类别信息指示一类支撑图像的更新前的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息。训练设备通过第二神经网络对查询图像进行特征提取,得到与查询图像对应的第一特征信息,计算第三相似度信息,第三相似度信息指示第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度;训练设备根据第三相似度信息,通过第二神经网络生成第一指示信息,第一指示信息用于指示与查询图像对应的预测类别。训练设备根据与查询图像对应的第二指示信息、第一指示信息和第二损失函数,对第二神经网络进行训练,直至满足预设条件,第二指示信息用于指示与查询图像对应的正确类别,第二损失函数指示第一指示信息和第二指示信息之间的相似度。

本申请实施例中,由于采用的为小样本的训练方式,则N类中每个类别的支撑图像数量较少,则根据N类支撑图像得到的N个第一类别信息较难正确反应每个类别的信息;在与目标类别(N类中的任一类别)对应的第一类别信息中引入了与其他类别对应的类别信息后,能够减少与目标类别对应的第一类别信息与整个目标类别的图像的实际特征信息之间的偏差,也即与目标类别对应的第二类别信息能够更为准确的反映整个目标类别的图像的实际特征,也即相较于N个第一类别信息,N个第二类别信息能够更为准确的反应N个类别的图像的实际特征;由于查询图像的预测类别是通过计算查询图像的特征信息与N类图像所对应的N个类别信息之间的相似度得到的,所以随着N类图像所对应的N个类别信息的准确度的提高,神经网络的输出的查询图像的预测类别的精度也可以得到提高。

本申请实施例第三方面中,训练设备还可以执行第一方面的各种可能实现方式中训练设备执行的步骤,对于本申请实施例第三方面以及第三方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面以及第一方面的各种可能的实现方式中的描述,此处不再一一赘述。

第四方面,本申请实施例提供了一种图像处理方法,可用于人工智能领域的图像处理领域中,方法可以包括:执行设备获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度,N为大于或等于1的整数。执行设备通过第二神经网络对待处理图像进行特征提取,得到与待处理图像对应的第一特征信息,计算第三相似度信息,第三相似度信息指示第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度;执行设备根据第三相似度信息,通过第二神经网络生成第一指示信息,第一指示信息用于指示与待处理图像对应的预测类别。

本申请实施例第四方面中,执行设备还可以执行第二方面的各种可能实现方式中执行设备执行的步骤,对于本申请实施例第四方面以及第四方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第二方面以及第二方面的各种可能的实现方式中的描述,此处不再一一赘述。

第五方面,本申请实施例提供了一种神经网络的训练装置,可用于人工智能领域的图像处理领域中,装置包括:获取模块,用于获取训练图像集,训练图像集包括N类支撑图像和查询图像,N为大于1的整数,N类支撑图像和查询图像与元学习的训练方式对应;获取模块,还用于获取与N类支撑图像对应的N个第一类别信息,并根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,其中,一个第一类别信息指示一类支撑图像的更新前的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息;生成模块,用于通过第一神经网络对查询图像进行特征提取,得到与查询图像对应的至少一个第一特征信息,根据N个第二类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与查询图像对应的至少一个第二特征信息;处理模块,用于根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,以得到与查询图像对应的预测结果;训练模块,用于根据与查询图像对应的期望结果、预测结果和第一损失函数,对第一神经网络进行训练,直至满足预设条件,第一损失函数指示预测结果和期望结果之间的相似度。

本申请实施例的第五方面提供的神经网络的训练装置还可以执行第一方面的各个可能实现方式中训练设备执行的步骤,对于本申请实施例第五方面以及第五方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。

第六方面,本申请实施例提供了一种图像处理装置,可用于人工智能领域的图像处理领域中,装置包括:获取模块,用于获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度,N为大于或等于1的整数;生成模块,用于通过第一神经网络对待处理图像进行特征提取,得到与待处理图像对应的至少一个第一特征信息,根据N个第二类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与待处理图像对应的至少一个第二特征信息;处理模块,用于根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,以得到与待处理图像对应的预测结果。

本申请实施例的第六方面提供的图像处理装置还可以执行第二方面的各个可能实现方式中执行设备执行的步骤,对于本申请实施例第六方面以及第六方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第二方面中各种可能的实现方式中的描述,此处不再一一赘述。

第七方面,本申请实施例提供了一种神经网络的训练装置,可用于人工智能领域的图像处理领域中,装置包括:获取模块,用于获取训练图像集,训练图像集包括查询图像和N类支撑图像,N为大于或等于1的整数,N类支撑图像和查询图像与元学习的训练方式对应;获取模块,还用于获取与N类支撑图像对应的N个第一类别信息,并根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,其中,一个第一类别信息指示一类支撑图像的更新前的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息;生成模块,用于通过第二神经网络对查询图像进行特征提取,得到与查询图像对应的第一特征信息,计算第三相似度信息,第三相似度信息指示第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度;处理模块,用于根据第三相似度信息,通过第二神经网络生成第一指示信息,第一指示信息用于指示与查询图像对应的预测类别;训练模块,用于根据与查询图像对应的第二指示信息、第一指示信息和第二损失函数,对第二神经网络进行训练,直至满足预设条件,第二指示信息用于指示与查询图像对应的正确类别,第二损失函数指示第一指示信息和第二指示信息之间的相似度。

本申请实施例的第七方面提供的神经网络的训练装置还可以执行第三方面的各个可能实现方式中训练设备执行的步骤,对于本申请实施例第七方面以及第七方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第三方面中各种可能的实现方式中的描述,此处不再一一赘述。

第八方面,本申请实施例提供了一种图像处理装置,可用于人工智能领域的图像处理领域中,装置包括:获取模块,用于获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度,N为大于或等于1的整数;生成模块,用于通过第二神经网络对待处理图像进行特征提取,得到与待处理图像对应的第一特征信息,计算第三相似度信息,第三相似度信息指示第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度;处理模块,用于根据第三相似度信息,通过第二神经网络生成第一指示信息,第一指示信息用于指示与待处理图像对应的预测类别。

本申请实施例的第八方面提供的图像处理装置还可以执行第四方面的各个可能实现方式中执行设备执行的步骤,对于本申请实施例第八方面以及第八方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第四方面中各种可能的实现方式中的描述,此处不再一一赘述。

第九方面,本申请实施例提供了一种训练设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第一方面或第三方面所述的神经网络的训练方法。

第十方面,本申请实施例提供了一种执行设备,可以包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现上述第二方面或第四方面所述的图像处理方法。

第十一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述程序在计算机上运行时,使得计算机执行上述第一方面或第三方面所述的神经网络的训练方法,或者,使得计算机执行上述第二方面或第四方面所述的图像处理方法。

第十二方面,本申请实施例提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第一方面或第三方面所述的神经网络的训练方法,或者,所述处理电路配置为执行上述第二方面或第四方面所述的图像处理方法。

第十三方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第三方面所述的神经网络的训练方法,或者,使得计算机执行上述第二方面或第四方面所述的图像处理方法。

第十四方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各个方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

附图说明

图1为本申请实施例提供的人工智能主体框架的一种结构示意图;

图2为本申请实施例提供的图像处理系统的一种系统架构图;

图3为本申请实施例提供的神经网络的训练方法的一种流程示意图;

图4为本申请实施例提供的神经网络的训练方法中生成第二类别信息的一种示意图;

图5为本申请实施例提供的神经网络的训练方法中生成第二特征信息的一种示意图;

图6为本申请实施例提供的神经网络的训练方法中生成第一预测结果的一种流程示意图;

图7为本申请实施例提供的神经网络的训练方法中生成第一预测结果的一种流程示意图;

图8为本申请实施例提供的图像处理方法的一种流程示意图;

图9为本申请实施例提供的神经网络的训练方法的另一种流程示意图;

图10为本申请实施例提供的图像处理方法的另一种流程示意图;

图11为本申请实施例提供的神经网络的训练方法的另一种流程示意图;

图12为本申请实施例提供的图像处理方法的另一种流程示意图;

图13为本申请实施例提供的神经网络的训练装置的一种结构示意图;

图14为本申请实施例提供的神经网络的训练装置的另一种结构示意图;

图15为本申请实施例提供的图像处理装置的一种结构示意图;

图16为本申请实施例提供的图像处理装置的另一种结构示意图;

图17为本申请实施例提供的神经网络的训练装置的又一种结构示意图;

图18为本申请实施例提供的神经网络的训练装置的再一种结构示意图;

图19为本申请实施例提供的图像处理装置的又一种结构示意图;

图20为本申请实施例提供的执行设备的一种结构示意图;

图21为本申请实施例提供的训练设备的一种结构示意图;

图22为本申请实施例提供的芯片的一种结构示意图。

具体实施方式

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。

下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。

(1)基础设施

基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,该智能芯片具体可以采用中央处理器(central processing unit,CPU)、嵌入式神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processing unit,GPU)、专用集成电路(application specific integrated circuit,ASIC)或现场可编程门阵列(fieldprogrammable gate array,FPGA)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。

(2)数据

基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。

(3)数据处理

数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。

其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。

推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。

决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。

(4)通用能力

对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。

(5)智能产品及行业应用

智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、智慧城市等。

本申请可以应用于人工智能领域的图像处理领域中,进一步地,可以应用于采用小样本的方式进行训练以得到用于图像处理的神经网络的应用场景中;其中,采用小样本的方式进行训练包括基于元学习(meta-learning)的训练方法、二阶段微调的训练方法或其他类型的小样本训练方法等;需要说明的是,二阶段微调的训练方法是可以兼容元学习(meta-learning)的训练方法的,在二阶段微调的两个阶段中,每个阶段均可以采用元学习的训练方法进行训练。前述神经网络的功能具体可以为对图像进行物体检测、图像分类或其他功能等,此处不做穷举。

作为示例,例如在智能制造领域中,训练后的神经网络可以应用于在远端对工厂中设备进行故障检测的场景中。在前述应用场景中,维护人员在远程获取到工厂中设备的图像,根据前述图像通过神经网络设备中的各个模块进行检测,以检测出设备中关键模块的位置,进而对设备进行故障定位。但由于在对前述神经网络进行训练时,只能获取到新出厂设备的各个设备模块在实验室环境中的少量带标签的训练图像,缺乏新出厂设备的各个设备模块在实际工厂环境中的大量带标签的训练图像;则需要采用小样本的方式对用于对设备中的各个模块进行检测的神经网络进行训练。

作为另一示例,例如在智能驾驶领域中,智能驾驶对物体检测算法的性能要求很高,而一些不常见的(也可以称为Out of Distribution)情形会降低检测算法的稳定性,使得智能驾驶技术难以商用落地。作为示例,例如立交桥下的一个小站牌被误检测为行人,导致车辆突然刹车;再例如绿化带遮挡了部分行人的身体,所以没有检测路边的行人等都属于不常见场景。由于前述场景不常见,则只能获取到这些不常见场景的少量标注数据,因此智能采用采用小样本的方式对用于对驾驶环境中的物体进行检测的神经网络进行训练。

应理解,上述举例仅为方便理解本方案,不用于限定本方案。在前述种种场景中,由于小样本学习是采用少量的带标签的训练图像对神经网络进行训练,训练后的神经网络的特征提取能力容易过拟合到少量的带标签的训练图像,而不能够正确的提取到整个类别的特征信息,进而会导致影响整个神经网络输出的预测结果的精度。作为示例,例如在训练阶段,绿化带遮挡了部分行人的身体这一驾驶场景所对应的训练图像中,行人均穿的为红色的衣服,则训练后的神经网络容易过拟合导致学习到“行人会穿红色的衣服”这一特征,而“行人会穿红色的衣服”并不是“人类”这一类别的特征,因此会导致影响训练后的神经网络输出的预测结果的精度。

为了解决上述问题,本申请实施例提供了一种神经网络的训练方法,在对本申请实施例提供的神经网络的训练方法进行详细介绍之前,先结合图2对本申请实施例提供的图像处理系统进行介绍。请先参阅图2,图2为本申请实施例提供的图像处理系统的一种系统架构图,在图2中,神经网络的训练系统200包括执行设备210、训练设备220、数据库230和数据存储系统240,执行设备210包括计算模块211。

其中,数据库230中存储有训练图像集,训练设备220生成目标模型/规则201,并利用数据库230中的训练图像集对目标模型/规则201进行迭代训练,得到成熟的目标模型/规则201。进一步地,目标模型/规则201具体可以采用神经网络或非神经网络类型的模型来实现,本申请实施例中仅以目标模型/规则201具体采用神经网络为例进行说明。

具体的,在每次训练过程中,训练设备220可以获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度,N为大于或等于1的整数。训练设备220通过目标模型/规则201对训练图像进行特征提取,得到与训练图像对应的第一特征信息,进而根据N个第二类别信息和第一特征信息进行更新,以得到与训练图像对应的第二特征信息,根据第二特征信息,通过目标模型/规则201执行特征处理操作,以得到与训练图像对应的预测结果。由于N类中目标类别的支撑图像数量较少,则与目标类别对应的第一类别信息无法正确反映整个目标类别的图像的实际特征,在与目标类别对应的第一类别信息中引入了与其他类别对应的类别信息后,能够减少与目标类别对应的第一类别信息与整个目标类别的图像的实际特征信息之间的偏差,第二特征信息是基于第二类别信息得到的,所以会降低第二特征信息过拟合于少量训练图像的概率,从而提高整个神经网络输出的预测结果的精度。

训练设备220得到的成熟的目标模型/规则201后,会将目标模型/规则201部署至执行设备210中,执行设备210的计算模块211可以通过目标模型/规则201进行图像处理。执行设备210具体可以表现为不同的系统或设备中,例如手机、平板、笔记本电脑、VR设备、监控系统、雷达的数据处理系统等等。

其中,执行设备210可以调用数据存储系统240中的数据、代码等,也可以将数据、指令等存入数据存储系统240中。数据存储系统240可以置于执行设备210中,也可以为数据存储系统240相对执行设备210是外部存储器。

本申请的一些实施例中,请参阅图2,“用户”可以直接与执行设备210交互,也即执行设备210可以直接将目标模型/规则201输出的预测图像展示给“用户”,值得注意的,图2仅是本发明实施例提供的图像处理系统的一种架构示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在本申请的另一些实施例中,执行设备210和客户设备也可以为分别独立的设备,执行设备210配置有输入/输出(in/out,I/O)接口,执行设备210通过I/O接口与客户设备进行数据交互。

结合上述描述,训练设备220训练的神经网络可以用于进行物体检测,也可以用于图像分类,前述两种应用场景所对应的实现流程有所不同,下面对神经网络可以用于进行物体检测,和,神经网络用于图像分类这两种场景分别进行描述。

一、神经网络用于对图像进行物体检测

本申请的一些实施例中,神经网络用于对图像进行物体检测,下面开始对本申请实施例提供的神经网络的训练阶段和推理阶段的具体实现流程进行描述。

(一)、训练阶段

本申请实施例中,训练阶段描述的是训练设备220如何利用数据库230中的图像数据集合生成成熟的神经网络的过程,具体的,请参阅图3,图3为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:

301、训练设备获取训练图像集,训练图像集包括N类支撑图像和查询图像。

本申请实施例中,训练设备上预先配置有第一神经网络的训练数据,第一神经网络的训练数据中包括多个图像,以及与每个图像对应的期望结果。由于第一神经网络的作用为对图像进行物体检测,则该期望结果用于指示与该图像对应的一个或多个检测框中每个检测框的正确位置,该期望结果还用于指示与前述每个检测框对应的正确类别。

训练设备在采用元学习的训练方式对第一神经网络执行一次训练操作之前,需要获取与一个元任务对应的训练图像集。具体的,训练设备可以根据与训练数据中每个图像对应的期望结果,从第一神经网络的训练数据中选取N类支撑(support)图像和至少一个查询(query)图像(也即选取到该训练图像集),并获取与训练图像集中每个图像对应的期望结果。其中,查询图像也可以称为测试图像,N为大于1的整数,例如N的取值可以为2、3或4等数值;N类支撑图像中每类支撑图像中包括一个或多个支撑图像,与每个支撑图像对应的期望结果用于指示一个检测框的位置,与每个支撑图像对应的期望结果还用于指示与该一个检测框对应的正确类别。

需要说明的是,虽然与第一神经网络的训练数据中与每个图像对应的期望结果指示一个或多个检测框的位置,但与每个支撑图像对应的期望结果中仅指示一个检测框的位置。作为示例,例如N类中包括猫、兔子、车和狗,训练数据的一个目标图像中同时存在“猫”和“兔子”两类物体,则与在训练数据中与目标图像对应的期望结果中指示两个检测框的位置,与两个检测框对应的正确类别分别为“猫”和“兔子”;训练设备将目标图像确定为类别为“兔子”的支撑图像,则训练设备只会从训练数据包括的与目标图像对应的期望结果中获取与类别“兔子”对应的检测框的位置,应理解,此处举例仅为方便理解本方案,不用于限定本方案。

302、训练设备获取与N类支撑图像对应的N个第一类别信息,第一类别信息指示一类支撑图像的更新前的特征信息。

本申请实施例中,训练设备在获取到N类支撑图像以及与每个支撑图像对应的期望结果之后,训练设备需要获取与N类支撑图像对应的N个第一类别信息,一个第一类别信息指示一类支撑图像的更新前的特征信息。

具体的,N类支撑图像中存在一个或多个目标类别的支撑图像,训练设备根据与每个目标类别的支撑图像对应的期望结果,通过神经网络对每个目标类别的支撑图像进行特征提取,得到每个目标类别的支撑图像的特征信息,进而根据一个或多个目标类别的支撑图像中每个目标类别的支撑图像的特征信息,得到与目标类别的支撑图像对应的一个第一类别信息。训练设备对N类支撑图像中每个类别的支撑图像均执行前述操作,从而得到与N类支撑图像对应的N个第一类别信息。

303、训练设备根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息。

本申请实施例中,训练设备在获取到与N类支撑图像对应的N个第一类别信息之后,可以计算第一相似度信息;在计算得到第一相似度信息之后,会根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息。

其中,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,第一相似度信息具体可以表现为矩阵、数组、索引、表格或其他类型的数据;进一步地,若第一相似度信息表现为N乘N的矩阵,矩阵中的每一行代表一个第一类别信息和N个第一类别信息中其他第一类别信息之间的相似度。一个第二类别信息指示一类支撑图像的更新后的特征信息。

具体的,针对两个第一类别信息之间的相似度的计算方式。在一种实现方式中,训练设备中可以预先配置有相似度计算函数,训练设备可以通过预先配置的相似度计算函数逐个计算N个第一类别信息中每两个第一类别信息之间的相似度,以生成第一相似度信息,该相似度计算函数包括但不限于余弦相似度、欧式距离、马氏距离、曼哈顿距离或其他用于计算相似度的函数等,此处不做穷举。

在另一种实现方式中,训练设备中可以预先配置有权重参数可调的神经网络,训练设备利用前述神经网络逐个计算N个第一类别信息中每两个第一类别信息之间的相似度,以生成第一相似度信息。

针对生成第二类别信息的过程。训练设备根据每个第一类别信息和第一相似度信息,通过当前特征更新网络中的生成模块对每个第一类别信息进行更新,以生成与N个类别的支撑图像对应的N个第二类别信息。

具体的,针对N个第一类别信息中的与目标类别对应的第一类别信息,目标类别是N个类别中的任一个类别。训练设备可以获取到目标类别所对应的第一类别信息和除目标类别之外其他每个类别所对应的第一类别信息与之间的相似度,并根据前述相似度确定除目标类别之外其他每个类别所对应的第一类别信息的权重;训练设备将与除目标类别之外其他每个类别对应的第一类别信息,与,该第一类别信息所对应的权重进行相乘处理;并将乘积结果与目标类别所对应的第一类别信息叠加,从而得到与目标类别对应的第二相似度信息。训练设备N个类别中每个类别所对应的第一类别信息均执行前述操作操作,得到与N个类别中每个类别对应的第二类别信息(也即更新后的类别信息)。

更具体的,训练设备可以直接将其他类别所对应的第一类别信息与目标类别所对应的第一类别信息之间的相似度作为上述权重,也可以对其他类别所对应的第一类别信息与目标类别所对应的第一类别信息之间的相似度做进一步处理后得到上述权重,前述进一步处理可以为归一化处理、与预设数值相乘或其他处理等等。

作为示例,例如N的取值为5,与N个类别对应的5个第一类别信息分别为第一类别信息1、第一类别信息2、第一类别信息3、第一类别信息4和第一类别信息5。其中,第一类别信息1与第一类别信息2的相似度为0.3,第一类别信息1与第一类别信息3的相似度为0.2,第一类别信息1与第一类别信息4的相似度为0.2,第一类别信息1与第一类别信息5的相似度为0.3,则将第一类别信息1的特征、第一类别信息2的特征乘0.3、第一类别信息3的特征乘0.2和第一类别信息4的特征乘0.2、第一类别信息5的特征乘0.3进行叠加可以得到第一类别信息1的更新后特征(也即与第一类别信息1对应的第二类别信息),对第一类别信息2至第一类别信息5重复执行前述操作,从而可以得到训练第一类别信息集合中每个第一类别信息的更新后特征,应理解,前述举例仅为方便理解本方案。

为进一步理解本方案,以下公开了生成一个第二类别信息的公式的一个示例:

g

其中,g

为更直观地理解本方案,请参阅图4,图4为本申请实施例提供的神经网络的训练方法中生成第二类别信息的一种示意图。图4中以N的取值为5为例,与5个类别对应的5个第一类别信息分别为第一类别信息1、第一类别信息2、第一类别信息3、第一类别信息4和第一类别信息5。如图4所示,训练设备利用相似度计算函数分别计算5个第一类别信息中任意两个第一类别信息之间的相似度,图4中以计算第一类别信息1至第一类别信息4中每个第一类别信息与第一类别信息5之间的相似度为例,得到的四个相似度得分为0.3、0.2、0.2和0.3。训练设备将第一类别信息1至第一类别信息4中每个第一类别信息与第一类别信息5之间的相似度作为它们的权重,采用加权求和的方式,将第一类别信息1至第一类别信息4叠加至第一类别信息5中,以得到第二类别信息5。训练设备对第一类别信息1至第一类别信息4均执行前述操作,则分别得到第二类别信息1至第二类别信息4,应理解,图4中的示例仅为方便理解本方案,不用于限定本方案。

304、训练设备通过第一神经网络对查询图像进行特征提取,得到与查询图像对应的第一特征信息。

本申请实施例中,训练设备将查询图像输入至第一神经网络中,以通过第一神经网络中的特征提取网络对查询图像进行特征提取,得到与查询图像对应的一个或多个特征图;其中,第一神经网络中的特征提取网络包括M个特征通道,则通过第一神经网络中的特征提取网络生成与M个特征通道一一对应的M个特征图,M的取值为大于或等于1的整数;每个特征图具体可以表现为一个矩阵,则与查询图像对应的一个或多个特征图可以表现为一个矩阵,也可以表现为一个三维的张量。进一步地,第一神经网络中的特征提取网络可以采用卷积神经网络,作为示例,例如可以采用残差神经网络ResNet-101、残差神经网络ResNet-50、卷积神经网络VGG或其他神经网络等。

训练设备通过第一神经网络中的区域提取网络(region proposal network,RPN)对上述特征图进行处理,得到与查询图像对应的C个候选框,前述候选框也可以称为待选区域、感兴趣区域(region of interest,ROI)或其他名称等。训练设备通过第一神经网络,根据该C个候选框对与查询图像对应的特征图进行截取,进而得到与C个候选框一一对应的C个第一特征信息。其中,C个第一特征信息中每个第一特征信息均包括与M个特征通道对应的特征信息,每个第一特征信息具体可以表现为一个包括M个元素的向量,前述M个元素与M个特征通道一一对应。

305、训练设备根据第二类别信息,通过第一神经网络对第一特征信息进行更新,以得到与查询图像对应的第二特征信息。

本申请实施例中,训练设备在得到N个第二类别信息和C个第一特征信息之后,可以利用N个第二类别信息对每个第一特征信息进行更新,以得到与查询图像对应的C乘N个第二特征信息。

具体的,针对C个第一特征信息中的目标第一特征信息和N个第二类别信息中的目标第二类别信息,目标第一特征信息为C个第一特征信息中的任一个第一特征信息,目标第二类别信息为N个第二类别信息中的任一个第二类别信息。在一种实现方式中,训练设备计算目标第二类别信息和目标第一特征信息之间的第二相似度信息,根据第二相似度信息,对目标第一特征信息进行更新,得到与目标第一特征信息对应的一个第二特征信息。

需要说明的是,目标第一特征信息与N个第二类别信息中每个第二类别信息均执行前述操作,则可以得到与目标第一特征信息对应的N个第二类别信息。由于C个第一特征信息中每个第一特征信息均需要执行训练设备对目标第一特征信息执行的操作,则训练设备可以生成与每个第一特征信息对应的N个第二类别信息,从而共得到与查询图像对应的C乘N个第二特征信息。

本申请实施例中,计算每个第二类别信息和第一特征信息之间的第二相似度信息,也即先计算第二类别信息和第一特征信息之间的关联性,并基于两者之间的关联性对第一特征信息进行更新,由于N类支撑图像对应有N个第二类别信息,但对于一个特定的第一特征信息而言,N个第二类别信息中只有一个第二类别信息与该特定的第一特征信息相似度最高,相似度最高的第二类别信息最应该被用来更新第一特征信息,因此,基于第二相似度信息执行更新操作的方式,提高了生成第二特征信息过程的精细度,有利于得到更能准确反映整个类别的特征的第二特征信息,进而有利于提高整个神经网络的输出结果的精度。

进一步地,在一种情况中,第一类别信息是通过第一神经网络中的特征提取网络得到的,N个第一类别信息中每个第一类别信息均包括与M个特征通道对应的特征信息,则每个第二类别信息也均包括与M个特征通道对应的特征信息,第二类别信息具体可以表现为包括M个元素的向量,前述M个元素与M个特征通道一一对应。第二相似度信息用于指示目标第二类别信息和目标第一特征信息在M个特征通道中各个特征通道之间的相似度,也即第二相似度信息用于指示目标第二类别信息和目标第一特征信息在特征通道层级的相似度。

本申请实施例中,由于N类支撑图像对应有N个第二类别信息,但对于一个特定的第一特征信息的一个特定的通道而言,N个第二类别信息中只有第二类别信息的特定通道与该特定的第一特征信息的特定通道相似度最高,相似度最高的第二类别信息的特定通道最应该被用来更新第一特征信息的特定通道。因此,基于通道特征相似度执行更新操作的方式,进一步提高了生成第二特征信息精确度,有利于得到更准确反映整个类别的特征的第二类别信息,进而有利于提高整个神经网络的输出结果的精度。

更具体的,针对本情况中第二相似度信息的计算方式,在一种实现方式中,训练设备对目标第二类别信息和目标第一特征信息均进行归一化处理,将进行归一化处理的目标第二类别信息和进行过归一化处理的目标第一特征信息相乘,以得到目标第二类别信息和目标第一特征信息在M个特征通道中各个特征通道之间的相似度(也即该第二相似度信息)。

在另一种实现方式中,训练设备对目标第二类别信息和目标第一特征信息进行归一化处理,将进行归一化处理的目标第二类别信息和进行过归一化处理的目标第一特征信息相减,然后再进行归一化处理,以得到目标第二类别信息和目标第一特征信息在M个特征通道中各个特征通道之间的相似度(也即该第二相似度信息)。

在另一种实现方式中,训练设备对目标第二类别信息和目标第一特征信息进行归一化处理,将进行归一化处理的目标第二类别信息和进行过归一化处理的目标第一特征信息相拼接,输入全连接网络,以得到该全连接网络生成的该第二相似度信息。

在另一种情况中,第二相似度信息指示第二类别信息和第一特征信息在整个信息层级的相似度。则训练设备直接对目标第二类别信息和目标第一特征信息进行相似度计算,得到第二相似度信息。本申请实施例中,计算整个信息层级的第二相似度信息,并基于整个信息层级的相似度更新目标第一特征信息,由于第二相似度信息融合整个信息层级的特征,可以更准确地衡量第二类别信息和第一特征信息的相似性,进而选择更合适的第二类别信息更新第一特征信息,提高了生成的第二特征信息精确度;此外,提供了计算第二类别信息和第一特征信息之间相似度信息的另一种实现方式,提高了本方案的实现灵活性。

进一步地,在一种实现方式中,训练设备可以根据预先配置的相似度计算函数,对目标第二类别信息和目标第一特征信息进行相似度计算,得到目标第二类别信息和目标第一特征信息之间的第二相似度信息,该相似度计算函数包括但不限于余弦相似度、欧式距离、马氏距离、曼哈顿距离或其他用于计算相似度的函数等,此处不做穷举。

在另一种实现方式中,训练设备利用神经网络计算目标第二类别信息和目标第一特征信息之间的相似度,以生成目标第二类别信息和目标第一特征信息之间的第二相似度信息。

针对根据第二相似度信息和第一特征信息生成第二特征信息的过程。在一种实现方式中,训练设备在得到目标第二类别信息和目标第一特征信息之间的第二相似度信息之后,可以直接将前述第二相似度信息与目标第一特征信息相乘,以得到与目标第一特征信息对应的一个第二特征信息。

在另一种实现方式中,训练设备也可以根据目标第二类别信息和目标第一特征信息之间的第二相似度信息,确定目标第二类别信息的权重,将目标第二类别信息和目标第一特征信息进行加权求和,以得到与目标第一特征信息对应的一个第二特征信息。训练设备也可以采用其他方式计算与目标第一特征信息对应的一个第二特征信息,此处不做穷举。

为了进一步地理解本方案,如下公开了生成第二特征信息的公式的一个示例:

其中,r

为更直观地理解本方案,请参阅图5,图5为本申请实施例提供的神经网络的训练方法中生成第二特征信息的一种示意图。其中,A1代表N个第二类别信息中任意一个第二类别信息,A2代表C个第一特征信息中的任意一个第一特征信息,A3代表C乘N个第二特征信息中的一个第二特征信息。如图5所示,训练设备通过sigmoid函数分别对A1和A2进行归一化处理,并将进行过归一化处理的A1和进行过归一化处理的A2相乘,得到A1与A2之间的第二相似度信息,将A1与A2之间的第二相似度信息与A2相乘,从而得到与A2对应的一个第二特征信息(也即图5中的A3)。应理解,图5中的示例仅为方便理解本方案,不用于限定本方案。

在另一种实现方式中,训练设备在得到C个第一特征信息和N个第二类别信息后,针对目标第一特征信息和目标第二类别信息,训练设备也可以不计算目标第一特征信息和目标第二类别信息之间的第二相似度信息,而是直接将目标第一特征信息和目标第二类别信息进行拼接,以完成利用目标第二类别信息对目标第一特征信息的更新,得到与目标第一特征信息对应的一个第二特征信息。

在另一种实现方式中,训练设备还可以将目标第一特征信息和目标第二类别信息进行加权求和,以得到与目标第一特征信息对应的一个第二特征信息。训练设备还可以采用其他方式以完成利用目标第二类别信息对目标第一特征信息的更新,此处不做穷举。

306、训练设备根据第一类别信息,通过第一神经网络对第一特征信息进行更新,以得到与查询图像对应的第三特征信息。

本申请的一些实施例中,训练设备在获取到C个第一特征信息之后,还可以根据N个第一类别信息,通过第一神经网络对C个第一特征信息中每个第一特征信息进行更新,以得到与查询图像对应的C乘N个第三特征信息。步骤306的具体实现方式与步骤305的具体实现方式类似,区别在于将步骤305中的第二类别信息替换为步骤306中的第一类别信息,且通过步骤305得到的是C乘N个第二特征信息,通过步骤306得到的是C乘N个第三特征信息,具体实现方式可参阅步骤305中的描述,此处不做赘述。

为进一步理解本方案,如下公开了生成第三特征信息的公式的一个示例:

其中,r

需要说明的是,本申请实施例不限定步骤306和步骤305之间的执行顺序,可以先执行步骤305,再执行步骤306;也可以先执行步骤306,再执行步骤305。

307、训练设备通过第一神经网络对第三特征信息和第二特征信息执行融合操作,以得到与查询图像对应的更新后的第二特征信息。

本申请的一些实施例中,训练设备在获取到C乘N个第二特征信息和C乘N个第三特征信息之后,由于N个第一类别信息和N个第二类别信息之间是一一对应关系,则C乘N个第二特征信息和C乘N个第三特征信息也是一一对应的关系,则可以通过第一神经网络根据C乘N个第二特征信息和C乘N个第三特征信息之间的对应关系,对第三特征信息和第二特征信息执行融合操作,以得到与查询图像对应的更新后的C乘N个更新后的第二特征信息。其中,上述融合操作包括但不限于拼接、相加、相减或其他融合方式,此处不做穷举。

308、训练设备根据第二特征信息,通过第一神经网络执行物体检测操作,以得到与查询图像对应的第一预测结果,第一预测结果指示查询图像中至少一个检测框的预测位置和与每个检测框对应的预测类别。

本申请的一些实施例中,步骤306和307为可选步骤,若执行步骤306和307,则步骤308可以包括:训练设备根据通过步骤307生成的C乘N个更新后的第二特征信息,通过第一神经网络中的特征处理网络执行物体检测操作,以得到与查询图像对应的第一预测结果(也即整个第一神经网络输出的第一预测结果),第一预测结果指示查询图像中至少一个检测框的预测位置和与每个检测框对应的预测类别。其中,第一神经网络中的特征处理网络具体可以通过区域卷积神经网络(region covolutional neural network,RCNN)、快速区域卷积神经网络(Fast RCNN)或其他神经网络来实现。

为更直观地理解本方案,请参阅图6,图6为本申请实施例提供的神经网络的训练方法中生成第一预测结果的一种流程示意图。如图6所示,训练设备获取到N类支撑图像和一个查询图像。B1、训练设备获取与N类支撑图像对应的N个第一类别信息;B2、训练设备根据N个第一类别信息,计算第一相似度信息,第一相似度信息指示N个第一类别信息中任意两个第一类别信息之间的相似度;B3、训练设备根据第一相似度信息和N个第一类别信息,生成N个第二类别信息;B4、训练设备通过第一神经网络对查询图像进行特征提取,得到与查询图像对应的C个第一特征信息;B5、训练设备通过第一神经网络,根据N个第二类别信息对每个第一特征信息进行更新,以得到与查询图像对应的N乘C个第二特征信息;B6、训练设备通过第一神经网络,根据N个第一类别信息对每个第一特征信息进行更新,以得到与查询图像对应的N乘C个第三特征信息;B7、训练设备通过第一神经网络,对N乘C个第二特征信息和N乘C个第三特征信息执行融合操作,以得到N乘C个更新后的第二特征信息;B8、训练设备通过第一神经网络,根据N乘C个更新后的第二特征信息,输出与查询图像对应的第一预测结果,第一预测结果指示与查询图像对应的至少一个检测框,以及每个检测框的预测类别,应理解,图6中的示例仅为方便理解本方案,不用于限定本方案。

本申请实施例中,不仅根据第二类别信息对第一特征信息进行更新以得到第二特征信息,还会根据第一类别信息对第一特征信息进行更新以得到第三特征信息,进而将第三特征信息与第二特征信息进行融合,以得到更新后的第二特征信息,并对更新后的第二特征信息进行特征处理;由于第二特征信息是基于第二类别信息得到的,也即为避免训练后的神经网络过拟合,第二特征信息中会包括其他类别的信息,而第三特征信息尽量保证单一类别的信息,也即第二特征信息与第三特征信息之间具有互补性,则训练后的神经网络可以综合更丰富的信息来执行特征处理操作,以提高神经网络输出的预测结果的精度。

若不执行步骤306和307,则步骤308可以包括:训练设备根据通过步骤305生成的C乘N个第二特征信息,通过第一神经网络中的特征处理网络执行物体检测操作,以得到与查询图像对应的第一预测结果(也即整个第一神经网络输出的第一预测结果)。

为更直观地理解本方案,请参阅图7,图7为本申请实施例提供的神经网络的训练方法中生成第一预测结果的一种流程示意图。图7中以N的取值为3为例,3类支撑图像分别为类别为狗、猫和车的支撑图像,训练设备通过第一神经网络的特征提取网络分别对3类支撑图像进行特征提取,以得到与3类支撑图像对应的3个第一类别信息,一个第一类别信息代表一类图像的特征。图7中仅以生成“狗”这一类别所对应的第二类别信息的生成过程,训练设备对“狗”这一类别所对应的第一类别信息与“猫”这一类别所对应的第一类别信息进行相似度计算,得到相似度1;对“狗”这一类别所对应的第一类别信息与“车”这一类别所对应的第一类别信息进行相似度计算,得到相似度2。训练设备将“猫”这一类别所对应的第一类别信息与相似度1相乘得到乘积结果1,将“车”这一类别所对应的第一类别信息与相似度2相乘得到乘积结果2,并对“狗”这一类别所对应的第一类别信息、乘积结果1和乘积结果2进行求和,得到狗”这一类别所对应的第二类别信息;训练设备重复执行前述操作,能够得到“猫”这一类别所对应的第二类别信息和“车”这一类别所对应的第二类别信息。

训练设备还会通过第一神经网络的特征提取网络对查询图像进行特征提取,以生成与查询图像对应的C个第一特征信息,图7中以C的取值为3为例。训练设备在得到与3个类别对应的3个第二类别信息以及3个第一特征信息后,会根据3个第二类别信息,更新每个第一特征信息,以得到9(也即3乘3)个第二特征信息,对于图7中“根据第二类别信息更新第一特征信息”的具体实现方式的描述可参阅上述对图5的描述,此处不做赘述。训练设备根据9个第二特征信息,通过第一神经网络的特征处理网络,生成与查询图像对应的第一预测结果,如图7所示,第一预测结果指示与查询图像对应的一个检测框的预测位置,以及与该检测框对应的预测类别(也即图7中的“狗”),应理解,图7中的示例仅为方便理解本方案,不用于限定本方案。

309、训练设备根据与查询图像对应的第一期望结果、第一预测结果和第一损失函数,对第一神经网络进行训练,直至满足预设条件,第一损失函数指示第一预测结果和第一期望结果之间的相似度。

本申请实施例中,训练设备会根据与查询图像对应的第一期望结果和第一预测结果,计算第一损失函数的函数值,并根据第一损失函数的函数值,对第一神经网络进行训练。具体的,训练设备可以根据第一损失函数的函数值,通过反向传播的方式对第一神经网络的权重参数进行梯度更新,以完成对图神经网络的一次训练。训练设备可以重复执行步骤301至309多次,以实现对第一神经网络的迭代训练。

其中,第一期望结果指示与查询图像对应的至少一个检测框的正确位置,以及每个检测框所对应的正确类别。第一损失函数指示第一预测结果和第一期望结果之间的相似度。训练设备的训练目标为拉近第一预测结果和第一期望结果之间的相似度。预设条件可以为第一损失函数的函数值大于或小于预设阈值,或者,迭代训练的次数大于预设次数。

(二)、推理阶段

本申请实施例中,具体的,请参阅图8,图8为本申请实施例提供的图像处理方法的一种流程示意图,本申请实施例提供的图像处理方法可以包括:

801、执行设备获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,N个第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度。

本申请实施例中,在一种情况下,执行设备采用图3对应实施例中步骤301至303的方式生成N个第二类别信息,也即执行设备中也会根据N类带标签的支撑图像来生成N个第二类别信息,前述N类带标签的支撑图像可以为训练设备发送给执行设备的,也可为执行设备运行过程中自行获取到的。

在另一种情况下,训练设备根据第一神经网络的训练数据中包括的N类支撑图像,计算得到N个第二类别信息,并向执行设备发送N个第二类别信息;对应的,执行设备接收该N个第二类别信息。

802、执行设备通过第一神经网络对待处理图像进行特征提取,得到与待处理图像对应的第一特征信息。

803、执行设备根据第二类别信息,通过第一神经网络对第一特征信息进行更新,以得到与待处理图像对应的第二特征信息。

804、执行设备根据第一类别信息,通过第一神经网络对第一特征信息进行更新,以得到与待处理图像对应的第三特征信息。

805、执行设备通过第一神经网络对第三特征信息和第二特征信息执行融合操作,以得到与待处理图像对应的更新后的第二特征信息。

806、执行设备根据第二特征信息,通过第一神经网络执行物体检测操作,以得到与待处理图像对应的第一预测结果,第一预测结果指示待处理图像中至少一个检测框的预测位置和与每个检测框对应的预测类别。

本申请实施例中,执行设备执行步骤802至806的具体实现方式与图3对应实施例中步骤304至308的实现方式类似,区别在于将图3对应实施例中步骤304至308中的查询图像,替换为步骤802至806中的待处理图像。

二、神经网络用于图像分类

本申请的一些实施例中,神经网络用于图像分类,下面开始对本申请实施例提供的神经网络的训练阶段和推理阶段的具体实现流程进行描述。

(一)、训练阶段

本申请的一些实施例中,具体的,请参阅图9,图9为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:

901、训练设备获取训练图像集,训练图像集包括N类支撑图像和查询图像。

902、训练设备获取与N类支撑图像对应的N个第一类别信息,第一类别信息指示一类支撑图像的更新前的特征信息。

903、训练设备根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息。

本申请实施例中,训练设备执行步骤901至903的具体实现方式与图3对应实施例中训练设备执行步骤301至303的具体实现方式类似,可参阅上述描述理解。训练设备上也会预先配置有第一神经网络的训练数据,第一神经网络的训练数据中包括多个图像,以及与每个图像对应的期望结果。区别在于,由于第一神经网络的作用为进行图像分类,则本应用场景中与支撑图像对应的期望结果用于指示整个支撑图像的正确类别。

904、训练设备通过第一神经网络对查询图像进行特征提取,得到与查询图像对应的第一特征信息。

905、训练设备根据第二类别信息,通过第一神经网络对第一特征信息进行更新,以得到与查询图像对应的第二特征信息。

906、训练设备根据第一类别信息,通过第一神经网络对第一特征信息进行更新,以得到与查询图像对应的第三特征信息。

907、训练设备通过第一神经网络对第三特征信息和第二特征信息执行融合操作,以得到与查询图像对应的更新后的第二特征信息。

本申请实施例中,训练设备执行步骤904至907的具体实现方式与图3对应实施例中训练设备执行步骤304至307的具体实现方式类似,可参阅上述描述理解。区别在于,步骤904中,训练设备通过第一神经网络对查询图像进行特征提取,得到与整个查询图像对应的一个第一特征信息,该一个第一特征信息用于指示整个查询图像的特征。

对应的,在步骤905中,训练设备根据第二类别信息,通过第一神经网络对第一特征信息进行更新,以得到与查询图像对应的N个第二特征信息。在步骤906中,训练设备根据第一类别信息,通过第一神经网络对第一特征信息进行更新,以得到与查询图像对应的N个第三特征信息。

908、训练设备根据第二特征信息,通过第一神经网络执行分类操作,以得到与查询图像对应的第二预测结果,第二预测结果指示查询图像的预测类别。

909、训练设备根据与查询图像对应的第二期望结果、第二预测结果和第一损失函数,对第一神经网络进行训练,直至满足预设条件,第一损失函数指示第二预测结果和第二期望结果之间的相似度。

本申请实施例中,训练设备执行步骤908和909的具体实现方式与图3对应实施例中训练设备执行步骤308和309的具体实现方式类似,可参阅上述描述理解。区别在于,步骤908和909中,训练设备通过第一神经网络执行的是分类操作,第二预测结果指示的是整个查询图像的预测类别,第二期望结果指示的是整个查询图像的正确类别。

本申请实施例中,第一神经网络不仅可以为用于进行物体检测的神经网络,还可以为用于图像分类的神经网络,扩展了本方案的应用场景,提高了本方案的实现灵活性。

(二)、推理阶段

本申请的一些实施例中,具体的,请参阅图10,图10为本申请实施例提供的图像处理方法的一种流程示意图,本申请实施例提供的图像处理方法可以包括:

1001、执行设备获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,N个第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度。

本申请实施例中,在一种情况下,执行设备采用图8对应实施例中步骤801至803的方式生成N个第二类别信息,也即执行设备中也会根据N类带标签的支撑图像来生成N个第二类别信息,前述N类带标签的支撑图像可以为训练设备发送给执行设备的,也可为执行设备运行过程中自行获取到的。

在另一种情况下,训练设备根据第一神经网络的训练数据中包括的N类支撑图像,计算得到N个第二类别信息,并向执行设备发送N个第二类别信息;对应的,执行设备接收该N个第二类别信息。

1002、执行设备通过第一神经网络对待处理图像进行特征提取,得到与待处理图像对应的第一特征信息。

1003、执行设备根据第二类别信息,通过第一神经网络对第一特征信息进行更新,以得到与待处理图像对应的第二特征信息。

1004、执行设备根据第一类别信息,通过第一神经网络对第一特征信息进行更新,以得到与待处理图像对应的第三特征信息。

1005、执行设备通过第一神经网络对第三特征信息和第二特征信息执行融合操作,以得到与待处理图像对应的更新后的第二特征信息。

1006、执行设备根据第二特征信息,通过第一神经网络执行分类操作,以得到与查询图像对应的第二预测结果,第二预测结果指示查询图像的预测类别。

本申请实施例中,执行设备执行步骤1002至1006的具体实现方式与图9对应实施例中步骤904至908的实现方式类似,区别在于将图3对应实施例中步骤904至908中的查询图像,替换为步骤1002至1006中的待处理图像。

在上述种种实施例中,在获取到N个第二类别信息和一个第一特征信息后,都是利用N个第二类别信息对该第一特征信息进行更新,但在神经网络是用于图像分类的情况中,在获取到N个第二类别信息后,还可以直接计算该第一特征信息与每个第二类别信息之间的相似度,从而直接根据该第一特征信息与每个第二类别信息之间的相似度得到与图像对应的预测类别,而这种实现方式与上述各个实施例的具体实现流程也有所不同,下面分别对训练阶段和推理阶段的具体实现流程进行描述。

本申请实施例中,由于N类中目标类别(N类中任意一个类别)的支撑图像数量较少,则与目标类别的支撑图像对应的第一类别信息与整个目标类别的图像的实际特征信息之间有较大偏差,也即与目标类别对应的第一类别信息无法正确反映整个目标类别的图像的实际特征,在与目标类别对应的第一类别信息中引入了与其他类别对应的类别信息后,能够减少与目标类别对应的第一类别信息与整个目标类别的图像的实际特征信息之间的偏差,也即与目标类别对应的第二类别信息能够更为准确的反映整个目标类别的图像的实际特征,第二特征信息是基于第二类别信息得到的,所以会降低第二特征信息过拟合于少量训练图像的概率,也即有利于获取到能够正确反映整个类别的特征信息,从而提高整个神经网络输出的预测结果的精度。此外,本申请实施例不仅提供了第一神经网络的训练阶段的具体实现方案,还提供了推理阶段的具体实现方案,提高了本方案的完整性。

(一)、训练阶段

本申请实施例中,具体的,请参阅图11,图11为本申请实施例提供的神经网络的训练方法的一种流程示意图,本申请实施例提供的神经网络的训练方法可以包括:

1101、训练设备获取训练图像集,训练图像集包括N类支撑图像和查询图像。

1102、训练设备获取与N类支撑图像对应的N个第一类别信息,第一类别信息指示一类支撑图像的更新前的特征信息。

1103、训练设备根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息。

1104、训练设备通过第二神经网络对查询图像进行特征提取,得到与查询图像对应的第一特征信息。

本申请实施例中,训练设备执行步骤1101至1104的具体实现方式与图9对应实施例中训练设备执行步骤901至904的具体实现方式类似,可参阅上述描述理解。步骤1101至1104中的第二神经网络与步骤901至904中的第一神经网络的含义类似,均为用于进行图像分类的神经网络,由于在图3对应的实施例中,第一神经网络还可以解释为用于进行物体检测的神经网络,所以本申请实施例中利用第一神经网络和第二神经网络进行区分。

1105、训练设备计算第三相似度信息,第三相似度信息指示第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度。

本申请的一些实施例中,训练设备在得到N个第二类别信息和与查询图像对应的第一特征信息之后,可以计算第三相似度信息,第三相似度信息指示第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度,也可以称为第一特征信息与N个第二类别信息中每个第二类别信息之间的距离。

具体的,针对第三相似度信息的计算方式。在一种实现方式中,训练设备中可以预先配置有相似度计算函数,训练设备可以通过预先配置的相似度计算函数逐个计算第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度,以生成第三相似度信息,该相似度计算函数包括但不限于余弦相似度、欧式距离、马氏距离、曼哈顿距离或其他用于计算相似度的函数等,此处不做穷举。

在另一种实现方式中,训练设备中可以利用第二神经网络中的神经网络层逐个计算第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度,以生成第三相似度信息。

可选地,训练设备还可以利用N个第二类别信息对查询图像所对应的第一特征信息进行更新,以得到更新后的第一特征信息(也即图3对应实施例中的第二特征信息),则对应的,第三相似度信息指示更新后的第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度,训练设备利用N个第二类别信息对查询图像所对应的第一特征信息进行更新的具体实现方式可参阅图3对应实施例中的描述,此处不做赘述。

1106、训练设备根据第三相似度信息,通过第二神经网络生成第一指示信息,第一指示信息用于指示与查询图像对应的预测类别。

本申请的一些实施例中,训练设备在得到第三相似度信息后,可以根据第三相似度信息,通过第二神经网络生成第一指示信息。其中,第一特征信息与N个第二类别信息中哪个第二类别信息的相似度越高,则查询图像为该第二类别信息指向的类别的概率越大。第一指示信息用于指示与查询图像对应的预测类别;进一步地,第一指示信息可以包括N个概率值,分别指示与查询图像对应的预测类别为N个类别的概率。或者,第一指示信息为一个确定的类别。

1107、执行设备根据与查询图像对应的第二指示信息、第一指示信息和第二损失函数,对第二神经网络进行训练,直至满足预设条件,第二指示信息用于指示与查询图像对应的正确类别,第二损失函数指示第一指示信息和第二指示信息之间的相似度。

本申请实施例中,训练设备执行步骤1107的具体实现方式与图9对应实施例中训练设备执行步骤907的具体实现方式类似,可参阅上述描述理解。

本申请实施例中,由于采用的为小样本的训练方式,则N类中每个类别的支撑图像数量较少,则根据N类支撑图像得到的N个第一类别信息较难正确反应每个类别的信息;在与目标类别(N类中的任一类别)对应的第一类别信息中引入了与其他类别对应的类别信息后,能够减少与目标类别对应的第一类别信息与整个目标类别的图像的实际特征信息之间的偏差,也即与目标类别对应的第二类别信息能够更为准确的反映整个目标类别的图像的实际特征,也即相较于N个第一类别信息,N个第二类别信息能够更为准确的反应N个类别的图像的实际特征;由于查询图像的预测类别是通过计算查询图像的特征信息与N类图像所对应的N个类别信息之间的相似度得到的,所以随着N类图像所对应的N个类别信息的准确度的提高,神经网络的输出的查询图像的预测类别的精度也可以得到提高。

(二)、推理阶段

本申请实施例中,具体的,请参阅图12,图12为本申请实施例提供的图像的处理方法的一种流程示意图,本申请实施例提供的图像的处理方法可以包括:

1201、执行设备获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,N个第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度。

1202、执行设备通过第一神经网络对待处理图像进行特征提取,得到与待处理图像对应的第一特征信息。

本申请实施例中,训练设备执行步骤1201和1202的具体实现方式与图10对应实施例中训练设备执行步骤1101和1102的具体实现方式类似,可参阅上述描述理解。

1203、执行设备计算第三相似度信息,第三相似度信息指示第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度。

1204、执行设备根据第三相似度信息,通过第二神经网络生成第一指示信息,第一指示信息用于指示与待处理图像对应的预测类别。

本申请实施例中,执行设备执行步骤1203和1204的具体实现方式与图11对应实施例中执行设备执行步骤1105和1106的具体实现方式类似,可参阅上述描述理解。

为更直观地理解本申请实施例所带来的有益效果,以神经网络用于进行物体检测为例,利用数据集PASCAL VOC进行评测,以下结合表1来展示在数据集PASCAL VOC上的评测结果。

表1

其中,K代表每类支撑图像包括的图像数量,TFA(fc)代表二阶段微调的小样本训练方法,FA代表基于元学习的小样本训练方法,表1中以衡量指标是平均精度(meanaverage precision,MAP),这个指标越大说明神经网络的性能越好,参阅表1,在K取值为1、2、3和5这四种情况下,均为采用本申请实施例提供的训练方法得到的神经网络的性能最优。

在图1至图12所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图13,图13为本申请实施例提供的神经网络的训练装置的一种结构示意图,神经网络的训练装置1300包括:获取模块1301,用于获取训练图像集,训练图像集包括N类支撑图像和查询图像,N为大于1的整数;获取模块1301,还用于获取与N类支撑图像对应的N个第一类别信息,并根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,其中,一个第一类别信息指示一类支撑图像的更新前的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息;生成模块1302,用于通过第一神经网络对查询图像进行特征提取,得到与查询图像对应的至少一个第一特征信息,根据N个第二类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与查询图像对应的至少一个第二特征信息;处理模块1303,用于根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,以得到与查询图像对应的预测结果;训练模块1304,用于根据与查询图像对应的期望结果、预测结果和第一损失函数,对第一神经网络进行训练,直至满足预设条件,第一损失函数指示预测结果和期望结果之间的相似度。

在一种可能的设计中,请参阅图14,图14为本申请实施例提供的神经网络的训练装置的一种结构示意图,生成模块1302包括计算子模块13021和更新子模块13022,其中,计算子模块13021,用于根据N个第二类别信息和至少一个第一特征信息,计算第二相似度信息,第二相似度信息指示第二类别信息和第一特征信息之间的相似度;更新子模块13022,用于根据第二相似度信息,对第一特征信息进行更新,得到第二特征信息。

在一种可能的设计中,第一神经网络包括的特征提取网络中有M个特征通道,第二类别信息包括与M个特征通道对应的特征信息,第一特征信息包括与M个特征通道对应的特征信息,第二相似度信息用于指示第二类别信息和第一特征信息在M个特征通道中各个特征通道之间的相似度。

在一种可能的设计中,计算子模块13021,具体用于对第二类别信息和第一特征信息进行相似度计算,得到第二相似度信息,第二相似度信息指示第二类别信息和第一特征信息在整个信息层级的相似度。

在一种可能的设计中,请参阅图14,神经网络的训练装置1300还包括:更新模块1305,用于根据N个第一类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与查询图像对应的至少一个第三特征信息;融合模块1306,用于通过第一神经网络对至少一个第三特征信息和至少一个第二特征信息执行融合操作,以得到与查询图像对应的至少一个更新后的第二特征信息;处理模块1303,具体用于根据至少一个更新后的第二特征信息,通过第一神经网络执行特征处理操作。

在一种可能的设计中,处理模块1303,具体用于:根据至少一个第二特征信息,通过第一神经网络执行物体检测操作,以得到与查询图像对应的第一预测结果,第一预测结果指示查询图像中至少一个检测框的预测位置和与每个检测框对应的预测类别;或者,根据至少一个第二特征信息,通过第一神经网络执行分类操作,以得到与查询图像对应的第二预测结果,第二预测结果指示查询图像的预测类别。

需要说明的是,神经网络的训练装置1300中各模块/单元之间的信息交互、执行过程等内容,与本申请中图3至图7以及图9对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供一种图像处理装置,参阅图15,图15为本申请实施例提供的图像处理装置的一种结构示意图,图像处理装置1500包括:获取模块1501,用于获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度,N为大于或等于1的整数;生成模块1502,用于通过第一神经网络对待处理图像进行特征提取,得到与待处理图像对应的至少一个第一特征信息,根据N个第二类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与待处理图像对应的至少一个第二特征信息;处理模块1503,用于根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,以得到与待处理图像对应的预测结果。

在一种可能的设计中,请参阅图16,图16为本申请实施例提供的图像处理装置的一种结构示意图,图像处理装置1500还包括:更新模块1504,用于根据N个第二类别信息,通过第一神经网络对第一特征信息进行更新,以得到与查询图像对应的更新后的第一特征信息,第三相似度信息指示更新后的第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度。

需要说明的是,图像处理装置1500中各模块/单元之间的信息交互、执行过程等内容,与本申请中图8和图10对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供一种神经网络的训练装置,参阅图17,图17为本申请实施例提供的神经网络的训练装置的一种结构示意图,神经网络的训练装置1700包括:获取模块1701,用于获取训练图像集,训练图像集包括查询图像和N类支撑图像,N为大于或等于1的整数;获取模块1701,还用于获取与N类支撑图像对应的N个第一类别信息,并根据N个第一类别信息和第一相似度信息,对每个第一类别信息进行更新,以得到N个第二类别信息,其中,一个第一类别信息指示一类支撑图像的更新前的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间的相似度,一个第二类别信息指示一类支撑图像的更新后的特征信息;生成模块1702,用于通过第二神经网络对查询图像进行特征提取,得到与查询图像对应的第一特征信息,计算第三相似度信息,第三相似度信息指示第一特征信息与N个第二类别信息中每个第二类别信息之间的相似度;处理模块1703,用于根据第三相似度信息,通过第二神经网络生成第一指示信息,第一指示信息用于指示与查询图像对应的预测类别;训练模块1704,用于根据与查询图像对应的第二指示信息、第一指示信息和第二损失函数,对第二神经网络进行训练,直至满足预设条件,第二指示信息用于指示与查询图像对应的正确类别,第二损失函数指示第一指示信息和第二指示信息之间的相似度。

在一种可能的设计中,请参阅图18,图18为本申请实施例提供的图像处理装置的一种结构示意图,生成模块1702包括计算子模块17021和更新子模块17022,其中,计算子模块17021,用于根据N个第二类别信息和至少一个第一特征信息,计算第二相似度信息,第二相似度信息指示第二类别信息和第一特征信息之间的相似度;更新子模块17022,用于根据第二相似度信息,对第一特征信息进行更新,得到第二特征信息。

需要说明的是,神经网络的训练装置1700中各模块/单元之间的信息交互、执行过程等内容,与本申请中图11对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供一种图像处理装置,参阅图19,图19为本申请实施例提供的图像处理装置的一种结构示意图,图像处理装置1900包括:获取模块1901,用于获取N个第二类别信息,一个第二类别信息指示一类图像的更新后的特征信息,第二类别信息为根据N个第一类别信息和第一相似度信息得到的,一个第一类别信息指示一类图像的特征信息,第一相似度信息指示N个第一类别信息中各个第一类别信息之间相似度,N为大于或等于1的整数;生成模块1902,用于通过第一神经网络对待处理图像进行特征提取,得到与待处理图像对应的至少一个第一特征信息,根据N个第二类别信息,通过第一神经网络对至少一个第一特征信息进行更新,以得到与待处理图像对应的至少一个第二特征信息;处理模块1903,用于根据至少一个第二特征信息,通过第一神经网络执行特征处理操作,以得到与待处理图像对应的预测结果。

需要说明的是,图像处理装置1900中各模块/单元之间的信息交互、执行过程等内容,与本申请中图12对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

接下来介绍本申请实施例提供的一种执行设备,请参阅图20,图20为本申请实施例提供的执行设备的一种结构示意图,执行设备2000具体可以表现为虚拟现实VR设备、手机、平板、笔记本电脑、智能穿戴设备、监控数据处理设备或者雷达数据处理设备等,此处不做限定。具体的,执行设备2000包括:接收器2001、发射器2002、处理器2003和存储器2004(其中执行设备2000中的处理器2003的数量可以一个或多个,图20中以一个处理器为例),其中,处理器2003可以包括应用处理器20031和通信处理器20032。在本申请的一些实施例中,接收器2001、发射器2002、处理器2003和存储器2004可通过总线或其它方式连接。

存储器2004可以包括只读存储器和随机存取存储器,并向处理器2003提供指令和数据。存储器2004的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器2004存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。

处理器2003控制执行设备的操作。具体的应用中,执行设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器2003中,或者由处理器2003实现。处理器2003可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2003中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2003可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器2003可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2004,处理器2003读取存储器2004中的信息,结合其硬件完成上述方法的步骤。

接收器2001可用于接收输入的数字或字符信息,以及产生与执行设备的相关设置以及功能控制有关的信号输入。发射器2002可用于通过第一接口输出数字或字符信息;发射器2002还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器2002还可以包括显示屏等显示设备。

本申请实施例中,在一种情况下,执行设备2000上可以部署有图15或图16对应实施例中所描述的图像处理装置1500,处理器2003中的应用处理器20031用于实现图8或图10对应实施例中执行设备的功能。需要说明的是,应用处理器20031执行上述各个步骤的具体方式,与本申请中图8或图10对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图8或图10对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例中,在一种情况下,执行设备2000上可以部署有图19对应实施例中所描述的图像处理装置1900,处理器2003中的应用处理器20031用于实现图12对应实施例中执行设备的功能。需要说明的是,应用处理器20031执行上述各个步骤的具体方式,与本申请中图12对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图12对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例还提供了一种训练设备,请参阅图21,图21是本申请实施例提供的训练设备一种结构示意图,具体的,训练设备2100由一个或多个服务器实现,训练设备2100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)2122(例如,一个或一个以上处理器)和存储器2132,一个或一个以上存储应用程序2142或数据2144的存储介质2130(例如一个或一个以上海量存储设备)。其中,存储器2132和存储介质2130可以是短暂存储或持久存储。存储在存储介质2130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器2122可以设置为与存储介质2130通信,在训练设备2100上执行存储介质2130中的一系列指令操作。

训练设备2100还可以包括一个或一个以上电源2126,一个或一个以上有线或无线网络接口2150,一个或一个以上输入输出接口2158,和/或,一个或一个以上操作系统2141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

本申请实施例中,在一种情况中,训练设备2100上部署有图13或图14对应实施例中所描述的神经网络的训练装置1300,中央处理器2122用于实现图3至图7以及图9对应实施例中训练设备的功能,需要说明的是,中央处理器2122执行上述各个步骤的具体方式,与本申请中图3至图7以及图9对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图3至图7以及图9对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

在另一种情况中,训练设备2100上部署有图17或图18对应实施例中所描述的神经网络的训练装置1700,中央处理器2122用于实现图11对应实施例中训练设备的功能,需要说明的是,中央处理器2122执行上述各个步骤的具体方式,与本申请中图11对应的各个方法实施例基于同一构思,其带来的技术效果与本申请中图11对应的各个方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图8或10所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图3至图7以及图9所示实施例描述的方法中训练设备所执行的步骤,或者,使得计算机执行如前述图12所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图11所示实施例描述的方法中训练设备所执行的步骤。

本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图8或10所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图3至图7以及图9所示实施例描述的方法中训练设备所执行的步骤,或者,使得计算机执行如前述图12所示实施例描述的方法中执行设备所执行的步骤,或者,使得计算机执行如前述图11所示实施例描述的方法中训练设备所执行的步骤。

本申请实施例提供的图像处理装置、神经网络的训练装置、执行设备以及训练设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使芯片执行上述图8或10所示实施例描述的图像处理方法,或者,以使芯片执行上述图3至图7以及图9所示实施例描述的神经网络的训练方法,或者,以使芯片执行上述图12所示实施例描述的图像处理方法,或者,以使芯片执行上述图11所示实施例描述的神经网络的训练方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。

具体的,请参阅图22,图22为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器NPU 220,NPU 220作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路220,通过控制器2204控制运算电路2203提取存储器中的矩阵数据并进行乘法运算。

在一些实现中,运算电路2203内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路2203是二维脉动阵列。运算电路2203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路2203是通用的矩阵处理器。

举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器2202中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器2201中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)2208中。

统一存储器2206用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)2205,DMAC被搬运到权重存储器2202中。输入数据也通过DMAC被搬运到统一存储器2206中。

BIU为Bus Interface Unit即,总线接口单元2210,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)2209的交互。

总线接口单元2210(Bus Interface Unit,BIU),用于取指存储器2209从外部存储器获取指令,还用于存储单元访问控制器2205从外部存储器获取输入矩阵A或者权重矩阵B的原数据。

DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器2206或将权重数据搬运到权重存储器2202中或将输入数据数据搬运到输入存储器2201中。

向量计算单元2207包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。

在一些实现中,向量计算单元2207能将经处理的输出的向量存储到统一存储器2206。例如,向量计算单元2207可以将线性函数和/或非线性函数应用到运算电路2203的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元2207生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路2203的激活输入,例如用于在神经网络中的后续层中的使用。

控制器2204连接的取指存储器(instruction fetch buffer)2209,用于存储控制器2204使用的指令;

统一存储器2206,输入存储器2201,权重存储器2202以及取指存储器2209均为On-Chip存储器。外部存储器私有于该NPU硬件架构。

其中,图3至图9示出的第一神经网络中各层的运算可以由运算电路2203或向量计算单元2207执行。

其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。

另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例所述的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

相关技术
  • 一种图像处理方法、神经网络的训练方法以及相关设备
  • 一种神经网络的训练方法、图像处理方法以及相关设备
技术分类

06120113022364