模型训练、图像分类方法、服务器及存储介质与流程

文档序号:29210230发布日期:2022-03-12 04:38阅读:76来源:国知局
模型训练、图像分类方法、服务器及存储介质与流程

1.本技术涉及计算机视觉技术领域,尤其涉及一种模型训练、图像分类方法、服务器及存储介质。


背景技术:

2.神经网络的发展不断推动了人工智能的进步,而神经网络的训练离不开海量的训练数据和预训练模型。在一些应用场景中,经常会面临缺乏充足的训练数据而无法训练出足够有效的神经网络模型的技术问题。因此,有待提出一种解决方案。


技术实现要素:

3.本技术实施例的多个方面提供一种模型训练、图像分类方法、服务器及存储介质,用以在训练数据有限的情况下,提升神经网络模型的性能。
4.本技术实施例提供一种图像分类方法,包括:将待处理的图像输入第一模型;所述第一模型包括:多个专家模型以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型;通过所述多个专家模型对所述样本图像进行特征提取,得到所述多个专家模型各自对应的图像特征;通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理;通过所述融合模型对融合得到的特征进行分类运算处理,得到第一分类结果。
5.本技术实施例还提供一种场景分类方法,包括:获取对目标场所进行拍摄得到的视频数据;将所述视频数据中的任一帧图像输入第一模型;所述第一模型包括:多个专家模型以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型;通过所述多个专家模型对所述图像进行特征提取,得到所述多个专家模型各自对应的图像特征;通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理;通过所述融合模型对融合得到的特征进行分类运算处理,得到所述目标场所对应的场景类别。
6.本技术实施例还提供一种模型训练方法,待训练的第一模型包括:多个专家模型,以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型;所述方法包括:获取所述多个专家模型在收敛后对样本图像进行特征提取得到的图像特征;所述样本图像上标注有标签真值;通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合,并对融合得到的特征进行分类运算处理,得到第一分类结果;以令所述第一分类结果与所述标签真值的差距收敛至第一指定范围为学习目标,调整所述多个专家模型各自的特征融合参数。
7.本技术实施例还提供一种图像分类方法,包括:响应客户端对第一接口的调用请求,获取接口参数包含的待处理的图像;将所述待处理的图像输入第一模型;所述第一模型包括:多个专家模型以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型;通过所述多个专家模型对所述样本图像进行特征提取,
得到所述多个专家模型各自对应的图像特征;通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理,并对融合得到的特征进行分类运算处理,得到第一分类结果;将所述第一分类结果返回至所述客户端。
8.本技术实施例还提供一种服务器,包括:存储器、处理器以及通信组件;所述存储器,用于存储一条或多条计算机指令;所述处理器,用于执行一条或多条计算机指令,以用于执行本技术实施例提供的方法中的步骤。
9.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被执行时能够实现本技术实施例提供方法中的步骤。
10.在本技术实施例中,第一模型中的多个专家模型中,包括至少两种具有不同网络结构的专家模型,从而可利用不同的专家模型进行知识学习,有利于在样本数量有限时,对不同难度的样本进行识别。根据专家模型收敛后从样本图像上提取到的图像特征对融合模型进行训练,可使得融合模型根据专家模型学习到的知识,动态地学习如何合理利用多个专家模型各自学习到的知识,从而让不同的性能的专家模型对最终输出的分类结果做出不同的贡献,极大提升了第一模型的整体性能。同时,这种训练方式可降低对样本图像的数量的依赖,在样本图像的数量较少的情况下,也能够进行高效学习,从而获取更优的模型性能。
附图说明
11.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
12.图1为本技术一示例性实施例提供的一种模型训练方法的流程示意图;
13.图2为本技术另一示例性实施例提供的一种模型训练方法的流程示意图;
14.图3为本技术一示例性实施例提供的一种混合专家模型的网络结构示意图;
15.图4为本技术一示例性实施例提供的一种图像分类方法的流程示意图;
16.图5为本技术另一示例性实施例提供的图像分类方法的流程示意图;
17.图6为本技术一示例性实施例提供的一种终端设备的结构示意图。
具体实施方式
18.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
19.神经网络的发展不断推动了人工智能的进步,而神经网络的训练离不开海量的训练数据和预训练模型。在一些应用场景中,经常会面临缺乏充足的训练数据而无法训练出足够有效的神经网络模型的技术问题。
20.在一些模型训练方法中,可采用多专家混合模型进行知识学习。在进行分类预测时,一种方式中,将多个专家输出的预测结果进行平均后作为最终预测结果。另一种方式中,采用一种路由结构决定根据哪些专家模型输出的预测结果输出最终的预测结果。然而,
上述方式并未充分利用多专家混合模型的特点,未考虑不同的专家模型在性能上的优劣,导致输出的图像的分类结果的准确性是有限的。从而,无法在缺乏充足的训练数据的情况下,提升训练出的神经网络模型的性能。
21.针对上述技术问题,本技术的一些示例性实施例提供了一种解决方案,以下部分将结合附图进行详细说明。
22.图1为本技术一示例性实施例提供的一种模型训练方法的流程示意图。如图1所示,该方法包括:
23.步骤101、获取第一模型中的多个专家模型在收敛后对样本图像进行特征提取得到的图像特征;所述样本图像上标注有标签真值;所述多个专家模型包括至少两种不同网络结构的专家模型。
24.步骤102、通过所述第一模型中的融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合,并对融合得到的特征进行分类运算处理,得到第一分类结果。
25.步骤103、以令所述第一分类结果与所述标签真值的差距收敛至第一指定范围为学习目标,调整所述多个专家模型各自的特征融合参数。
26.在本实施例中,用于进行图像分类的第一模型可以为混合专家模型,该混合专家模型可基于多专家模型(mixture of experts,moe)实现。其中,多专家模型,是神经网络的一种类型,不同于一般的神经网络训练,多专家模型包括多个模型,每个模型都是一个专家。除多个专家模型外,多专家模型还包括门控模块,门控模块用于控制选择使用哪个专家。在本实施例中,门控模块实现为与多个专家模型连接的融合模型。混合专家模型,是指将多个专家模型整合用于一个单独的任务中。
27.本实施例中,多个专家模型中,至少包括两种具有不同结构的专家模型。即,多个专家模型的网络结构中,至少包含两种不同的网络结构。当然,多个专家模型的网络结构也可以各不相同,本实施例不做限制。在图像分类场景中,多个专家模型,可包含至少两种结构不同的卷积神经网络模型,或者,不同的专家模型可基于不同结构的卷积神经网络模型实现。其中,卷积神经网络模型中的多层卷积构成了专家模型中的特征提取器,以便于专家模型对输入的训练数据进行特征提取。当然,在不同的实施例中,也可以采用其他神经网络模型作为特征提取器,不以卷积神经网络模型为限。
28.其中,第一模型中的专家模型的数量,可以为2个3个或n个,本实施例不做限制。其中,n为大于2的正整数。
29.在一些可选的实施例中,专家模型的网络结构可以包括但不限于:resnet、efficientnet、regnet、resnest、sknet、ecaresnet、nfnet、efficientnetv2、vit、t2t-vit、deit、swin、volo等网络结构。在实际中,可从上述网络结构中选取至少两种网络结构作为多个专家模型的网络结构,也可从除上述网络结构之外的其他网络结构(例如alexnet、vggnet)中选择至少两种网络结构,本实施例不做限制。
30.在本实施例中,第一模型中的多个专家模型,指的是经过模型训练并收敛后的专家模型。多个专家模型,可在监督信号的监督下,根据样本图像,学习图像特征的提取能力,得到各自的模型参数。其中,专家模型的训练过程将在后续的实例中进行说明,此处不赘述。在多个专家模型收敛后,可基于多个专家模型的输出,对融合模型(fusion module)进
行训练,从而动态地对多个专家模型学习到的知识进行学习,从而学习如何充分利用多个专家各自的性能优势。
31.在训练融合模型时,可获取多个专家模型在收敛后对样本图像进行特征提取得到的图像特征。其中,样本图像上标注有标签真值(ground truth)。该标注是指对样本图像进行类别标注,使得样本图像具有类别标签,从而可基于类别标签对融合模型进行有监督训练。
32.将多个专家模型各自提取到的特征图像输入融合模型后,可由融合模型根据多个专家模型各自的特征融合参数,对该多个专家模型各自对应的图像特征进行融合并进行分类运算处理,得到分类结果。
33.其中,多个专家模型各自的特征融合参数位于融合模型中,可视为融合模型的模型参数的一部分。得到融合模型输出的分类结果后,可在样本图像上标注的标签真值的监督下,对融合模型的模型参数进行调整。即,以令融合模型输出的分类结果与标签真值的差距收敛至第一指定范围为学习目标,调整多个专家模型各自的特征融合参数。
34.其中,步骤101~步骤103可循环迭代执行,直至融合模型输出的分类结果与标签真值的差距收敛至第一指定范围时,可停止迭代过程,并输出训练得到的结果模型。
35.在本实施例中,第一模型中的多个专家模型中,包括至少两种具有不同网络结构的专家模型,从而可利用不同的专家模型进行知识学习,有利于在样本数量有限时,对不同难度的样本进行识别。根据专家模型收敛后从样本图像上提取到的图像特征对融合模型进行训练,可使得融合模型根据专家模型学习到的知识,动态地学习如何合理利用多个专家模型各自学习到的知识,从而让不同的性能的专家模型对最终输出的分类结果做出不同的贡献,极大提升了第一模型的整体性能。同时,这种训练方式可降低对样本图像的数量的依赖,在样本图像的数量较少的情况下,也能够进行高效学习,从而获取更优的模型性能。
36.值得说明的是,在本技术的上述以及下述各实施例中,基于样本图像进行第一模型的训练之前,可进一步对样本图像进行数据增强操作。其中,该数据增强操作可包括:基于单样本的数据增强操作和/或基于多样本的数据增强操作。
37.可选地,基于单样本的数据增强操作可包括但不限于以下至少一种:随机翻转(random flipp)、随机裁切(random crop)、颜色抖动(color jitter)、随机擦除(random erasing)、基于nas搜索的组合增强策略(autoaugment和randomaugment)等。可选地,基于多样本的数据增强,可包括但不限于mixup算法以及cutmix算法中的至少一种。
38.基于上述数据增强操作,可对数量较少的样本图像进行变换,一方面,可丰富样本图像的数量,为模型过程提供更多数据支持。另一方面,可通过上述数据增强操作,提升样本图像的复杂度,从而提升训练得到的模型的鲁棒性。
39.在一些可选的实施例中,第一模型的训练过程可以为“端到端”的训练过程。即,训练数据从第一模型的输入端(即多个专家模型的输入端)输入后,从第一模型的输出端(即融合模型)输出最终的预测结果。将最终预测结果与标注的标签相比可得到模型的预测误差,基于预测误差进行反向传播并调整每个模型的参数,直至该预测误差收敛或者达到预期效果时,输出训练得到的结果模型。在这种方式中,可对多个专家模型以及融合模型进行同步训练。
40.在另一些可选的实施例中,第一模型的训练过程可以是“两段式”的训练过程。其
中,第一阶段为多个专家模型的训练阶段,第二阶段为融合模型的训练阶段。在这种事实方式中,可通过第一阶段的训练,使得多个专家模型的预测误差收敛或者达到预期效果。在此之后,可通过第二阶段的训练,基于训练好的多个专家模型的输出的图像特征,对融合模型进行训练,直至融合模型的预测误差收敛或者达到预期效果时,输出训练得到的结果模型。在这种实施方式中,基于训练完成的多个专家模型对融合模型进训练,可有效降低训练所需的迭代次数,提升模型训练的效率。
41.以下将结合附图,对上述“两段式”训练过程进行示例性说明。
42.图2为本技术另一示例性实施例提供的一种模型训练方法的流程示意图。
43.如图2所示,该方法包括:
44.步骤201、获取样本图像,所述样本图像上标注有标签真值。
45.步骤202、将所述样本图像输入第一模型;所述第一模型包括:多个专家模型,以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型。
46.步骤203、通过所述多个专家模型对所述样本图像进行特征提取,得到所述多个专家模型各自对应的图像特征。
47.步骤204、通过所述多个专家模型各自对应的分类器,对所述多个专家模型各自对应的图像特征进行分类运算处理,得到所述多个专家模型各自的分类结果。
48.步骤205、以令所述多个专家模型各自的分类结果与所述标签真值的差距收敛至第二指定范围为学习目标,调整所述多个专家模型各自的参数。
49.步骤206、获取所述多个专家模型在收敛后对样本图像进行特征提取得到的图像特征。
50.步骤207、通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合,并对融合得到的特征进行分类运算处理,得到第一分类结果。
51.步骤208、以令所述第一分类结果与所述标签真值的差距收敛至第一指定范围为学习目标,调整所述多个专家模型各自的特征融合参数。
52.在本实施例中,步骤202~步骤206为训练多个专家模型的第一阶段。步骤202~步骤206可循环迭代执行,直至多个专家模型的学习目标收敛到指定范围。步骤207~步骤209为训练融合模型的第二阶段。第二阶段可在多个专家模型的学习目标收敛到指定范围后开始训练。其中,第二阶段的训练过程可参考前述实施例的记载,以下部分将对第一阶段的训练过程进行示例性说明。
53.在第一阶段,可样本图像输入第一模型后,可通过多个专家模型中的特征提取器对样本图像进行特征提取,得到多个专家模型各自对应的图像特征。
54.在神经网络模型的训练过程中,可根据识别难度将训练所需的样本图像分为“简单”、“中等难度”和“较难”三类。其中,简单类别的样本图像可以为目标类别的主体的正常展示,细节特征明显,且不存在遮挡、噪声和模糊等问题,采用简单的网络结构即可达到较好的识别效果。中等难度类别的样本图像中,主体占据图片的前景部分,但是会存在距离较远、纹理细节不明显的特点,因此,需要使用适当的数据增强和正则化效果才能达到理想的识别效果。较难类别的图像样本中,目标类别的主体往往混合在背景中,在图像中占比较
小,因此具有较大的识别难度,因此需要使用具有极强的特征表达和正则化能力的模型进行识别。
55.在神经网络模型中,不同规模和结构的网络对于特征的表达和识别能力各部不同。因此,为满足不同难度的样本图像的训练需求,可在第一模型中设置不同网络结构的专家模型,不同结构的专家模型分别用来负责识别不同难度的样本,从而适应样本图像质量不一致的训练场景。
56.其中,专家模型的网络结构不同时,专家模型中的特征提取器的实现形态也不同。例如,第一模型包括:专家模型1、专家模型2以及专家模型3。其中,专家模型1为resnest模型,专家模型2为resnet模型,专家模型3为efficientnet。那么,专家模型1中的特征提取器为resnest中的特征提取网络,专家模型2中的特征提取器为resnet中的特征提取网络,专家模型3中的特征提取器为efficientnet中的特征提取网络。
57.图3对第一模型的结构进行了示意,如图3所示,多个专家模块可共享浅层卷积,并可分别基于浅层卷积输出的特征图进一步进行特征提取。
58.在本实施例中,如图3所示每个专家模型还可包括分类器。如图3所示的与专家模型1连接的分类器1,与专家模型2连接的分类器2,与专家模型3连接的分类器3.。该分类器用于根据图像特征执行分类运算处理,从而输出每个专家模型对样本图像的分类结果。
59.得到多个专家模型各自的分类结果后,可根据多个专家模型的分类结果与样本图像上标注的标签真值的差距,对多个专家模型进行训练。在训练的过程中,可确定多个专家模型的学习目标,并根据该学习目标优化多个专家模型各自的模型参数。其中,多个专家模型的学习目标可以为:令多个专家模型各自的分类结果与样本图像上的标签真值的差距收敛至第二指定范围。
60.其中,被优化的模型参数主要包括:多个专家模型中的特征提取器的参数。当多个专家模型各自的分类结果与样本图像上的标签真值的差距收敛至第二指定范围时,可停止第一阶段的循环迭代过程,并输出训练完成的多个专家模型,该输出的多个专家模型的模型参数,可使得多个专家模型从输入的图像上提取到能够准确对图像进行分类的图像特征。
61.多个专家模型中,任一专家模型包括多个特征计算模块(图3中简单示意为“模块”)。多个特征计算模块构成了专家模型的特征提取器。以专家模型实现为卷积神经网络模型为例,专家模型中的每个特征计算模块可包括:卷积层、池化层以及全连接层。专家模型包含的特征计算模块的数量,可称为专家模型的深度。
62.在一些示例性的实施例中,为提升专家模型的性能,在第一训练阶段,可动态设置每个专家模型的深度,从而得到动态神经网络(dynamic neural networks)。在训练和推理阶段,动态神经网络可以根据输入数据的不同动态调整自身结构或参数,因此在计算成本和识别效果上具有比静态模型更优的性能。本实施例中,在基于动态模型进行训练时,可动态选择激活网络中的某些结构(例如通道、层、子网络)等。
63.在本实施例中,针对任一专家模型,基于该专家模型对样本图像进行特征提取时,可从专家模型中,随机选择部分特征计算模块,以动态设置该专家模型的深度。通过随机选择的部分特征计算模块,可对输入的样本图像进行特征提取操作,得到专家模型输出的图像特征。
64.如图3所示,专家模型1、2

