一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理及模型训练方法、装置、设备和存储介质与流程

2022-07-16 20:04:30 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,具体为深度学习、图像处理、计算机视觉技术领域,可应用于光学字符识别(optical character recognition,ocr)、人脸识别等场景,尤其涉及一种图像处理及模型训练方法、装置、设备和存储介质。


背景技术:

2.为了使计算机能够“理解”图像,从而获得“视觉”,图像处理的基础步骤是对图像进行特征提取处理,以将图像转换为非图像的表示或描述,这些表示或描述为图像特征。
3.随着深度学习技术的发展,可以采用图像特征提取模型对输入的图像进行特征提取处理,以输出对应的图像特征。


技术实现要素:

4.本公开提供了一种图像处理及模型训练方法、装置、设备和存储介质。
5.根据本公开的一方面,提供了一种图像特征提取模型的训练方法,包括:对第一图像的第一图像特征进行分割处理,以获得第一分割特征;对第二图像的第二图像特征进行分割处理,以获得第二分割特征;基于所述第一图像特征、所述第二图像特征、所述第一分割特征和所述第二分割特征,构建总损失函数;基于所述总损失函数,训练图像特征提取模型。
6.根据本公开的另一方面,提供了一种图像特征提取模型的训练装置,包括:第一获取模块,用于对第一图像的第一图像特征进行分割处理,以获得第一分割特征;第二获取模块,用于对第二图像的第二图像特征进行分割处理,以获得第二分割特征;构建模块,用于基于所述第一图像特征、所述第二图像特征、所述第一分割特征和所述第二分割特征,构建总损失函数;训练模块,用于基于所述总损失函数,训练图像特征提取模型。
7.根据本公开的另一方面,提供了一种图像处理方法,包括:获取待处理图像;基于预设参数,提取所述待处理图像的图像特征;其中,所述预设参数是基于第一图像样本的第一图像特征、第二图像样本的第二图像特征,以及,第一分割特征和第二分割特征获得,所述第一分割特征是对所述第一图像特征进行分割处理后获得,所述第二分割特征是对所述第二图像特征进行分割处理后获得,所述第一图像样本和所述第二图像样本互为正样本;基于所述图像特征,获取所述待处理图像的处理结果。
8.根据本公开的另一方面,提供了一种图像处理装置,包括:获取模块,用于获取待处理图像;提取模块,用于基于预设参数,提取所述待处理图像的图像特征;其中,所述预设参数是基于第一图像样本的第一图像特征、第二图像样本的第二图像特征,以及,第一分割特征和第二分割特征获得,所述第一分割特征是对所述第一图像特征进行分割处理后获得,所述第二分割特征是对所述第二图像特征进行分割处理后获得,所述第一图像样本和所述第二图像样本互为正样本;处理模块,用于基于所述图像特征,获取所述待处理图像的处理结果。
9.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
10.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
11.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
12.根据本公开的技术方案,可以提高图像特征提取模型的性能。
13.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要表示,也不用于限制本公开的范围。本公开的其它表示将通过以下的说明书而变得容易理解。
附图说明
14.附图用于更好地理解本方案,不构成对本公开的限定。其中:
15.图1是本公开实施例提供的一种图像特征提取模型的训练方法的流程图;
16.图2是用来实现本公开实施例的图像特征提取模型的训练方法的应用场景的示意图;
17.图3是本公开实施例提供的另一种图像特征提取模型的训练方法的流程图;
18.图4是图3所对应的框架图;
19.图5是本公开实施例与相关技术所提取的图像特征的对比图;
20.图6是本公开实施例提供的一种图像特征提取模型的训练装置的结构图;
21.图7是本公开实施例提供的一种图像处理方法的流程图;
22.图8是本公开实施例提供的一种图像处理装置的流程图;
23.图9是用来实现本公开实施例的图像特征提取模型的训练方法或图像处理方法的电子设备的示意图。
具体实施方式
24.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
25.相关技术中,训练图像特征提取模型时,一般是样本级别(instance level)的,这种粒度较粗,性能并不理想。
26.为了提高图像特征提取模型的性能,本公开提供如下实施例。
27.图1是本公开实施例提供的一种图像特征提取模型的训练方法的流程图,如图1所示,本实施例的方法包括:
28.101、对第一图像的第一图像特征进行分割处理,以获得第一分割特征。
29.102、对第二图像的第二图像特征进行分割处理,以获得第二分割特征,所述第一
图像和所述第二图像互为正样本。
30.103、基于所述第一图像特征、所述第二图像特征、所述第一分割特征和所述第二分割特征,构建总损失函数。
31.104、基于所述总损失函数,训练图像特征提取模型。
32.本实施例的执行主体可以为图像特征提取模型的训练装置,该训练装置可以位于电子设备内,电子设备可以为用户终端或者服务器等。
33.第一图像和第二图像为模型训练的一对样本,互为正样本。可以在已有的样本集中获取,或者,采用预设的生成方式进行生成。
34.第一图像特征是第一图像的图像特征,可以通过对第一图像进行特征提取处理后获得;第二图像特征是第二图像的图像特征,可以通过对第二图像进行特征提取处理后获得。
35.对第一图像特征进行分割处理后获得的特征可以称为第一分割特征,对第二图像特征进行分割处理后获得的特征可以称为第二分割特征。
36.由于分割特征(第一分割特征和第二分割特征)是对图像特征(第一图像特征和第二图像特征)进行分割后获得的,因此,一般来讲,分割特征的维度是小于图像特征的维度的,因此,图像特征可以认为是粗粒度的特征,分割特征可以认为是细粒度的特征。
37.比如,一般来讲,图像特征为特征图(feature map),因此,可以将特征图分割(split)为多个分块(patch),每个分块作为一组分割特征。
38.具体地,比如,特征图的维度为n*n,经过分割处理,分割特征的维度可以为m*m,其中,m和n均为正整数,m《n;具体如,若分割为4个分块,则m=n/2。
39.获得第一图像特征、第二图像特征、第一分割特征、第二分割特征后,可以基于上述特征构建总损失函数,以及,基于总损失函数训练图像特征提取模型。
40.其中,模型训练过程,即调整模型参数的过程,比如,模型初始时具有初始参数,可以基于总损失函数调整初始参数,直至达到预设的迭代次数后,获得最终的模型参数,即生成最终的模型。
41.由于图像特征是对应图像的,可以认为是instance level的,是粗粒度的;分割特征是对图像特征进行分割后获得的,可以认为是patch level的,是细粒度的;从而,可以获得多种级别的特征。
42.本实施例中,由于第一图像特征和第二图像特征是样本级别的,第一分割特征和第二分割特征是分块级别的,因此,可以基于多种级别的特征构建总损失函数,进而训练图像特征提取模型,由于模型训练时参考了多种级别的特征,可以提高图像特征提取模型的性能,例如,由于参考了细粒度的特征,可以提高模型的信息采集能力,能够提取到更具有显著性的信息,进而提高图像特征提取模型的精准度。
43.为了更好地理解本公开实施例,对本公开实施例的应用场景进行如下说明。
44.图2是用来实现本公开实施例的图像特征提取模型的训练方法的应用场景的示意图。
45.如图2所示,应用环境所对应的系统架构可以包括用户终端201和服务器202,用户终端201与服务器202之间采用通信网络进行通信。用户终端201可以包括:个人电脑(personal computer、pc)、移动设备、智能家居设备、智能家居设备、可穿戴式设备等,移动
设备比如包括手机、便携式电脑、平板电脑等,智能家居设备比如包括智能音箱、智能电视等,可穿戴式设备比如包括智能手表、智能眼镜等。服务器202可以为本地服务器或者云端服务器,可以为单个服务器或者集群服务器等。通信网络可以为有线(如光纤)和/或无线(如wifi)通信链路。
46.用户终端面向用户,可以获取用户提交的数据和/或向用户展现数据。比如,用户可以通过用户终端的用户界面选择待处理的图像样本,用户终端将图像样本发送给服务器。
47.服务器提供各种服务,比如,在训练阶段,服务器可以基于用户终端发送的图像样本训练图像特征提取模型。在应用阶段,服务器可以基于生成的图像特征提取模型对用户终端发送的待处理图像进行图像特征提取处理,以获得待处理图像的图像特征,基于图像特征执行后续流程,比如,基于图像特征进行ocr、人脸识别等。
48.另外,图像处理过程也可以在用户终端侧执行,比如,服务器还可以将训练后生成的图像特征提取模型发送给用户终端。在应用阶段,用户终端可以利用图像特征提取模型提取图像特征,基于图像特征执行后续流程,比如,基于图像特征进行ocr、人脸识别等。
49.结合上述的应用场景,对本公开实施例的图像特征提取模型的训练方法进行说明如下:
50.一般来讲,模型训练过程在服务器侧执行,即,服务器可以接收用户终端发送的图像样本,基于图像样本训练图像特征提取模型。
51.第一图像和第二图像是作为模型训练的图像样本,可以是用户终端发送给服务器的。或者,也可以是服务器基于用户终端发送的某个图像样本分别生成第一图像和第二图像。
52.第一图像和第二图像可以互为正样本,正样本是指语义相似的样本,比如,第一图像为小猫图像,第二图像也是小猫图像(两者可以为不同角度),第三图像为小狗图像,则第一图像和第二图像互为正样本,第三图像为负样本。
53.图像特征提取模型也可以称为编码器(encoder)。
54.服务器获得第一图像和第二图像后,可以采用初始的编码器分别提取第一图像和第二图像的图像特征,以得到第一图像特征和第二图像特征。
55.初始的编码器可以是随机初始化的,或者也可以是已有的预训练模型。
56.获得第一图像特征和第二图像特征后,可以分别进行分割处理,以获得第一分割特征和第二分割特征。其中,分割处理可以具体为均分处理,比如,可以预先设定分块的数量,具体如4块,则可以将第一图像特征和第二图像特征分别均分为4块,每个分块为一组分割特征。
57.可以理解的是,上述分割处理,可以为一次或多次。比如,第一图像特征为特征a,可以将特征a分割为特征a1,特征a1是一组分割特征,之后,可以再对特征a1进行分割,获得特征a2,从而可以获得更多级别的图像特征。为了简化说明,以一次分割为例。
58.获得上述图像特征(第一图像特征、第二图像特征、第一分割特征、第二分割特征)后,可以基于上述图像特征构建总损失函数。
59.其中,可以基于所述第一图像特征和所述第二图像特征,构建第一损失函数;基于所述第一分割特征和所述第二分割特征,构建第二损失函数;基于所述第一损失函数和所
述第二损失函数,构建总损失函数。
60.上述示例中,通过第一图像特征和第二图像特征构建第一损失函数,可以获得一种级别的特征(比如为样本级)对应的第一损失函数,通过第一分割特征和第二分割特征构建第二损失函数,可以获得另一种级别的特征(比如为分块级)对应的第二损失函数,基于第一损失函数和第二损失函数构建总损失函数,从而总损失函数是基于多种级别的特征构建的,可以包含多种级别的信息,进而可以训练出性能更好的模型,由于模型是基于多种级别的信息训练得到的,可以提取更具有显著性的特征,提升模型精准度。
61.自监督学习是机器学习的一种,能够在无大规模人工标注数据的基础上,获得较好性能的模型。对比学习是自监督学习的一种,核心思想是把正样本距离拉近,正样本与负样本距离拉远。
62.在计算机视觉中,采用对比学习获得的图像特征提取模型可以更好地提取图像特征。
63.针对对比学习算法,还可以获得第三图像特征,第三图像特征是指第一图像的负样本的图像特征,比如,上述示例中,第一图像和第二图像均为小猫图像,则可以将小狗图像作为负样本,相应地,第三图像特征是指小狗图像的图像特征。
64.相应地,可以采用对比学习算法,基于所述第一图像特征、所述第二图像特征和所述第三图像特征,构建第一损失函数。
65.上述示例中,采用对比学习算法构建第一损失函数,可以利用对比学习算法的优良性能,由于对比学习算法是一种自监督算法,不需要标注数据,可以降低人工标注的工作量,提高训练效率;另外,采用对比学习算法可以比对正负样本之间的差异性,基于该差异性可以获得准确度更好的图像特征提取模型。
66.总损失函数可以是第一损失函数和第二损失函数的和,第一损失函数基于正负样本的粗粒度级别特征(第一图像特征、第二图像特征和第三图像特征)构建,第二损失函数基于正样本的细粒度级别特征(第一分割特征和第二分割特征)构建。因此,总损失函数将包含多种级别的特征。
67.另外,对比学习的核心思想之一是将正样本距离拉近,这点可以体现在第一损失函数和第二损失函数中,对比学习的核心思想之二时将正负样本距离拉远,这点可以体现在第一损失函数中。
68.基于总损失函数构建图像特征提取模型时,可以包括计算总损失函数的梯度,采用反向传播(back propagation,bp)算法对图像特征提取模型的模型参数进行更新,直至达到预设的迭代次数。
69.其中,第一图像特征和第二图像特征分别是第一图像和第二图像的图像特征,提取图像特征时,第一图像和第二图像可以共享同一个图像特征提取模型,此时,可以采用bp算法更新该共享的同一个图像提取提取模型的模型参数,直至生成最终的图像特征提取模型。或者,
70.提取图像特征时,第一图像和第二图像可以采用不同的图像特征提取模型,比如,第一图像采用第一图像特征提取模型提取第一图像特征,第二图像采用第二图像特征提取模型提取第二图像特征。此时,可以采用bp算法更新其中一个图像特征提取模型的模型参数,比如采用bp算法更新第一图像特征提取模型的模型参数,另一个图像特征提取模型的
模型参数可以采用其他方式进行更新。相应地,可以将第一图像特征提取模型和第二图像特征提取模型中的一个作为最终的图像特征提取模型,比如,可以将最终生成的第一图像特征提取模型作为最终的图像特征提取模型。
71.下面以第一图像和第二图像分别采用不同的图像特征提取模型进行图像特征提取,以及,采用对比学习算法构建第一损失函数为例进行说明。
72.由于图像特征提取模型也可以称为编码器,因此,上述的不同的图像特征提取模型可以分别称为第一编码器和第二编码器,之后,可以选择训练阶段生成的第一编码器作为应用阶段采用的编码器,即最终的图像特征提取模型为第一编码器。
73.图像特征提取模型(第一编码器和第二编码器)的结构可以采用已有结构,比如为moco v2。
74.图3是本公开实施例提供的另一种图像特征提取模型的训练方法的流程图,图4是图3所对应的系统架构图,如图3所示,并可以参考图4所示的架构图,本实施例的方法包括:
75.301、获取第一图像和第二图像,所述第一图像和所述第二图像互为正样本。
76.其中,正样本是指语义相似的样本,负样本是指语义不相似(表现可以是语义特征是相互正交的)的样本。
77.具体地,可以从已有的图像样本集中人工收集或标注,获得正负样本。
78.或者,针对正样本,可以基于同一张图像获得。
79.具体地,可以对同一张图像分别进行两种不同的数据增强处理,以获得所述第一图像和所述第二图像。
80.其中,同一张图像可以是已有图像样本集中的图像。
81.在计算机视觉中,典型的数据增强方法有翻转(flip),旋转(rotate),缩放(scale),随机裁剪或补零(random crop or pad),色彩抖动(color jittering),加噪声(noise)等。
82.另外,本实施例的上述两种不同的数据增强处理方式,还可以包括保持图像不变的处理方式。
83.比如,针对同一张图像,该图像可以称为原始图像,一张保持原始图像不变作为第一图像;另一张对原始图像进行翻转后获得,作为第二图像。
84.参见图4,第一图像和第二图像可以为两个角度不同的小猫图像。
85.上述示例中,通过对同一张图像进行不同的数据增强处理,获得第一图像和第二图像,可以在样本数量较少时也能够获得多种互为正样本的第一图像和第二图像,降低模型训练所需的样本量,从而可以在较少样本量的基础上依然能够通过不同的数据增强处理,获得足够的正样本,完成小样本基础上的模型训练,降低收集大数据量的样本所需的各种开销,提高训练效率。
86.302、采用第一编码器,对输入的所述第一图像进行特征提取处理,以获得第一图像特征。
87.其中,参见图4,第一编码器的输入为第一图像,输出为第一图像特征,第一编码器对第一图像进行图像特征提取处理。
88.303、对所述第一图像特征进行分割处理,以获得第一分割特征。
89.一般来讲,图像特征为特征图(feature map),如图4所示。
90.即,所述第一图像特征为第一图像特征图,所述第二图像特征为第二图像特征图,且,所述第一图像特征图与所述第二图像特征图的维度相同;所述对第一图像的第一图像特征进行分割处理,以获得第一分割特征,包括:将所述第一图像特征图平均分割为第一数量的分块,将所述第一数量的分块作为所述第一分割特征;所述对第二图像的第二图像特征进行分割处理,以获得第二分割特征,包括:将所述第二图像特征图平均分割为第二数量的分块,将所述第二数量的分块作为所述第二分割特征;其中,所述第一数量与所述第二数量相同。
91.比如,参见图4,可以将第一图像特征均分为4个分块,每个分块作为一组第一分割特征。
92.由于图像特征一般是特征图,因此,采用平均分块的方式,可以简便地获得到细粒度的分割特征。
93.上述描述了第一图像的处理流程,第二图像的处理流程类似,即还可以包括:
94.304、采用所述第二编码器,对输入的所述第二图像进行特征提取处理,以获得所述第二图像特征。
95.305、对第二图像的第二图像特征进行分割处理,以获得第二分割特征。
96.其中,302-303,与304-305无时序限定关系。
97.另外,可以理解的是,在获取图像特征时,除了编码器的处理,还可以包括其他的一些通常步骤,比如,可以对编码器输出的特征图进行池化和多层感知器(multi layer perceptron,mlp)处理。其中,池化可以具体为平均池化(avg pooling)。
98.经过上述的通常步骤,比如平均池化和mlp处理后,可以将图形式的特征转换为向量形式。比如,参见图4,第一图像特征用q表示,第二图像特征用k表示,第一分割特征用q1~q4表示,第二分割特征用k1~k4表示,上述的q、k、q1~q4、k1~k4均为向量形式。
99.上述示例中,分别采用第一编码器和第二编码器对第一图像和第二图像进行图像特征提取处理,可以便于后续采用不同的调整方式分别调整第一编码器和第二编码器。通过采用两个编码器,第一编码器和第二编码器可以采用各自适合的模型参数调整方式,提高各自性能。
100.306、获取所述第一图像的负样本的第三图像特征。
101.其中,可以从存储队列(memory queue)中,获取第三图像特征。
102.具体地,可以预先获得第三图像特征并将其存储到存储队列中,从而可以从存储队列中获取第三图像特征。负样本的个数可以为一个或多个。
103.关于第三图像特征的获取,可以是将之前样本已经生成的图像特征作为当前样本的负样本的图像特征,即第三图像特征。
104.具体地,模型训练过程是多次迭代的过程,每次迭代过程采用的样本是不同的。比如,第一次迭代过程的第一图像和第二图像分别用a1和b1表示,则第一次迭代过程可以获得a1对应的第一图像特征和b1对应的第二图像特征,此时,可以将b1对应的第二图像特征存储到存储队列中;第二次迭代过程中的第一图像和第二图像分别用a2和b2表示,则第二次迭代过程可以获得a2对应的第一图像特征和b2对应的第二图像特征,此时,a2对应的第三图像特征可以选择为第一次迭代过程生成的b1的第二图像特征。即,前面迭代过程中的正样本的图像特征可以作为后续迭代过程中的负样本的图像特征。
105.存储队列的长度是设定的整数值,因此,若当前迭代过程是第t(t为正整数)次迭代过程,假设存储队列的长度是k(k为正整数),则可以将第(t-k)~(t-1)次迭代过程所生成的第二图像特征,作为当前迭代过程的第三图像特征。可以理解的是,如果前面某次或某些迭代过程的第二图像特征并未生成,比如,当前迭代过程是第一次迭代过程,则可以采用预设的初始值。
106.相应地,当前迭代过程生成的第二图像特征可以存储到存储队列中,作为后续迭代过程的第三图像特征。比如,参见图4,可以将当前生成的第二图像特征k存储到存储队列中。
107.上述示例中,通过从存储队列中获取第三图像特征,可以获取到已预先生成的第三图像特征,不必实时生成第三图像特征,可以提高第三图像特征的获取效率,降低运算量。
108.307、采用对比学习算法,基于所述第一图像特征、所述第二图像特征和所述第三图像特征,构建第一损失函数。
109.其中,对比学习的核心思想是将正样本距离拉近,正样本与负样本距离拉远,因此,可以选择能够表征上述思想的第一损失函数。
110.比如,第一损失函数的计算公式可以为:
[0111][0112]
其中,l1是第一损失函数;q为第一图像特征,k为第二图像特征,τ为预设参数;k为存储队列的长度,即负样本的个数;k
i-为第i个负样本的图像特征,即第三图像特征。
[0113]
308、基于所述第一分割特征和所述第二分割特征,构建第二损失函数。
[0114]
其中,第二损失函数是能够表征拉近正样本距离的损失函数。
[0115]
比如,第二损失函数为kl(kullback-leibler)散度。
[0116]
由于分割特征(第一分割特征和第二分割特征)是多组,比如,图4所示为四组,因此,kl散度计算时,可以是各组第一分割特征与各组第二分割特征计算kl散度,从而获得多个kl散度,再将多个kl散度求和获得第二损失函数。
[0117]
基于图4所示的四组分割特征,第二损失函数的计算公式可以为:
[0118]
l2=l
kl
(q1,k1) l
kl
(q2,k2) l
kl
(q3,k3) l
kl
(q4,k4)
[0119]
其中,l2为第二损失函数;l
kl
(qi,ki)为第i组的第一分割特征与第二分割特征的kl散度,i=1,2,3,4。
[0120]
l
kl
(qi,ki)的计算公式为:
[0121][0122]
其中,m为第一分割特征qi和第二分割特征ki的维度,qi(x)是qi的第x个维度的元素,ki(x)是ki的第x个维度的元素。
[0123]
307与308无时序限定关系。
[0124]
309、基于所述第一损失函数和所述第二损失函数,构建总损失函数。
[0125]
其中,总损失函数的计算公式可以为:
[0126]
l=l1 l2;
[0127]
其中,l是总损失函数,l1是第一损失函数,l2是第二损失函数。
[0128]
可以理解的是,本实施例以第一图像和第二图像互为正样本为例。在其他示例中,第一图像和第二图像也可以互为负样本,此时,构建第一损失函数时,可以获得第一图像的正样本的图像特征,再基于对比学习的正负样本的图像特征构建第一损失函数;但是,针对第二损失函数,若第一图像和第二图像互为负样本,此时不能采用上述拉近正样本距离的损失函数,相反由于两者是负样本,需要拉远两者之间的距离,因此,可以采用能够表征拉远两者距离的损失函数。
[0129]
310、基于所述总损失函数,调整所述第一编码器的模型参数,以获得所述第一编码器的调整后的模型参数。
[0130]
其中,如图4所示,可以采用bp算法,利用总损失函数的梯度值更新第一编码器的模型参数。
[0131]
311、基于所述第二编码器的调整前的模型参数,以及所述第一编码器的调整后的模型参数,获得所述第二编码器的调整后的模型参数。
[0132]
其中,针对第一编码器,可以采用通常的bp算法进行模型参数的调整。
[0133]
针对第二编码器,可以大部分保留第二编码器的原有参数。
[0134]
具体地,可以对所述第二编码器的调整前的模型参数,以及所述第一编码器的调整后的模型参数,进行加权求和运算,以获得所述第二编码器的调整后的模型参数;其中,所述第二编码器的调整前的模型参数对应第一权重值,所述第一编码器的调整后的模型参数对应第二权重值,所述第一权重值大于所述第二权重值。
[0135]
比如,第一权重值为0.9,第二权重值为0.1。
[0136]
上述示例中,第一编码器的模型参数基于总损失函数调整,可以不断地学习各次迭代过程的信息;第二编码器的模型参数基于第一编码器的参数和自身原有参数确定,可以学习到第一编码器的信息以及保留自身信息;因此,第一编码器和第二编码器可以分别学习到不同方面的信息,在整体上使得整个训练过程包含更多的信息,从而提高最终的图像特征提取模型的性能。
[0137]
上述示例中,针对第二编码器,在加权运算时,自身模型参数对应的权重值较大,因此第二编码器的模型参数是缓慢变化的,可以提高稳定性,也可以保留自身良好的性能。
[0138]
上述的301~311表明了一次迭代过程的流程,模型训练时,可以执行多次迭代过程,直至达到预设的迭代次数。
[0139]
之后,可以将达到预设的迭代次数的第一编码器作为最终的图像特征提取模型,用于应用阶段。
[0140]
为了更好地理解本实施例生成的图像特征提取模型的性能,图5给出了对比图。
[0141]
如图5所示,其中的(a)是待提取特征的图像,(b)是采用相关技术未考虑多级别特征的模型,所提取的(a)所示的图像的图像特征,(c)是本公开实施例采用了多级别特征生成的模型,所提取的(a)所示的图像的图像特征。
[0142]
从图5可以看出,采用本公开实施例的模型提取的图像特征,目标(浴缸)的图像特征与背景(如土地等)的图像特征之间的区分度更强,即,本实施例的模型对重点信息的采集能力更强,特征表达能力更强。可以理解的是,受限于附图所要求的灰度图的表现形式,
实际中,采用带色彩的图像将更能体现出上述的区分度。
[0143]
另外,表1给出了基于样本集imagenet 100,本公开实施例的模型与相关技术模型的一些性能参数的对比。
[0144]
表1
[0145][0146]
其中,l1对应相关技术的性能参数,l1 l2对应本公开实施例的性能参数,如表1所示,本公开实施例(后两行)的性能参数是更好的,且,随着迭代次数的增加(最后一行的迭代次数更多),性能参数会更好。
[0147]
图6是本公开实施例提供的一种图像特征提取模型的训练装置的结构图。如图6所示,图像特征提取模型的训练装置600包括:获取模块601、构造模块602和训练模块603。
[0148]
第一获取模块601用于对第一图像的第一图像特征进行分割处理,以获得第一分割特征;第二获取模块602用于对第二图像的第二图像特征进行分割处理,以获得第二分割特征,所述第一图像和所述第二图像互为正样本;构建模块603用于基于所述第一图像特征、所述第二图像特征、所述第一分割特征和所述第二分割特征,构建总损失函数;训练模块604用于基于所述总损失函数,训练图像特征提取模型。
[0149]
本实施例中,由于第一图像特征和第二图像特征是样本级别的,第一分割特征和第二分割特征是分块级别的,因此,可以基于多种级别的特征构建总损失函数,进而训练图像特征提取模型,由于模型训练时参考了多种级别的特征,可以提高图像特征提取模型的性能。
[0150]
一些实施例中,所述构建模块603进一步用于:基于所述第一图像特征和所述第二图像特征,构建第一损失函数;基于所述第一分割特征和所述第二分割特征,构建第二损失函数;基于所述第一损失函数和所述第二损失函数,构建总损失函数。
[0151]
本实施例中,通过第一图像特征和第二图像特征构建第一损失函数,可以获得一种级别的特征(比如为样本级)对应的第一损失函数,通过第一分割特征和第二分割特征构建第二损失函数,可以获得另一种级别的特征(比如为分块级)对应的第二损失函数,基于第一损失函数和第二损失函数构建总损失函数,从而总损失函数是基于多种级别的特征构建的,可以包含多种级别的信息,进而可以训练出性能更好的模型。
[0152]
一些实施例中,所述第一图像和所述第二图像互为正样本;所述装置600还包括:第三获取模块,用于获取所述第一图像的负样本的第三图像特征;所述构建模块603进一步用于:采用对比学习算法,基于所述第一图像特征、所述第二图像特征和所述第三图像特征,构建第一损失函数。
[0153]
本实施例中,采用对比学习算法构建第一损失函数,可以利用对比学习算法的优良性能,从而可以获得性能更好的图像特征提取模型。
[0154]
一些实施例中,所述第三获取模块进一步用于:从预设的存储队列中,获取所述第
三图像特征。
[0155]
本实施例中,通过从存储队列中获取第三图像特征,可以获取到已预先生成的第三图像特征,不必实时生成第三图像特征,可以提高第三图像特征的获取效率,降低运算量。
[0156]
一些实施例中,所述图像特征提取模型为第一编码器或第二编码器;所述装置600还包括:第一编码模块,用于采用所述第一编码器,对输入的所述第一图像进行特征提取处理,以获得所述第一图像特征;第二编码模块,用于采用所述第二编码器,对输入的所述第二图像进行特征提取处理,以获得所述第二图像特征。
[0157]
本实施例中,分别采用第一编码器和第二编码器对第一图像和第二图像进行图像特征提取处理,可以便于后续采用不同的调整方式分别调整第一编码器和第二编码器。通过采用两个编码器,第一编码器和第二编码器可以采用各自适合的模型参数调整方式,提高各自性能。
[0158]
一些实施例中,所述训练模块604进一步用于:基于所述总损失函数,调整所述第一编码器的模型参数,以获得所述第一编码器的调整后的模型参数;基于所述第二编码器的调整前的模型参数,以及所述第一编码器的调整后的模型参数,获得所述第二编码器的调整后的模型参数。
[0159]
本实施例中,第一编码器的模型参数基于总损失函数调整,可以不断地学习各次迭代过程的信息;第二编码器的模型参数基于第一编码器的参数和自身原有参数确定,可以学习到第一编码器的信息以及保留自身信息;因此,第一编码器和第二编码器可以分别学习到不同方面的信息,在整体上使得整个训练过程包含更多的信息,从而提高最终的图像特征提取模型的性能。
[0160]
一些实施例中,所述训练模块进一步用于:对所述第二编码器的调整前的模型参数,以及所述第一编码器的调整后的模型参数,进行加权求和运算,以获得所述第二编码器的调整后的模型参数;其中,所述第二编码器的调整前的模型参数对应第一权重值,所述第一编码器的调整后的模型参数对应第二权重值,所述第一权重值大于所述第二权重值。
[0161]
本实施例中,针对第二编码器,在加权运算时,自身模型参数对应的权重值较大,因此第二编码器的模型参数是缓慢变化的,可以提高稳定性,也可以保留自身良好的性能。
[0162]
一些实施例中,所述第一图像特征为第一图像特征图,所述第二图像特征为第二图像特征图,且,所述第一图像特征图与所述第二图像特征图的维度相同;所述第一获取模块601进一步用于:将所述第一图像特征图平均分割为第一数量的分块,将所述第一数量的分块作为所述第一分割特征;所述第二获取模块602进一步用于:将所述第二图像特征图平均分割为第二数量的分块,将所述第二数量的分块作为所述第二分割特征;其中,所述第一数量与所述第二数量相同。
[0163]
本实施例中,由于图像特征一般是特征图,因此,采用平均分块的方式,可以简便地获得到细粒度的分割特征。
[0164]
一些实施例中,所述装置600还包括:数据增强模块,用于对同一张图像分别进行两种不同的数据增强处理,以获得所述第一图像和所述第二图像
[0165]
本实施例中,通过对同一张图像进行不同的数据增强处理,获得第一图像和第二图像,可以在样本数量较少时也能够获得多种互为正样本的第一图像和第二图像,降低所
需的样本量,实现小样本基础上的模型训练,提升训练效率。
[0166]
上述描述了模型训练过程,经过训练过程,可以获得图像特征提取模型。该图像特征提取模型可以用于图像处理过程。
[0167]
图7是本公开实施例提供的一种图像处理方法的流程图,如图7所示,图像处理方法可以包括:
[0168]
701、获取待处理图像。
[0169]
702、基于预设参数,提取所述待处理图像的图像特征;其中,所述预设参数是基于第一图像样本的第一图像特征、第二图像样本的第二图像特征,以及,第一分割特征和第二分割特征获得,所述第一分割特征是对所述第一图像特征进行分割处理后获得,所述第二分割特征是对所述第二图像特征进行分割处理后获得,所述第一图像样本和所述第二图像样本互为正样本。
[0170]
703、基于所述图像特征,获取所述待处理图像的处理结果。
[0171]
本实施例中,由于分割特征是对图像特征进行分割处理后获得的,可以认为图像特征是粗粒度的特征,分割特征是细粒度的特征;由于预设参数是基于图像特征和分割特征确定的,可以认为预设参数中包含多种级别的信息,因此,采用上述的预设参数提取待处理图像的特征时,可以提取到多种级别的特征,进而基于多种级别的特征获取处理结果时,可以获取到更精准的处理结果。因此,上述图像处理方法提高图像处理的精准度。
[0172]
一些实施例中,预设参数可以是指图像特征提取模型的模型参数,图像特征提取模型可以在训练阶段生成,关于图像特征提取模型的训练过程可以参见上述相关实施例。
[0173]
在应用阶段,图像特征提取模型的输入是待处理图像,输出是待处理图像的图像特征。
[0174]
图像处理可以应用到各种相关场景,例如,ocr、人脸识别、目标检测等。
[0175]
以人脸识别为例,待处理图像可以为人脸图像。相应地,图像特征可以是人脸图像的图像特征。
[0176]
基于应用场景的不同,图像特征可以输入到相关的下游任务的模型中进行处理,以输出处理结果。
[0177]
以人脸识别为例,人脸识别可以认为是分类任务,因此,图像特征可以输入到分类模型中,分类模型的输出是人脸识别结果,即在多个候选人中确定出是谁的人脸图像。分类模型的具体结构可以采用各种相关技术实现,例如为全连接网络。
[0178]
进一步地,预设参数的确定过程可以包括:预设参数可以随机进行初始化,以获得初始值;之后,基于第一图像特征和第二图像特征构建第一损失函数,基于第一分割特征和第二分割特征构建第二损失函数,基于第一损失函数和第二损失函数构建总损失函数,采用总损失函数从初始值开始不断调整预设参数,直至达到预设的迭代次数,将达到预设的迭代次数时的预设参数作为应用阶段最终采用的预设参数。
[0179]
与通常方式中只是基于图像特征构建损失函数不同,本实施例中,采用的损失函数可以称为总损失函数,总损失函数基于第一损失函数和第二损失函数确定,而不是仅仅包括第一损失函数。由于第一损失函数能够反映粗粒度的信息,第二损失函数能够反映细粒度的信息,因此,总损失函数将包含粗细粒度的信息,即包括多种级别的信息,基于包含多种级别的信息所调整的预设参数也将包含多种级别的信息,从而可以提高预设参数针对
图像特征的提取能力,进而提高图像处理的准确度。
[0180]
图8是本公开实施例提供的一种图像处理装置的结构图,如图8所示,图像处理装置可以包括:获取模块801、提取模块802和处理模块803。
[0181]
获取模块801用于获取待处理图像;提取模块802用于基于预设参数,提取所述待处理图像的图像特征;其中,所述预设参数是基于第一图像样本的第一图像特征、第二图像样本的第二图像特征,以及,第一分割特征和第二分割特征获得,所述第一分割特征是对所述第一图像特征进行分割处理后获得,所述第二分割特征是对所述第二图像特征进行分割处理后获得,所述第一图像样本和所述第二图像样本互为正样本;处理模块803用于基于所述图像特征,获取所述待处理图像的处理结果。
[0182]
本实施例中,由于分割特征是对图像特征进行分割处理后获得的,可以认为图像特征是粗粒度的特征,分割特征是细粒度的特征;由于预设参数是基于图像特征和分割特征确定的,可以认为预设参数中包含多种级别的信息,因此,采用上述的预设参数提取待处理图像的特征时,可以提取到多种级别的特征,进而基于多种级别的特征获取处理结果时,可以获取到更精准的处理结果。因此,上述图像处理方法提高图像处理的精准度。
[0183]
可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
[0184]
可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
[0185]
第一步骤与第二步骤无时序限定关系是指可以先执行第一步骤再执行第二步骤,或者,先执行第二步骤再执行第一步骤,或者并行执行第一步骤和第二步骤。
[0186]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0187]
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备900旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备900还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0188]
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0189]
电子设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元909,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0190]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及
任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如图像特征提取模型的训练方法或图像处理方法。例如,在一些实施例中,图像特征提取模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的图像特征提取模型的训练方法或图像处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像特征提取模型的训练方法或图像处理方法。
[0191]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0192]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0193]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0194]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0195]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0196]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0197]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0198]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献