训练方法、图像处理方法、装置、电子设备以及存储介质与流程

文档序号:28431745发布日期:2022-01-12 01:17阅读:74来源:国知局
训练方法、图像处理方法、装置、电子设备以及存储介质与流程

1.本公开涉及人工智能技术领域,尤其涉及计算机视觉和深度学习技术。具体地,涉及一种训练方法、图像处理方法、装置、电子设备以及存储介质。


背景技术:

2.自监督学习可以利用辅助任务从大规模的无监督数据中挖掘自身的监督信息,通过构造的监督信息对模型进行训练,从而可以学习到对下游任务有价值的表征。自监督学习因其无需数据标注,从而能够降低数据标注成本而备受关注,并被广泛应用于下游任务。例如,图像检索、图像分割、图像分类或目标检测等。


技术实现要素:

3.本公开提供了一种用于训练方法、图像处理方法、装置、电子设备以及存储介质。
4.根据本公开的一方面,提供了一种图像表征模型的训练方法,包括:对第一编码器和第二编码器执行多轮训练,直至满足预定条件;以及,将训练完成的第二编码器确定为上述图像表征模型;其中,上述对第一编码器和第二编码器执行多轮训练,包括:利用与当前轮对应的第一编码器处理与上述当前轮对应的第一样本图像数据,得到与上述当前轮对应的第一表征向量;利用与上述当前轮对应的第二编码器处理与上述当前轮对应的第二样本图像数据,得到与上述当前轮对应的第二表征向量,其中,上述第二样本图像数据是对上述第一样本图像数据进行数据增强得到的;利用与上述当前轮对应的第一表征向量、第二表征向量和多个第三表征向量训练与上述当前轮对应的第一编码器和第二编码器,其中,与上述当前轮对应的多个第三表征向量是基于与上述当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量得到的,与上述上一轮对应的动量队列包括与上述上一轮对应的第一表征向量。
5.根据本公开的另一方面,提供了一种图像处理方法,包括:将待处理图像的待处理图像数据输入图像表征模型,得到待处理表征向量;以及,根据上述待处理表征向量,得到与上述待处理图像对应的图像处理结果,其中,上述图像表征模型是利用如上所述的方法训练的。
6.根据本公开的另一方面,提供了一种图像表征模型的训练装置,包括:训练模块,用于对第一编码器和第二编码器执行多轮训练,直至满足预定条件;以及,第一确定模块,用于将训练完成的第二编码器确定为上述图像表征模型;其中,上述训练模块,包括:第一处理子模块,用于利用与当前轮对应的第一编码器处理与上述当前轮对应的第一样本图像数据,得到与上述当前轮对应的第一表征向量;第二处理子模块,用于利用与上述当前轮对应的第二编码器处理与上述当前轮对应的第二样本图像数据,得到与上述当前轮对应的第二表征向量,其中,上述第二样本图像数据是对上述第一样本图像数据进行数据增强得到的;训练子模块,用于利用与上述当前轮对应的第一表征向量、第二表征向量和多个第三表征向量训练与上述当前轮对应的第一编码器和第二编码器,其中,与上述当前轮对应的多
个第三表征向量是基于与上述当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量得到的,与上述上一轮对应的动量队列包括与上述上一轮对应的第一表征向量。
7.根据本公开的另一方面,提供了一种图像处理装置,包括:第一获得模块,用于将待处理图像的待处理图像数据输入图像表征模型,得到待处理表征向量;以及,第二获得模块,用于根据上述待处理表征向量,得到与上述待处理图像对应的图像处理结果,其中,上述图像表征模型是如上所述的装置训练的。
8.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行如上所述的方法。
9.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行如上所述的方法。
10.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现如上所述的方法。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1示意性示出了根据本公开实施例的可以应用图像表征模型的训练方法、图像处理方法及装置的示例性系统架构;
14.图2示意性示出了根据本公开实施例的图像表征模型的训练方法的流程图;
15.图3示意性示出了根据本公开实施例的图像处理方法的流程图;
16.图4示意性示出了根据本公开实施例的图像表征模型的训练过程的示例示意图;
17.图5示意性示出了根据本公开实施例的获得与当前轮对应的多个第三表征向量的示例示意图;
18.图6示意性示出了根据本公开实施例的图像表征模型的训练装置的框图;
19.图7示意性示出了根据本公开实施例的图像处理装置的框图;以及
20.图8示意性示出了根据本公开实施例的适于图像表征模型的训练方法和图像处理方法的电子设备的框图。
具体实施方式
21.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
22.自监督学习旨在通过找出可以合理解释图像的模式,来学习图像的语义表征。通过构建对比学习,学习正样本和负样本的语义信息。自监督学习中的对比学习在表征学习
领域备受关注。表征学习旨在通过自监督学习得到数据的一个表征向量,并且通过这个表征向量区分不同的数据。
23.在对比学习中,对父视图进行数据增强得到的子视图被认为是针对父视图的正样本,这是由于与父视图的类别相同,彼此保持相同的语义信息,即,与父视图属于同一实例。父视图可以指作为进行数据增强处理对象的视图。负样本作为对比学习的另一不可或缺的部分,在对比学习中也发挥着较为重要的作用。
24.与负样本对应的表征向量可以以动量队列的形式被使用。队列可以包括多个队列元素。多个队列元素是具有时序顺序的,即,是按照时序顺序进入队列的。队列具有“先进先出”的特点,即,如果需要向队列中添加新的队列元素,则在队列已满的情况下,可以使得最早入列的队列元素出队列,将新的队列元素添加至队列。动量队列可以指具有一定长度的队列。动量队列中的队列元素可以称为表征向量,即,动量队列可以包括多个表征向量。动量队列包括的表征向量可以指与负样本对应的表征向量。动量队列包括的表征向量可以动态更新,即,每轮具有与该轮对应的动量队列,更新体现在与当前轮对应的动量队列是将与上一轮对应的父视图对应的表征向量添加至与上一轮对应的动量队列,并按照时序顺序,将与上一轮对应的动量队列的一个表征向量出队列,使得与每轮对应的动量队列包括的表征向量的数目一致
25.动量队列中会存在质量较差的表征向量,即,存在与质量较差的负样本对应的表征向量,质量较差的表征向量并不是训练模型所需要的。并且在模型训练过程中,质量较差的表征向量不仅会带来较大的计算量和资源消耗,而且会降低模型本身对于实例特征和语义信息的选取精度,由此,影响图像表征模型的预测精度模型,进而影响基于图像表征模型的下游任务的表现。例如,下游任务可以包括图像检索、图像分割、图像分类或目标检测等。
26.为此,本公开实施例提出了一种图像表征模型的训练方案,即,对第一编码器和第二编码器执行多轮训练,直至满足预定条件。将训练完成的第二编码器确定为图像表征模型。对第一编码器和第二编码器执行多轮训练,可以包括:利用与当前轮对应的第一编码器处理与当前轮对应的第一样本图像数据,得到与当前轮对应的第一表征向量。利用与当前轮对应的第二编码器处理与当前轮对应的第二样本图像数据,得到与当前轮对应的第二表征向量。第二样本图像数据是对第一样本图像数据进行数据增强得到的。利用与当前轮对应的第一表征向量、第二表征向量和多个第三表征向量训练与当前轮对应的第一编码器和第二编码器。与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量得到的,与上一轮对应的动量队列包括与上一轮对应的第一表征向量。
27.基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量,得到与当前轮对应的多个第三表征向量,实现了根据训练过程动态调整参与模型训练的与负样本对应的表征向量,使得参与模型训练的与负样本对应的表征向量更为合理,由此,提高了模型的泛化能力,降低了训练成本和运行时间。在此基础上,根据与当前轮对应的第一表征向量、第二表征向量和多个第三表征向量训练与当前轮对应的第一编码器和第二编码器,直至满足预定条件,将在满足预定条件的情况下得到的第二编码器确定为图像表征模型,提高了图像表征模型的预测精度。
28.需要说明的是,本公开实施例的图像表征模型不但适用于对比学习或小目标识别
等纯计算机视觉领域的多方面应用,而且可以适用于多种工业领域。例如,无人机巡检、自动驾驶多目标跟踪或流水线机器人作业等。本公开实施例对图像表征模型的应用领域不作限定。
29.图1示意性示出了根据本公开实施例的可以应用图像表征模型的训练方法、图像处理方法及装置的示例性系统架构。
30.需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用图像表征模型训练方法、图像处理方法及装置的示例性系统架构可以包括终端设备,但终端设备可以无需与服务器进行交互,即可实现本公开实施例提供的图像表征模型训练方法、图像处理方法及装置。
31.如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等。
32.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如知识阅读类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
33.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
34.服务器105可以是提供各种服务的各种类型的服务器,例如对用户利用终端设备101、102、103所浏览的内容提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
35.服务器105可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,解决了传统物理主机与vps服务(virtual private server,vps)中,存在的管理难度大,业务扩展性弱的缺陷。服务器105也可以为分布式系统的服务器,或者是结合了区块链的服务器。
36.需要说明的是,本公开实施例所提供的图像表征模型的训练方法一般可以由服务器105执行。相应地,本公开实施例所提供的图像表征模型的训练装置一般可以设置于服务器105中。本公开实施例所提供的图像表征模型的训练方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的图像表征模型的训练装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
37.或者,本公开实施例所提供的图像表征模型的训练方法一般也可以由终端设备101、102、或103执行。相应地,本公开实施例所提供的图像表征模型的训练装置也可以设置于终端设备101、102、或103中。
38.需要说明的是,本公开实施例所提供的图像处理方法一般可以由终端设备101、102、或103执行。相应地,本公开实施例所提供的图像处理装置也可以设置于终端设备101、102、或103中。
39.或者,本公开实施例所提供的图像处理方法一般也可以由服务器105执行。相应地,本公开实施例所提供的图像处理装置一般也可以设置于服务器105中。本公开实施例所提供的图像处理方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的图像处理装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
40.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
41.图2示意性示出了根据本公开实施例的图像表征模型的训练方法的流程图。
42.如图2所示,该方法200包括操作s210~s220。
43.在操作s210,对第一编码器和第二编码器执行多轮训练,直至满足预定条件。
44.在操作s220,将训练完成的第二编码器确定为图像表征模型。
45.根据本公开的实施例,操作s210可以包括操作s211~s213。
46.在操作s211,利用与当前轮对应的第一编码器处理与当前轮对应的第一样本图像数据,得到与当前轮对应的第一表征向量。
47.在操作s212,利用与当前轮对应的第二编码器处理与当前轮对应的第二样本图像数据,得到与当前轮对应的第二表征向量。第二样本图像数据是对第一样本图像数据进行数据增强得到的。
48.在操作s213,利用与当前轮对应的第一表征向量、第二表征向量和多个第三表征向量训练与当前轮对应的第一编码器和第二编码器。与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量得到的,与上一轮对应的动量队列包括与上一轮对应的第一表征向量。
49.根据本公开的实施例,预定条件可以用于作为图像表征模型是否训练完成的条件。预定条件可以包括训练轮次达到最大训练轮次或其他条件。其他条件可以包括损失函数的输出值收敛。第一编码器可以用于作为提取父视图的父视图数据的特征的编码器。第一编码器也可以用于提取负样本的负样本图像数据的特征的编码器,即,第一编码器可以用于作为获得动量队列的编码器。第二编码器可以用于作为提取子视图的子视图数据的特征的编码器。子视图可以指对父视图进行数据增强得到的视图。数据增强可以包括几何变换和像素变换中的至少一项。几何变换可以包括翻转、旋转、裁剪、缩放、平移和抖动中的至少一项。像素变换可以包括调节清晰度、调节对比度、调节亮度和调节饱和度中的至少一项。
50.根据本公开的实施例,父视图可以指第一样本图像。子视图可以指第二样本图像。负样本可以指第三样本图像。第二样本图像数据可以是与第二样本图像对应的样本图像数据。第三样本图像数据可以是与第三样本图像对应的样本图像数据。
51.根据本公开的实施例,针对多轮中的每轮,具有与每轮对应的第一样本图像、第二样本图像、第三样本图像和动量队列。具有与每轮对应的第一编码器和第二编码器。对第一编码器和第二编码器执行多轮训练,直至满足预定条件可以包括:将正在进行的轮次称为当前轮。基于损失函数,利用与当前轮对应的第一表征向量、第二表征向量和多个第三表征向量,得到与当前轮对应的输出值。根据与当前轮对应的输出值调整与当前轮对应的第二
编码器的模型参数,得到与下一轮对应的第二编码器的模型参数。与下一轮对应的第一编码器的模型参数是在获得与下一轮对应的第二编码器的模型参数的情况下,根据与下一轮对应的第二编码器的模型参数调整与当前轮对应的第一编码器的模型参数得到的。与下一轮对应的第一编码器的模型参数是在获得与下一轮对应的第二编码器的模型参数的情况下,根据与下一轮对应的第二编码器的模型参数调整与当前轮对应的第一编码器的模型参数得到的,可以包括:与下一轮对应的第一编码器的模型参数是在获得与下一轮对应的第二编码器的模型参数的情况下,根据与下一轮对应的第二编码器的模型参数和与当前轮对应的第一编码器的模型参数确定的。
52.在当前轮是首轮的情况下,初始化第一编码器的模型参数和第二编码器的模型参数,得到与首轮对应的第一编码器和第二编码器。将与首轮对应的第一样本图像数据和与首轮对应的与第一样本图像数据的类别不同的图像数据集分别输入与首轮对应的第一编码器,得到与首轮对应的第一表征向量和与首轮对应的初始动量队列。将与首轮对应的第二样本图像数据输入与首轮对应的第二编码器,得到与首轮对应的第二表征向量。可以将与首轮对应的初始动量队列包括的全部表征向量均作为参与首轮的模型训练的表征向量。即,与首轮对应的多个第三表征向量均是指与首轮对应的初始动量队列。
53.可以基于损失函数,利用与首轮对应的第一表征向量、第二表征向量和初始动量队列,得到与首轮对应的输出值。根据与首轮对应的输出值调整与首轮对应的第二编码器,得到与第二轮对应的第二编码器的模型参数。与第二轮对应的第一编码器的模型参数可以是在获得与第二轮对应的第二编码器的模型参数的情况下,根据与第二轮对应的第二编码器的模型参数和与首轮对应的第一编码器的模型参数确定的。
54.可以将与首轮对应的第一表征向量添加至与首轮对应的初始动量队列,动量队列中包括的表征向量的数目是固定的,因此,可以遵循“先进先出”原则,按照时序顺序,将最早进入与首轮对应的初始动量队列中的表征向量出队,得到与首轮对应的动量队列。可以根据与第二轮对应的样本选择策略,基于与首轮对应的第二表征向量和与首轮对应的动量队列,得到与第二轮对应的多个第三表征向量。与第二轮对应的多个第三表征向量是用于参与第二轮的模型训练的表征向量。
55.根据本公开的实施例,在当前轮是第二轮的情况下,可以将与第二轮对应的第一样本图像数据输入与第二轮对应的第一编码器,得到与第二轮对应的第一表征向量。将与第二轮对应的第二样本图像数据输入与第二轮对应的第二编码器,得到与第二轮对应的第二表征向量。
56.可以基于损失函数,利用与第二轮对应的第一表征向量、第二表征向量和初始动量队列,得到与第二轮对应的输出值。根据与第二轮对应的输出值调整与第二轮对应的第二编码器,得到与第三轮对应的第二编码器的模型参数。与第三轮对应的第一编码器的模型参数可以是在获得与第三轮对应的第二编码器的模型参数的情况下,根据与第三轮对应的第二编码器的模型参数和与第二轮对应的第一编码器的模型参数确定的。
57.可以将与第二轮对应的第一表征向量添加至与第二轮对应的动量队列,可以遵循“先进先出”原则,按照时序顺序,将最早进入与第二轮对应的动量队列中的表征向量出队,得到与第二轮对应的动量队列。可以根据与第三轮对应的样本选择策略,基于与第二轮对应的第二表征向量和与第二轮对应的动量队列,得到与第三轮对应的多个第三表征向量。
与第三轮对应的多个第三表征向量是用于参与第三轮的模型训练的表征向量。
58.基于上述的训练过程,对第一编码器和第二编码器执行多轮训练,直至满足预定条件,得到训练完成的第一编码器和第二编码器。可以将训练完成的第二编码器确定为图像表征模型。
59.根据本公开的实施例,基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量,得到与当前轮对应的多个第三表征向量,实现了根据训练过程动态调整参与模型训练的与负样本对应的表征向量,使得参与模型训练的与负样本对应的表征向量更为合理,由此,提高了模型的泛化能力,降低了训练成本和运行时间。在此基础上,根据与当前轮对应的第一表征向量、第二表征向量和多个第三表征向量训练与当前轮对应的第一编码器和第二编码器,直至满足预定条件,将在满足预定条件的情况下得到的第二编码器确定为图像表征模型,提高了图像表征模型的预测精度。
60.根据本公开的实施例,与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量得到的,可以包括:与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量,从与上一轮对应的动量队列中选择部分表征向量得到的。与当前轮对应的样本选择策略是根据进程指标值确定,进程指标值用于表征与上一轮对应的训练进程。
61.根据本公开的实施例,样本选择策略可以是用于从与上一轮对应的动量队列中选择参与当前轮训练的表征向量的策略。样本选择策略可以根据进程指标值确定。进程指标值可以用于表征与上一轮对应的训练进程。进程指标值可以包括以下至少一项:与上一轮对应的训练轮次和训练消耗时长。
62.根据本公开的实施例,与上一轮对应的动量队列还包括至少一个第四表征向量。与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应动量队列和第二表征向量,从与上一轮对应的动量队列中选择部分表征向量得到的,可以包括:与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据第一相似度和至少一个第二相似度,从与上一轮对应的动量队列中选择部分表征向量得到的。第一相似度是与上一轮对应的第一表征向量和第二表征向量之间的相似度,每个第二相似度是与上一轮对应的至少一个第四表征向量中的每个第四表征向量与上一轮对应的第二表征向量之间的相似度。
63.根据本公开的实施例,相似度可以表征两个表征向量之间的相似程度。相似度可以根据实际业务需求进行设定,在此不作限定。例如,相似度可以包括余弦相似度、皮尔逊相关系数、欧式距离或jaccard距离。第四表征向量可以指与上一轮对应的动量队列中除第一表征向量以外的任意一个表征向量。
64.例如,与上一轮对应的动量队列包括与上一轮对应的第一表征向量k2。与上一轮对应的动量队列可以为queue={k2,k1,a,b,c,d}。与上一轮对应的第一表征向量可以为k2。与上一轮对应的五个第四表征向量可以为k1、a、b、c和d。
65.与上一轮对应的第一相似度可以为与上一轮对应的第一表征向量k2和与上一轮对应的第二表征向量q2之间的相似度。与上一轮对应的每个第二相似度可以为与上一轮对应的五个第四表征向量中的每个第四表征向量与上一轮对应的第二表征向量q2之间的相
似度。
66.根据本公开的实施例,与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据第一相似度和至少一个第二相似度,从与上一轮对应的动量队列中选择部分表征向量得到的,可以包括:与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据排序结果,从与上一轮对应的动量队列中选择部分表征向量得到的。排序结果是根据第一相似度和至少一个第二相似度,对与上一轮对应的动量队列包括的第一表征向量和至少一个第四表征向量进行排序得到的。
67.根据本公开的实施例,可以根据第一相似度和多个第二相似度,基于相似度从大到小的顺序,对与上一轮对应的动量队列包括的第一表征向量和至少一个第四表征向量进行排序。备选地,可以根据第一相似度和多个第二相似度,基于相似度从小到大的顺序,对与上一轮对应的动量队列包括的第一表征向量和至少一个第四表征向量进行排序。
68.根据本公开的实施例,与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据第一相似度和至少一个第二相似度,从与上一轮对应的动量队列中选择部分表征向量得到的,可以包括:与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的相似度阈值、第一相似度和至少一个第二相似度,从与上一轮对应的动量队列包括的第一表征向量和至少一个第四表征向量进行排序得到的。
69.根据本公开的实施例,相似度阈值可以用于作为从第一表征向量和多个第四表征向量中选择部分表征向量的依据之一。相似度阈值的数值可以根据实际业务需求进行配置,在此不作限定。例如,针对第一相似度和至少一个第二相似度中的每个相似度,在确定相似度大于或等于相似度阈值的情况下,将与相似度对应的第四表征向量确定为参与当前轮的模型训练的第三表征向量。备选地,针对第一相似度和至少一个第二相似度中的每个相似度,在确定相似度小于或等于相似度阈值的情况下,将与相似度对应的第四表征向量确定为参与当前轮的模型训练的第三表征向量。
70.根据本公开的实施例,进程指标值可以包括以下至少一项:与上一轮对应的训练轮次和训练消耗时长。
71.根据本公开的实施例,在训练初期,相似度低的样本有助于构建语义表征,随着训练的进行,在训练后期,第一编码器和第二编码器变得更加复杂,相似度高的样本有助于优化模型,因此,如果训练轮次是与训练初期对应的轮次,则可以选择与相似度低对应的表征向量作为参与当前轮的模型训练的表征向量。如果训练轮次是与训练中期对应的轮次,则可以选择与相似度处于中间的表征向量作为参与当前轮的模型训练的表征向量。如果训练轮次是与训练后期对应的轮次,则可以选择与相似度高对应的表征向量作为参与当前轮的模型训练的表征向量。
72.与训练初期对应的轮次可以指训练轮次小于或等于第一训练轮次阈值的轮次。与训练后期对应的轮次可以指训练轮次大于或等于第二训练轮次阈值的轮次。第一训练轮次阈值小于第二训练轮次阈值。与训练中期对应的轮次可以指训练轮次大于第一训练轮次阈值且小于第二训练轮次阈值的轮次。相似度低可以指相似度小于或等于第一相似度阈值的相似度。相似度高可以指相似度大于或等于第二相似度阈值的相似度。相似度处于中间可以指相似度大于第一相似度阈值且小于第二相似度阈值的相似度。第一相似度阈值小于第
二相似度阈值。第一相似度阈值可以与上文所述的相似度阈值相同或不同。第二相似度阈值可以与上文所述的相似度阈值相同或不同。此外,还可以结合训练消耗时长。
73.图3示意性示出了根据本公开实施例的图像处理方法的流程图。
74.如图3所示,该方法300包括操作s310~s320。
75.操作s310,将待处理图像的待处理图像数据输入图像表征模型,得到待处理表征向量。
76.操作s320,根据待处理表征向量,得到与待处理图像对应的图像处理结果。
77.根据本公开的实施例,图像表征模型是利用根据本公开实施例所述的图像表征模型的训练方法训练的。
78.根据本公开的实施例,可以利用图像表征模型处理待处理图像数据,得到待处理表征向量。针对图像处理任务的不同,可以利用待处理表征向量实现图像处理任务。图像处理任务可以包括图像分割、图像分类、图像检索、图像识别和目标检测等中的至少一项。
79.根据本公开的实施例,基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量,得到与当前轮对应的多个第三表征向量,实现了根据训练过程动态调整参与模型训练的与负样本对应的表征向量,使得参与模型训练的与负样本对应的表征向量更为合理,由此,提高了模型的泛化能力,降低了训练成本和运行时间。在此基础上,根据与当前轮对应的第一表征向量、第二表征向量和多个第三表征向量训练与当前轮对应的第一编码器和第二编码器,直至满足预定条件,将在满足预定条件的情况下得到的第二编码器确定为图像表征模型,提高了图像表征模型的预测精度。在此基础上,利用图像表征模型处理待处理图像数据,得到待处理表征向量,再对待处理表征向量进行处理,得到图像处理结果,提高了图像处理结果的准确性。
80.根据本公开的实施例,操作s320可以包括如下操作。
81.对待处理表征向量进行图像分割,得到与待处理图像对应的图像分割结果。
82.根据本公开的实施例,可以利用图像分割模型处理待处理表征向量,得到与待处理图像对应的图像分割结果。图像分割模型可以是利用深度学习训练得到的模型。
83.根据本公开的实施例,操作s320可以包括如下操作。
84.对待处理表征向量进行图像分类,得到与待处理图像对应的图像分类结果。
85.根据本公开的实施例,可以利用图像分类模型处理待处理表征向量,得到与待处理图像对应的图像分割结果。图像分类模型可以是利用深度学习训练得到的模型。
86.根据本公开的实施例,上述图像处理方法还可以包括如下操作。
87.将与目标图像集包括的多个目标图像中的每个目标图像对应的目标图像数据输入图像表征模型,得到目标表征向量。
88.根据本公开的实施例,操作s320可以包括如下操作。
89.根据待处理表征向量和多个目标表征向量,从目标图像集中确定与待处理图像对应的相似图像集。
90.根据本公开的实施例,目标图像集可以包括多个目标图像。目标图像集可以包括相似图像集。相似图像集可以包括至少一个相似图像。相似图像可以指与待处理图像之间满足相似程度条件的目标图像。相似程度条件可以用于作为评价待处理图像和目标图像之间相似程度的条件。
91.根据本公开的实施例,可以利用图像表征模型处理多个目标图像中的每个目标图像,得到与每个目标图像对应的目标表征向量。
92.将待处理图像数据q和n个目标图像数据中的每个目标图像数据gi输入图像特征模型,得到待处理表征向量f(q)和每个目标表征向量f(gi),i∈{1,2,......,n-1,n},n是大于或等于1的整数。根据待处理表征向量f(q)和每个目标表征向量f(gi),从目标图像集中确定与待处理图像对应的相似图像集。
93.根据本公开的实施例,根据待处理表征向量和多个目标表征向量,从目标图像集中确定与待处理图像对应的相似图像集,可以包括如下操作。
94.利用近似最近邻算法,根据待处理表征向量和多个目标表征向量,从目标图像集中确定与待处理图像对应的相似图像集。
95.根据本公开的实施例,近似最近邻(approximate nearest neighbor,ann)算法是指用于解决最近邻搜索问题的近似算法。近似最近邻算法可以包括基于树的近似最近邻算法、基于哈希的近似最近邻算法、基于矢量量化的近似最近邻算法或基于近邻图的近似最近邻算法。树可以包括kd-tree、ball-tree或annoy。可以根据实际业务需求确定待处理表征向量和多个目标表征向量,从目标图像集中确定相似图像集的近似最近邻算法,在此不作限定。
96.根据本公开的实施例,利用近似最近邻算法来根据待处理表征向量和多个目标表征向量,从目标图像集中确定相似图像集,可以提高确定效率。
97.根据本公开的实施例,利用近似最近邻算法,根据待处理表征向量和多个目标表征向量,从目标图像集中确定与待处理图像对应的相似图像集,可以包括如下操作。
98.确定多个目标表征向量中的每个目标表征向量与待处理表征向量之间的第三相似度。利用基于哈希的近似最近邻算法,根据待处理表征向量、多个目标表征向量和多个第三相似度,从目标图像集中确定与待处理图像对应的相似图像集。
99.根据本公开的实施例,利用近似最近邻算法,根据待处理表征向量和多个目标表征向量,从目标图像集中确定与待处理图像对应的相似图像集,可以包括如下操作。
100.利用基于矢量量化的近似最近邻算法,根据多个目标表征向量,确定至少一个聚类中心。根据待处理表征向量与至少一个聚类中心中的每个聚类中心之间的第三相似度,从目标图像集中确定与待处理图像对应的相似图像集。
101.图4示意性示出了根据本公开实施例的图像表征模型的训练过程的示例示意图。
102.如图4所示,在400中,将与当前轮对应的第一样本图像数据401输入与当前轮对应的第一编码器402,得到与当前轮对应的第一表征向量403。
103.将与当前轮对应的第二样本图像数据404输入与当前轮对应的第二编码器405,得到与当前轮对应的第二表征向量406。
104.确定与当前轮对应的第一表征向量403与第二表征向量406之间的相似度408,以及,与当前轮对应的第二表征向量406与多个第三表征向量中的每个第三表征向量407之间的相似度408。
105.根据与当前轮对应的第一表征向量403与第二表征向量406之间的相似度408,以及,与当前轮对应的第二表征向量406与多个第三表征向量中的每个第三表征向量407之间的相似度408,确定损失函数409的输出值。
106.根据损失函数409的输出值对与当前轮对应的第二编码器405的模型参数进行调整,得到与下一轮对应的第二编码器的模型参数。与下一轮对应的第一编码器的模型参数是在获得与下一轮对应的第二编码器的模型参数的情况下,根据与下一轮对应的第二编码器的模型参数调整与当前轮对应的第一编码402器的模型参数得到的。
107.图5示意性示出了根据本公开实施例的获得与当前轮对应的多个第三表征向量的示例示意图。
108.如图5所示,在500中,与上一轮对应的动量队列504包括与上一轮对应的第一表征向量和多个第四表征向量。与上一轮对应的第一表征向量是利用与上一轮对应的第一编码器处理与上一轮对应的第一样本图像数据得到的。可以根据实际业务需求确定动量队列的长度和与当前轮对应的第三表征向量的数目,在此不作限定。
109.将与上一轮对应的第二样本图像数据501输入与上一轮对应的第二编码器502,得到与上一轮对应的第二表征向量503。
110.确定与上一轮对应的第二表征向量503和与上一轮对应的第一表征向量之间的第一相似度。
111.确定与上一轮对应的多个第四表征向量中的每个第四表征向量与上一轮对应的第二表征向量503之间的第二相似度。
112.根据与上一轮对应的第一相似度和多个第二相似度,得到与上一轮对应的多个相似度505。
113.根据多个相似度505,对与上一轮对应的动量队列504包括的第一表征向量和至少一个第四表征向量进行排序。根据排序结果,从与上一轮对应的动量队列504中选择部分表征向量作为与当前轮对应的多个第三表征向量506。
114.例如,与上一轮对应的动量队列504可以表征为queue={k,a,b,c,d,e}。k表征与上一轮对应的第一表征向量。a,b,c,d,e表征与上一轮对应的五个第四表征向量。
115.与当前轮对应的多个第三表征向量506可以是从与上一轮对应的动量队列504中选择部分表征向量得到的。与当前轮对应的多个第三表征向量506可以为{k,q,b)。
116.图6示意性示出了根据本公开实施例的图像表征模型的训练装置的框图。
117.如图6所示,图像表征模型的训练装置600可以包括训练模块610和确定模块620。
118.训练模块610,用于对第一编码器和第二编码器执行多轮训练,直至满足预定条件。
119.确定模块620,用于将训练完成的第二编码器确定为图像表征模型。
120.根据本公开的实施例,训练模块610可以包括第一获得子模块611、第二获得子模块612和训练子模块613。
121.第一获得子模块611,用于利用与当前轮对应的第一编码器处理与当前轮对应的第一样本图像数据,得到与当前轮对应的第一表征向量。
122.第二获得子模块612,用于利用与当前轮对应的第二编码器处理与当前轮对应的第二样本图像数据,得到与当前轮对应的第二表征向量,第二样本图像数据是对第一样本图像数据进行数据增强得到的。
123.训练子模块613,用于利用与当前轮对应的第一表征向量、第二表征向量和多个第三表征向量训练与当前轮对应的第一编码器和第二编码器,与当前轮对应的多个第三表征
向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量得到的,与上一轮对应的动量队列包括与上一轮对应的第一表征向量。
124.根据本公开的实施例,与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量得到的,可以包括:与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的动量队列和第二表征向量,从与上一轮对应的动量队列中选择部分表征向量得到的。与当前轮对应的样本选择策略是根据进程指标值确定,进程指标值用于表征与上一轮对应的训练进程。
125.根据本公开的实施例,与上一轮对应的动量队列还包括至少一个第四表征向量。与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应动量队列和第二表征向量,从与上一轮对应的动量队列中选择部分表征向量得到的,可以包括:与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据第一相似度和至少一个第二相似度,从与上一轮对应的动量队列中选择部分表征向量得到的。第一相似度是与上一轮对应的第一表征向量和第二表征向量之间的相似度,每个第二相似度是与上一轮对应的至少一个第四表征向量中的每个第四表征向量与上一轮对应的第二表征向量之间的相似度。
126.根据本公开的实施例,与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据第一相似度和至少一个第二相似度,从与上一轮对应的动量队列中选择部分表征向量得到的,可以包括:与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据排序结果,从与上一轮对应的动量队列中选择部分表征向量得到的,其中,排序结果是根据第一相似度和至少一个第二相似度,对与上一轮对应的动量队列包括的第一表征向量和至少一个第四表征向量进行排序得到的。
127.根据本公开的实施例,与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据第一相似度和至少一个第二相似度,从与上一轮对应的动量队列中选择部分表征向量得到的,可以包括:与当前轮对应的多个第三表征向量是基于与当前轮对应的样本选择策略,根据与上一轮对应的相似度阈值、第一相似度和至少一个第二相似度,从与上一轮对应的动量队列中选择部分表征向量得到的。
128.根据本公开的实施例,进程指标值包括以下至少一项:与上一轮对应的训练轮次和训练消耗时长。
129.图7示意性示出了根据本公开实施例的图像处理装置的框图。
130.如图7所示,图像处理装置700可以包括第一获得模块710和第二获得模块720。
131.第一获得模块710,用于将待处理图像的待处理图像数据输入图像表征模型,得到待处理表征向量。
132.第二获得模块720,用于根据待处理表征向量,得到与待处理图像对应的图像处理结果。
133.根据本公开的实施例,图像表征模型是利用根据本公开实施例所述的图像表征模型的训练方法训练得到的。
134.根据本公开的实施例,第二获得模块720可以包括第三获得子模块。
135.第三获得子模块,用于对待处理表征向量进行图像分割,得到与待处理图像对应
的图像分割结果。
136.根据本公开的实施例,第二获得模块720可以包括第四获得子模块。
137.第四获得子模块,用于对待处理表征向量进行图像分类,得到与待处理图像对应的图像分类结果。
138.根据本公开的实施例,上述图像处理装置700还可以包括第三获得模块。
139.第三获得模块,用于将与目标图像集包括的多个目标图像中的每个目标图像对应的目标图像数据输入图像表征模型,得到目标表征向量。
140.根据本公开的实施例,第二获得模块720可以包括确定子模块。
141.确定子模块,用于根据待处理表征向量和多个目标表征向量,从目标图像集中确定与待处理图像对应的相似图像集。
142.根据本公开的实施例,确定子模块可以包括确定单元。
143.确定单元,用于利用近似最近邻算法,根据待处理表征向量和多个目标表征向量,从目标图像集中确定与待处理图像对应的相似图像集。
144.根据本公开的实施例,第二获得模块720可以包括:确定子模块。
145.确定子模块,用于利用近似最近邻算法,根据待处理表征向量和多个目标表征向量,从目标图像集中确定与待处理图像对应的相似图像集。
146.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
147.根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的方法。
148.根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如上所述的方法。
149.根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如上所述的方法。
150.图8示意性示出了根据本公开实施例的适于图像表征模型的训练方法和图像处理方法的电子设备的框图。电子设备旨在表征各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表征各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
151.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
152.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如
因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
153.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如图像表征模型的训练方法和图像处理方法。例如,在一些实施例中,图像表征模型的训练方法和图像处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的图像表征模型的训练方法和图像处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行图像表征模型的训练方法和图像处理方法。
154.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
155.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
156.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
157.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
158.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
159.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
160.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
161.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1