n,分别包含多个特征计算模块。针对每个专家模型,在进行特征提取操作时,可基于随机深度(stochastic depth)算法,随机跳过该专家模型的某些特征计算模块。如图3所示,可为每个特征计算模块,设置“开关”模块,在训练过程中,可随机打开或者关闭不同特征计算模块对应的开关,从而实现动态改变专家模型的深度的效果。这种方式极大增强了模型的正则化效果,有效防止了专家模型出现过拟合现象。
65.值得说明的是,在本实施例中,针对专家模型中的每个特征计算模块而言,该特征计算模块中的池化层可以为blur池化层(blur pooling),从而可基于blur池化层提升专家模型的平移不变性。
66.在本实施例中,基于动态改变专家模型的深度的方式,可节省训练过程中的计算量,使得训练更高效。当神经网络模型的规模较大时,较大规模的神经网络可依靠更多的参数以获得更强的表达能力。若在规模更大的神经网络中加入动态结构,则能够以更小的计算量增加代价获取同等优秀的表达能力,提升专家模型的性能。除此之外,相比静态模型的固定参数量,动态网络动态计算的特点使其能够在不同的硬件平台和计算环境部署上有更强的适应性。
67.在一些示例性的实施例中,根据多个专家模型的学习目标对多个专家模型进行训练时,可采用如下可选的实施方式构造多个专家模型对应的学习目标:
68.可选地,可根据多个专家模型各自的分类结果以及样本图像上的标签真值,计算多个专家模型各自的分类损失。其中,分类损失可基于交叉熵损失函数、绝对值损失函数、log对数损失函数、平方损失函数、指数损失函数、hinge损失函数以及感知损失函数中的至少一种损失函数计算得到,本实施例对此不做限制。当然,除了上述列举的损失函数之外,分类损失还可基于其他可选的损失函数进行计算,本实施例对此不做限制。
69.在一些可选的实施例中,在构造分类损失时,为进一步优化专家模型的性能,可对样本图像上的标签真值进行平滑处理。
70.可选地,针对第i个类别的标签,采用标签平滑(label smooth)方法对标签l进行平滑处理的操作可通过以下公式进行表示:
[0071][0072]
其中,ε表示一个极小的值,c1表示一个常数。
[0073]
除上述平滑方式之外,在一些示例性的实施例中,可基于知识蒸馏的方法生成软标签(或称蒸馏标签)来指导训练过程。可选地,在训练阶段可在第一模型中设置教师模型(teacher model),该教师模型用于根据样本图像输出分类结果,并将该分类结果作为软标签来指导多专家模型的训练过程。
[0074]
在本实施例中,可选地,可获取预设的教师模型m
t
对样本图像i进行分类得到的第二分类结果;其中,该预设的教师模型,可以是预训练的专家模型,也可以是其他可选的分类模型,本实施例不做限制。根据第二分类结果,对样本图像上标注的标签真值进行平滑,得到平滑标签l
train
。上述过程可采用以下公式进行描述:
[0075]
l
train
=λ*l
ls
+(1-λ)m
t(i)ꢀꢀꢀꢀ
公式2
[0076]
其中,λ表示加权系数,λ的值可根据实际需求进行设置,例如可设置λ=0.5,λ=0.6等,本实施例不做限制。
[0077]
根据所述多个专家模型各自的分类结果以及所述平滑标签,计算所述多个专家模型各自的分类损失。
[0078]
可选地,每个专家模型的损失可包含基于软标签的交叉熵损失,该交叉熵损失的计算过程可如以下公式所示:
[0079]
l
soft-ce
=-l
train
*log(m
t
(i))
ꢀꢀꢀ
公式3
[0080]
可选地,除基于软标签的交叉熵损失外,每个专家模型的分类损失还可包括余弦(cosine)损失。将上述交叉熵损失和余弦损失叠加后,可得到每个专家模型的分类损失。计算得到的第j个专家模型的分类损失可采用以下公式进行表示:
[0081]
lj=l
soft-ce
+(1-cosine(l
train
,m
t
(i)))
ꢀꢀꢀ
公式4
[0082]
当第一模型包含n个专家模型时,n个专家模型的总的分类损失可采用以下公式描述:
[0083][0084]
可选地,除分类损失之外,还可根据多个专家模型各自对应的图像特征,计算多个专家模型对应的差异性度量损失。其中,差异性度量损失用于度量多个专家模型之间的差异,从而监督多个专家模型学习不同的知识,充分利用多个专家的性能优势。
[0085]
在一些可选的实施例中,计算多个专家模型对应的差异性度量损失时,可根据多个专家模型各自输出的图像特征,计算多个专家模型提取到的平均特征;接下来,分别计算多个专家模型各自输出的特征与平均特征之间的相似度,得到多个专家模型对应的差异性度量损失。可选地,该相似度可采用kl(kullback-leibler)散度(或称相对熵损失)进行计算。
[0086]
上述计算差异性度量损失ld的过程,可采用以下公式进行表示:
[0087][0088][0089]
其中,pj表示第j个专家模型输出的图像特征,n表示第一模型包含的专家模型的数量,p表示多个专家模型的平均特征。
[0090]
根据多个专家模型各自的分类损失以及差异性度量损失,可确定所述多个专家模型的学习目标。其中,该学习目标可通过以下公式进行描述:
[0091]
l=l
moe
+ldꢀꢀ
公式8
[0092]
根据多个专家模型的学习目标,可对多个专家模型各自的参数进行调整,直至多个专家模型的学习目标收敛至第二指定范围。
[0093]
基于上述各实施例的模型训练操作使得多个专家模型收敛后,可执行前述步骤207~209来对融合模型进行训练。融合模型中待学习的多个专家模型各自的特征融合参数,可以实现为多个专家模型各自的特征加权系数,该特征加权系数用于分配多个专家模型各自提取到图像特征对最终分类结果的贡献程度。其中,融合模型根据多个专家模型各自的特征融合参数,对多个专家模型各自对应的图像特征进行融合,并对融合得到的特征进行分类运算处理的过程,可通过以下公式进行描述:
[0094]mfusion
=linear(contact(e1,e2,...,en),c2)
ꢀꢀꢀꢀ
公式9
[0095]
上述公式中,m
fusion
表示融合模型输出的分类结果,e1,e2,...,ed表示n个专家模型
各自提取到的图像特征,contact()表示特征融合计算,linear()表示用于分类的线性运算,c2为常量。
[0096]
除前述实施例记载的模型训练方法之外,本技术实施例还提供一种图像分类方法,以下将进行示例性说明。
[0097]
图4为本技术一示例性实施例提供的一种图像分类方法的流程示意图,如图4所示,该方法包括:
[0098]
步骤401、将待处理的图像输入第一模型;所述第一模型包括:多个专家模型以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型。
[0099]
步骤402、通过所述多个专家模型对所述样本图像进行特征提取,得到所述多个专家模型各自对应的图像特征。
[0100]
步骤403、通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理。
[0101]
步骤404、通过所述融合模型对融合得到的特征进行分类运算处理,得到第一分类结果。
[0102]
其中,第一模型的训练过程可参考前述各实施例的记载,此处不再进行赘述。在不同的应用场景中,待处理的图像的实现形式可以不同。例如,在一些实施例中,待处理的图像,可包括:对目标场所进行拍摄得到的图像。其中,该目标场所可以是待进行场景分类的场所、待进行潜在风险预测的场所等等,例如可包括但不限于车站、车厢、场馆等公共场所。在另一些实施例中,待处理的图像,可包括:待进行风险内容分析的图像。其中,待进行风险内容分析的图像,可包括但不限于涉黄图像、涉暴图像等等。
[0103]
其中,多个专家模型各自的特征融合参数可以为多个专家模型各自的特征加权系数。多个专家模型各自的特征加权系数可在模型训练的过程中动态学习到。在一些示例性的实施例中,通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理之前,还通过所述融合模型,根据所述多个专家模型在收敛后对样本图像进行特征提取得到的图像特征以及所述样本图像上标注的标签真值,动态地学习所述多个专家模型各自的特征融合参数。
[0104]
其中,融合模型对多个专家模型各自对应的图像特征进行融合处理,并对融合得到的特征进行分类运算处理,得到第一分类结果的操作可如前述公式9所示,不再赘述。
[0105]
在本实施例中,第一模型中的多个专家模型中,包括至少两种具有不同网络结构的专家模型,从而可充分利用不同的专家模型的不同分类性能,降低了对样本图像的数量的依赖。同时,融合模型中多个专家模型各自的特征融合参数是动态学习得到的,从而可动态地根据不同专家模型的实际训练成果,使得不同性能的专家模型对最终输出的分类结果做出不同的贡献,极大提升了图像分类结果的准确性。
[0106]
图5为本技术另一示例性实施例提供的图像分类方法的流程示意图,如图5所示,该方法包括:
[0107]
步骤501、响应客户端对第一接口的调用请求,获取接口参数包含的待处理的图像。
[0108]
步骤502、将所述待处理的图像输入第一模型;所述第一模型包括:多个专家模型
以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型。
[0109]
步骤503、通过所述多个专家模型对所述样本图像进行特征提取,得到所述多个专家模型各自对应的图像特征。
[0110]
步骤504、通过所述融合模型,根据动态学习到的所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理,并对融合得到的特征进行分类运算处理,得到第一分类结果。
[0111]
步骤505、将所述第一分类结果返回至所述客户端。
[0112]
本实施例的执行主体可以是服务端设备,例如常规服务器或者云服务器。其中,客户端可实现为用户侧的手机、计算机、平板电脑等设备。
[0113]
在本实施例中,可将前述各实施例提供的图像分类方法封装为可供第三方使用的软件工具,例如saas(software-as-a-service,软件即服务)工具。其中,该saas工具可实现为插件或者应用程序。该插件或者应用程序可以被部署在服务端设备上,并可向客户端等第三方用户开放指定的接口。为便于描述,在本实施例中,将该指定的接口描述为第一接口。进而,客户端等第三方用户通过调用该第一接口,便捷地访问并使用服务端设备提供的移动对象检测服务。
[0114]
例如,在一些场景下,该saas工具可被部署在云服务器,第三方用户可调用云服务器提供的第一接口来在线使用该saas工具。其中,第三方用户调用第一接口时,可通过配置第一接口的接口参数,向saas工具提供待分类的图像。可选地,该待分类的图像可包括连续拍摄得到的视频数据中的任一帧图像,或者离散拍摄得到的图像序列中的任一帧图像,本实施例不做限制。
[0115]
saas工具接收到针对第一接口的调用请求后,可通过解析第一接口的接口参数,获取客户端提供的待分类的图像。saas工具基于服务器上部署的第一模型识别到该图像所属的类别后,可通过该第一接口或者其他通信方式,将该图像所属的类别返回至客户端。其中,第一模型的训练过程以及推理过程可参考前述实施例的记载,此处不再赘述。
[0116]
在本实施例中,服务端设备可基于其上运行的saas工具,向客户端提供图像分类服务,客户端用户可通过调用saas工具提供的接口使用服务端设备提供的图像分类服务。基于客户端与服务端设备的交互,客户端可将图像分类的操作完全交由服务端设备执行,进而,可借助服务端设备强大的计算能力和可靠的图像分类算法,实现低成本、高准确率的图像分类操作。
[0117]
需要说明的是,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401、402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201至步骤204的执行主体可以为设备a;又比如,步骤201和202的执行主体可以为设备a,步骤203和204的执行主体可以为设备b;等等。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0118]
本技术上述实例提供的图像分类方法,可应用于多种基于图像分类的风险内容、风险场所鉴别场景,例如基于图像暴恐鉴别场景、基于图像的鉴黄场景等。在这种风险鉴别场景中,通常较难在短时间内收集到足够的训练样本来满足模型训练。在训练数据不足的情况下,可基于本技术各实施例提供的模型训练方法,高效地训练出满足风险内容鉴别需求的模型。以下将结合具体的应用场景进行示例性说明。
[0119]
在一些应用场景中,需对目标场所(例如公共场所)的暴力/恐怖事件进行鉴别并预警。该公共场所可包括:交通工具内部、商场、车站候车室等等。在上述多种场所中,可基于图像采集设备、服务器以及警报设备部署风险场景鉴别系统。
[0120]
其中,图像采集设备可实现为多种能够实现高清拍摄的电子设备,包括但不限于基于ccd(charge-coupled device,电荷耦合元件)图像传感器或者cmos(complementary metal oxide semiconductor,互补金属氧化物半导体)图像传感器进行成像的电子设备,例如高速摄像机、摄录仪、旋转摄像机、红外夜视相机等,不再赘述。其中,图像采集设备的数量可以是一个或者多个,可根据实际需求进行选择,本实施例不做限制。例如,火车站的候车室中,可设置多个图像采集设备,以使得图像采集设备的拍摄范围能够覆盖火车站的候车室。
[0121]
其中,服务器可实现为常规服务器、云服务器、云主机、虚拟中心等服务器等设备,本实施例对此不做限制。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,不再赘述。
[0122]
图像采集设备可将持续拍摄得到的视频流发送至服务器进行处理,或者,可将间隔拍摄得到的图像序列发送至服务器进行处理,本实施例不做限制。
[0123]
其中,图像采集设备与服务器之间的通信,可采用有线通信方式无线通信方式进行通信。其中,无线通信方式包括蓝牙、zigbee、红外线、wifi(wireless-fidelity,无线保真技术)等短距离通信方式,也包括lora等远距离无线通信方式,还可包括基于移动网络的无线通信方式。其中,当通过移动网络通信连接时,移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)、4g+(lte+)、5g、wimax等中的任意一种,本实施例不做限制。
[0124]
服务器接收到图像采集设备发送的视频流或者离散图像后,可基于前述各实施例记载的第一模型,对视频流中或者离散图像中的每一帧图像进行分类。具体地,服务器获取到对目标场所进行拍摄得到的视频数据后,可将该视频数据中的任一帧图像输入第一模型;第一模型包括:多个专家模型以及与该多个专家模型连接的融合模型;该多个专家模型包括至少两种不同网络结构的专家模型。服务器可通过该多个专家模型对该图像进行特征提取,得到该多个专家模型各自对应的图像特征,通过该融合模型,根据该多个专家模型各自的特征融合参数,对该多个专家模型各自对应的图像特征进行融合处理,并通过该融合模型对融合得到的特征进行分类运算处理,得到该目标场所对应的场景类别。当第一模型输出的场景类别指示目标场所为高风险场景时,可基于警报设备输出警报消息。
[0125]
除前述各实施例记载的图像处理场景之外,本技术各实施例提供的模型训练方法还可以应用于多种其他不同的人工智能场景。例如自然语言处理场景、数据分析场景等。在自然语言处理场景中,训练数据可实现为训练采用的语料数据,例如多个文本语料或者多个音频语料。在行为数据分析场景中,训练数据可实现为训练采用的多个行为数据。在商品
数据分析场景中,训练数据可实现为不同商品的点击量统计数据、销售量统计数据等等,不再一一进行列举。
[0126]
图6为本技术一示例性实施例提供的服务器的结构示意图,如图6所示,该服务器可包括:存储器601、处理器602、通信组件603以及电源组件604。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
[0127]
存储器601可被配置为存储其它各种数据以支持在服务器12上的操作。这些数据的示例包括用于在服务器12上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0128]
在本实施例中,存储器601用于存储一条或多条计算机指令。
[0129]
处理器602,耦合至存储器601,用于执行存储器601中的一条或多条计算机指令,以用于:通过通信组件603将待处理的图像输入第一模型;所述第一模型包括:多个专家模型以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型;通过所述多个专家模型对所述样本图像进行特征提取,得到所述多个专家模型各自对应的图像特征;通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理,并对融合得到的特征进行分类运算处理,得到第一分类结果。
[0130]
进一步可选地,处理器602在通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理之前,还用于:通过所述融合模型,根据所述多个专家模型在收敛后对样本图像进行特征提取得到的图像特征以及所述样本图像上标注的标签真值,动态地学习所述多个专家模型各自的特征融合参数。
[0131]
除前述实施例之外,图6所示的服务器,还可执行如下的场景分类方法,其中,处理器602主要用于:获取对目标场所进行拍摄得到的视频数据;将所述视频数据中的任一帧图像输入第一模型;所述第一模型包括:多个专家模型以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型;通过所述多个专家模型对所述图像进行特征提取,得到所述多个专家模型各自对应的图像特征;通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理;通过所述融合模型对融合得到的特征进行分类运算处理,得到所述目标场所对应的场景类别。
[0132]
除前述实施例之外,图6所示的服务器,还可执行如下的图像分类方法,其中,处理器602主要用于:响应客户端对第一接口的调用请求,获取接口参数包含的待处理的图像;将所述待处理的图像输入第一模型;所述第一模型包括:多个专家模型以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型;通过所述多个专家模型对所述样本图像进行特征提取,得到所述多个专家模型各自对应的图像特征;通过所述融合模型,根据动态学习到的所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合处理,并对融合得到的特征进行分类运算处理,得到第一分类结果;将所述第一分类结果返回至所述客户端。
[0133]
除前述实施例之外,图6所示的服务器,还可执行如下的模型训练方法。所述第一模型包括:多个专家模型,以及与所述多个专家模型连接的融合模型;所述多个专家模型包括至少两种不同网络结构的专家模型。理器602用于:获取所述多个专家模型在收敛后对样本图像进行特征提取得到的图像特征;所述样本图像上标注有标签真值;通过所述融合模型,根据所述多个专家模型各自的特征融合参数,对所述多个专家模型各自对应的图像特征进行融合,并对融合得到的特征进行分类运算处理,得到第一分类结果;以令所述第一分类结果与所述标签真值的差距收敛至第一指定范围为学习目标,调整所述多个专家模型各自的特征融合参数。
[0134]
进一步可选地,处理器602在获取所述多个专家模型在收敛后对样本图像进行特征提取得到的图像特征之前,还用于:通过所述多个专家模型对所述样本图像进行特征提取,得到所述多个专家模型各自对应的图像特征;通过所述多个专家模型各自对应的分类器,对所述多个专家模型各自对应的图像特征进行分类运算处理,得到所述多个专家模型各自的分类结果;以令所述多个专家模型各自的分类结果与所述标签真值的差距收敛至第二指定范围为学习目标,调整所述多个专家模型各自的参数。
[0135]
进一步可选地,所述多个专家模型中,任一专家模型包括多个特征计算模块;处理器602在通过所述多个专家模型对所述样本图像进行特征提取,得到所述多个专家模型各自对应的图像特征时,具体用于:针对所述多个专家模型中的任一专家模型,从所述专家模型中,随机选择部分特征计算模块,以动态设置所述专家模型的深度;通过所述部分特征计算模块,对输入的所述样本图像进行特征提取操作,得到所述专家模型输出的图像特征。
[0136]
进一步可选地,处理器602在以令所述多个专家模型各自的分类结果与所述标签真值的差距收敛至第二指定范围为学习目标,调整所述多个专家模型各自的参数时,具体用于:根据所述多个专家模型各自的分类结果以及所述标签真值,计算所述多个专家模型各自的分类损失;根据所述多个专家模型各自对应的图像特征,计算所述多个专家模型对应的差异性度量损失;根据所述多个专家模型各自的分类损失以及所述差异性度量损失,确定所述多个专家模型的学习目标;根据所述多个专家模型的学习目标,对所述多个专家模型各自的参数进行调整,直至所述多个专家模型的学习目标收敛至所述第二指定范围。
[0137]
进一步可选地,处理器602在根据所述多个专家模型各自的分类结果以及所述标签真值,计算所述多个专家模型各自的分类损失时,具体用于:获取预设的教师模型对所述样本图像进行分类得到的第二分类结果;根据所述第二分类结果,对所述样本图像上标注的所述标签真值进行平滑,得到平滑标签;根据所述多个专家模型各自的分类结果以及所述平滑标签,计算所述多个专家模型各自的分类损失。
[0138]
进一步可选地,处理器602在根据所述多个专家模型各自对应的图像特征,计算所述多个专家模型对应的差异性度量损失时,具体用于:根据所述多个专家模型各自对应的图像特征,计算所述多个专家模型提取到的平均特征;分别计算所述多个专家模型各自输出的特征与所述平均特征之间的相似度,得到所述多个专家模型对应的差异性度量损失。
[0139]
进一步可选地,处理器602还用于对所述样本图像进行数据增强操作;所述数据增强操作包括:基于单样本的数据增强操作和/或基于多样本的数据增强操作。
[0140]
其中,通信组件603被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g或
5g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
[0141]
其中,电源组件605,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0142]
本实施例中,服务器提供的第一模型中的多个专家模型中,包括至少两种具有不同网络结构的专家模型,从而可利用不同的专家模型进行知识学习,有利于在样本数量有限时,对不同难度的样本进行识别。根据专家模型收敛后从样本图像上提取到的图像特征对融合模型进行训练,可使得融合模型根据专家模型学习到的知识,动态地学习如何合理利用多个专家模型各自学习到的知识,从而让不同的性能的专家模型对最终输出的分类结果做出不同的贡献,极大提升了第一模型的整体性能。同时,这种训练方式可降低对样本图像的数量的依赖,在样本图像的数量较少的情况下,也能够进行高效学习,从而获取更优的模型性能。
[0143]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由服务器执行的方法实施例中各步骤。
[0144]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0145]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0146]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0147]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0148]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0149]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或
非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0150]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0151]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0152]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1