图像特征提取网络的训练方法、提取方法及装置与流程

文档序号:29709805发布日期:2022-04-16 16:57阅读:457来源:国知局
图像特征提取网络的训练方法、提取方法及装置与流程

1.本技术涉及人工智能技术,尤其涉及一种图像特征提取网络的训练方法、提取方法及装置。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
3.在相关技术的图像特征提取网络的训练方法中,在对图像特征提取网络进行训练时,训练效果不佳,导致图像特征提取网络进行图像特征表征学习的学习能力不强。对于如何让图像特征提取网络进行更有效的图像特征的表征学习,相关技术尚无有效解决方案。


技术实现要素:

4.本技术实施例提供一种图像特征提取网络的训练方法、提取方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够让图像特征提取网络进行更有效的图像特征的表征学习。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种图像特征提取网络的训练方法,图像特征提取网络包括第一编码器和第二编码器,所述方法包括:
7.基于第一图像样本调用第一编码器进行编码处理,得到所述第一图像样本的第一低维特征,并基于所述第一低维特征分别调用第一处理网络和第三处理网络,对应得到第一高维特征和第三高维特征;
8.基于第二图像样本调用第二编码器进行编码处理,得到所述第二图像样本的第二低维特征,并基于所述第二低维特征分别调用第二处理网络和第四处理网络,对应得到第二高维特征和第四高维特征;
9.根据所述第一高维特征和所述第三高维特征确定所述第一编码器和所述第二编码器之间的第一交叉损失值,并根据所述第二高维特征和所述第四高维特征确定所述第一编码器和所述第二编码器之间的第二交叉损失值,基于所述第一交叉损失值和所述第二交叉损失值对所述第一编码器的参数进行梯度更新;
10.根据梯度更新后的所述第一编码器的参数,对所述第二编码器的参数进行动量更新。
11.本技术实施例提供一种图像特征提取网络的训练装置,包括:
12.第一处理模块,用于基于第一图像样本调用第一编码器进行编码处理,得到所述第一图像样本的第一低维特征,并基于所述第一低维特征分别调用第一处理网络和第三处
理网络,对应得到第一高维特征和第三高维特征;
13.第二处理模块,用于基于第二图像样本调用第二编码器进行编码处理,得到所述第二图像样本的第二低维特征,并基于所述第二低维特征分别调用第二处理网络和第四处理网络,对应得到第二高维特征和第四高维特征;
14.第一更新模块,用于根据所述第一高维特征和所述第三高维特征确定所述第一编码器和所述第二编码器之间的第一交叉损失值,并根据所述第二高维特征和所述第四高维特征确定所述第一编码器和所述第二编码器之间的第二交叉损失值,基于所述第一交叉损失值和所述第二交叉损失值对所述第一编码器的参数进行梯度更新;
15.第二更新模块,用于根据梯度更新后的所述第一编码器的参数,对所述第二编码器的参数进行动量更新。
16.本技术实施例提供一种基于图像特征提取网络的特征提取装置,应用于图像特征提取网络,所述基于图像特征提取网络的特征提取装置包括:第一编码模块,用于基于与待处理图像对应的第一预处理图像调用训练后的所述第一编码器进行编码处理,得到所述第一预处理图像的编码特征;第二编码模块,用于基于与所述待处理图像对应的第二预处理图像调用训练后的所述第二编码器进行编码处理,得到所述第二预处理图像的编码特征;融合模块,用于将所述第一预处理图像的编码特征和所述第二预处理图像的编码特征进行融合处理,得到所述待处理图像的特征。
17.本技术实施例提供一种电子设备,包括:
18.存储器,用于存储可执行指令;
19.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的图像特征提取网络的训练方法。
20.本技术实施例提供一种电子设备,包括:
21.存储器,用于存储可执行指令;
22.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的基于图像特征提取网络的特征提取方法。
23.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的图像特征提取网络的训练方法。
24.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的基于图像特征提取网络的特征提取方法。
25.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本技术实施例上述的图像特征提取网络的训练方法或提取方法。
26.本技术实施例具有以下有益效果:
27.通过基于第一图像样本和第二图像样本分别调用第一编码器和第二编码器进行编码处理,对得到的低维特征分别调用不同的处理网络进行处理,得到对应的高维特征,通过得到的高维特征确定交叉损失值,从而利用交叉损失值对第一编码器进行梯度更新,并根据梯度更新后的第一编码器对第二编码器进行动量更新。通过让第一编码器与第二编码器在训练的过程中产生交互,从而能够在训练过程中对于不同的编码器采取完全不同的更
新方式进行训练,进而能够让图像特征提取网络进行更有效的图像特征的表征学习。
附图说明
28.图1a-图1b是本技术实施例提供的图像特征提取网络的训练系统架构的结构示意图;
29.图2a-图2b是本技术实施例提供的图像特征提取网络的训练装置的结构示意图;
30.图3a-图3c是本技术实施例提供的图像特征提取网络的训练方法的流程示意图;
31.图3d是本技术实施例提供的基于图像特征提取网络的特征提取方法的流程示意图;
32.图4a-图4f是本技术实施例提供的图像特征提取网络的训练方法的原理示意图;
33.图4g是本技术实施例提供的基于图像特征提取网络的特征提取方法的原理示意图;
34.图5a-图5b是本技术实施例提供的图像特征提取网络的训练方法的原理示意图。
具体实施方式
35.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
36.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
37.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
38.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
39.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
40.1)编码器:是一种能够通过无监督学习,学习到输入数据高效表示的神经网络结构,输入数据的高效表示称为编码(codings),其维度一般远小于输入数据,使得编码器可以用于图像降维处理。同时,编码器可以作为特征检测器(feature detectors),应用于深度神经网络的预训练。在本技术实施例中,第一编码器和第二编码器可以是两种不同类型的编码器,其中,第二编码器可以是具有深度自注意力变换功能的编码器,通过第二编码器提取的图像特征可以具有较好的空间专注度性质。
41.2)人工智能(artificial intelligence,ai):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的
技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。
42.3)高维特征/低维特征:又称高维图像特征/低维图像特征,高维图像特征的维度高于低维图像特征的维度。图像特征主要有图像的颜色特征、纹理特征、形状特征和空间关系特征。其中,颜色特征是一种全局特征,颜色特征描述了图像或图像区域所对应的景物的表面性质;纹理特征也是一种全局特征,其也描述了图像或图像区域所对应景物的表面性质;形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征,图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域;空间关系特征,是指图像中分割出来的多个目标之间的相互位置或相对方向关系,这些关系也可分为连接/邻接关系,交叠/重叠关系和包含/包容关系等。
43.4)梯度更新:对编码器的参数进行梯度更新是指沿着参数的负梯度的方向更新参数值的过程,其中,负梯度的方向是指梯度下降的方向。
44.5)动量更新(momentum update):是指通过优化关联方向的更新和弱化无关方向的更新的方式,来加速梯度更新的一种编码器的参数更新方式。
45.6)映射器(projector):是一个多层感知机网络,例如可以由全连接层、激活层和标准化层组成。
46.7)预测器(prodictor):是一个多层感知机网络,预测器和映射器的结构可以相同,即可以由全连接层、激活层和标准化层组成;当然也可以采用不同的结构,例如映射器可以由两个全连接层、激活层和标准化层组成,预测器可以由一个全连接层、激活层和标准化层组成。
47.8)多层感知器(multilayer perceptron,mlp):是一种前向结构的人工神经网络,主要负责映射一组输入向量到一组输出向量。
48.9)自注意力层(multi-head self-attention,mhsa):是子编码器中的一种特殊结构,其中包含多个线性处理、加权相乘处理和求和处理的过程,自注意力层可以使得子编码器能够输出更高质量的图像特征。
49.10)卷积神经网络(cnn,convolutional neural networks):是一类包含卷积计算且具有深度结构的前馈神经网络(fnn,feed forward neural networks),是深度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入图像进行平移不变分类(shift-invariant classification)。
50.在本技术实施例的实施过程中,申请人发现相关技术存在以下问题:在相关技术中,自监督训练框架主要是采用两路第一编码器分支去学习同一张图像在两种不同预处理下的特征,并通过最小化同一图像的两种特征在高维空间的距离,或者最大化不同图像的特征在高维空间的距离,从而使得第一编码器能够在不同的输入图像下皆可以学习到有效的特征。但是在相关技术中,在对图像特征提取网络进行训练时,并没有充分利用编码器的空间专注度特性,从而使得训练效果不佳。对于如何提高图像特征提取网络的训练效果,相关技术尚无有效解决方案。
51.在一些实施例中,在医学影像处理的应用场景中,通常较难以获取到具有标注信息的训练样本(即医学影像样本),使得相关技术在对图像特征提取网络进行训练时,训练
效果不佳。通过本技术实施例提供的图像特征提取网络的训练方法,可以在医学影像处理的应用场景中,对图像特征提取网络进行有效训练,能够让图像特征提取网络进行更有效的图像特征的表征学习。
52.在另一些实施例中,在人脸识别的应用场景中,由于在人脸识别的应用场景中获取有效的具有标注信息的训练样本较为困难,使得相关技术在对图像特征提取网络进行训练时,训练效果不佳。通过本技术实施例提供的图像特征提取网络的训练方法,可以在人脸识别的应用场景中,对图像特征提取网络进行有效训练,能够让图像特征提取网络进行更有效的图像特征的表征学习。
53.本技术实施例提供一种图像特征提取网络的训练方法、提取方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够让图像特征提取网络进行更有效的图像特征的表征学习,下面说明本技术实施例提供的图像特征提取网络的训练设备的示例性应用,本技术实施例提供的图像特征提取网络的训练设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。
54.参见图1a,图1a是本技术实施例提供的图像特征提取网络的训练系统100的一个可选的架构示意图,为实现图像特征提取网络的训练的应用场景(例如,训练图像特征提取网络的应用场景可以是训练医学影像的图像特征提取网络,训练图像特征提取网络的应用场景还可以是训练人脸识别图像的图像特征提取网络),终端(示例性示出了终端400)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
55.终端400用于供用户使用客户端410,在图形界面410-1(示例性示出了图形界面410-1)显示。终端400和服务器200通过有线或者无线网络相互连接。
56.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
57.在一些实施例中,终端400接收服务器200发送的图像特征提取网络,终端400对图像特征提取网络进行训练,得到训练后的图像特征提取网络,终端400将训练后的图像特征提取网络发送至服务器200,服务器200基于待处理图像调用训练后的图像特征提取网络进行图像特征提取处理,得到待处理图像的图像特征。
58.在另一些实施例中,服务器200对图像特征提取网络进行训练,得到训练后的图像特征提取网络,服务器200将训练后的图像特征提取网络发送至终端400,终端400接收到服务器200发送的训练后的图像特征提取网络后,在图形界面410-1中显示图像特征提取网络已训练完成的提醒消息。终端400基于待处理图像调用训练后的图像特征提取网络进行图像特征提取处理,得到待处理图像的图像特征。
59.在一些实施例中,服务器200可以是多个服务器构成的服务器集群或者分布式系统,以分布式系统为区块链系统为例,其中多个服务器可组成为一区块链网络,而服务器
200为区块链网络上的节点。
60.下面,以多个终端接入区块链网络以实现图像特征提取网络的训练为例说明区块链网络的示例性应用。
61.在一些实施例中,参见图1b,图1b本技术实施例提供的图像特征提取网络的训练系统100的一个可选的架构示意图。图像特征提取网络涉及的多个终端参与图像特征提取网络的训练,如终端500和终端600,在获得区块链管理平台800的授权后,终端500的客户端510、以及终端600的客户端610都可以接入区块链网络700。
62.终端500发送图像特征提取网络获取请求至区块链管理平台800(终端600发送图像特征提取网络获取请求至区块链管理平台800),由区块链管理平台800根据图像特征提取网络获取请求生成对应的更新操作,在更新操作中指定了实现更新操作/查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了网页签署的数字签名,并将更新操作发送到区块链网络700。
63.区块链网络700中的节点210-1、节点210-2、节点210-3在接收到更新操作时,对更新操作的数字签名进行验证,数字签名验证成功后,根据更新操作中携带的客户端510的身份,确认客户端510是否是具有获取权限,数字签名和权限验证中的任何一个验证判断都将导致获取失败。验证成功后签署节点210自己的数字签名(例如,使用节点210-1的私钥对交易的摘要进行加密得到),并继续在区块链网络700中广播。
64.区块链网络700中具有排序功能的节点210-1、节点210-2、节点210-3等,接收到验证成功的获取后,将获取请求填充到新的区块中,并广播到区块链网络700中提供共识服务的节点。
65.区块链网络700中的提供共识服务的节点对新区块进行共识过程以达成一致,提供账本功能的节点将新区块追加到区块链的尾部,并执行新区块中的获取请求:对于提交的图像特征提取网络获取请求,更新状态数据库中图像特征提取网络对应的键值对;对于查询图像特征提取网络的获取请求,从状态数据库中查询图像特征提取网络对应的键值对,并返回图像特征提取网络。终端500和终端600在接收到区块链网络700返回的图像特征提取网络之后,终端500和终端600对图像特征提取网络进行训练,得到训练后的图像特征提取网络,并在图形界面510-1和图形界面610-1中显示训练成功的提示消息。终端500和终端600将训练后的图像特征提取网络发送至区块链网络700,区块链网络700基于待处理图像调用训练后的图像特征提取网络进行图像特征提取处理,得到待处理图像的图像特征。
66.参见图2a,图2a是本技术实施例提供的图像特征提取网络的训练方法的服务器200的一种结构示意图,图2a所示的服务器200包括:至少一个处理器410、存储器450、至少一个网络接口420。服务器200中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2a中将各种总线都标为总线系统440。
67.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
68.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
69.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
70.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
71.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
72.网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等。
73.在一些实施例中,本技术实施例提供的图像特征提取网络的训练装置可以采用软件方式实现,图2a示出了存储在存储器450中的图像特征提取网络的训练装置455a,其可以是程序和插件等形式的软件,包括以下软件模块:第一处理模块4551a、第二处理模块4552a、第一更新模块4553a、第二更新模块4554a,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
74.在另一些实施例中,本技术实施例提供的图像特征提取网络的训练装置可以采用硬件方式实现,作为示例,本技术实施例提供的图像特征提取网络的训练装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的图像特征提取网络的训练方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
75.参见图2b,图2b是本技术实施例提供的基于图像特征提取网络的特征提取服务器200的另一种结构示意图,图2b所示的服务器200包括:至少一个处理器610、存储器650、至少一个网络接口620。服务器200中的各个组件通过总线系统640耦合在一起。可理解,总线系统640用于实现这些组件之间的连接通信。总线系统640除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2b中将各种总线都标为总线系统640。
76.处理器610可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
77.存储器650可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器650可选地包括在物理位置上远离处理器610的一个或多个存储设备。
78.存储器650包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器650旨在包括任意适合类型的存储器。
79.在一些实施例中,存储器650能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
80.操作系统651,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
81.网络通信模块652,用于经由一个或多个(有线或无线)网络接口620到达其他电子设备,示例性的网络接口620包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等。
82.在一些实施例中,本技术实施例提供的图像特征提取网络的训练装置可以采用软件方式实现,图2b示出了存储在存储器650中的基于图像特征提取网络的特征提取装置655b,其可以是程序和插件等形式的软件,包括以下软件模块:第一编码模块6551b、第二编码模块6552b、融合模块6553b,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
83.在另一些实施例中,本技术实施例提供的图像特征提取网络的特征提取装置可以采用硬件方式实现,作为示例,本技术实施例提供的图像特征提取网络的特征提取装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的图像特征提取网络的特征提取方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
84.将结合本技术实施例提供的服务器的示例性应用和实施,说明本技术实施例提供的图像特征提取网络的训练方法。
85.在一些实施例中,图4a是本技术实施例提供的图像特征提取网络的训练方法的原理示意图。参见图4a,图像特征提取网络包括第一编码器和第二编码器。通过本技术实施例提供的图像特征提取网络的训练方法对图像特征提取网络中的第一编码器和第二编码器进行训练,可以显著提高图像特征提取网络的训练效果,有效提升图像特征提取网络的特征提取能力。
86.下面,参见图3a,图3a是本技术实施例提供的图像特征提取网络的训练方法的流程示意图,将结合图3a示出的步骤101至步骤104进行说明,下述步骤101至步骤104的执行主体可以是前述的服务器。
87.在步骤101中,基于第一图像样本调用第一编码器进行编码处理,得到第一图像样本的第一低维特征,并基于第一低维特征分别调用第一处理网络和第三处理网络,对应得到第一高维特征和第三高维特征。
88.在一些实施例中,第一低维特征是相对于第一高维特征和第三高维特征而言的低维特征,即第一低维特征的特征维度低于第一高维特征和第三高维特征的特征维度。
89.在一些实施例中,第一编码器可以是基于卷积神经网络的编码器,其中基于卷积神经网络的编码器可以是resnet50编码器、resnet101编码器、resnet152编码器等等。第一编码器用于对图像样本进行编码处理得到图像样本的低维特征。第一处理网络用于对图像样本的低维特征进行处理得到对应的高维特征,第三处理网络用于对图像样本的低维特征进行处理得到对应的高维特征,即第一处理网络和第三处理网络均可以有提升图像样本的特征维度的作用,其中,为了保证处理过程的差异性,第一处理网络和第三处理网络的结构不同,训练更新方式不同。
90.作为示例,参见图4b,基于第一图像样本x1调用第一编码器进行编码处理,得到第一图像样本x1的第一低维特征z1,并基于第一低维特征z1分别调用第一处理网络和第三处理网络,对应得到第一高维特征f1(x)和第三高维特征f3(x)。
91.在一些实施例中,参见图4d,图4d是本技术实施例提供的图像特征提取网络的训练方法的原理示意图,第一处理网络包括第一映射器和第一预测器,第三处理网络包括具有空间专注度特性的第三编码器、第三映射器和第三预测器。其中,第一映射器和第一预测器的结构可以相同,第一映射器和第一预测器的主要结构可以由多层感知器(multilayer perceptron,mlp)构成,第一映射器和第一预测器的主要结构可以包括全线性连接层(fully connected layers,fc)、激活层,以及标准化层(batch normalization,bn)。第三映射器和第三预测器的结构可以与第一映射器和第一预测器的结构相同。即上述第一映射器和第三映射器是结构相同,参数不同的映射器,第一预测器和第三预测器是结构相同,参数不同的预测器。
92.如此,通过在第一处理网络和第三处理网络中设置不同数量的映射器和预测器,可以保证了第一处理网络和第三处理网络的差异化处理,使得第一处理网络和第三处理网络所处理得到的高维特征保持一定的差异性,从而使得对应的损失值有足够的多样性,便于后续进行图像特征提取网络的训练。
93.在一些实施例中,上述步骤101中基于第一图像样本调用第一编码器进行编码处理之前,可以通过以下方式得到第一图像样本和第二图像样本:将待处理图像样本进行第一预处理,得到第一图像样本;将待处理图像样本进行第二预处理,得到第二图像样本;其中,第一预处理和第二预处理互为逆向处理过程。
94.作为示例,当第一预处理为图像模糊化处理时,第二预处理可以是图像清晰化处理;当第一预处理为图像清晰化处理时,第二预处理可以为图像模糊化处理。而图像清晰化处理和图像模糊化处理互为逆向处理过程,即第一预处理和第二预处理互为逆向处理过程。
95.作为示例,参见图4b,将待处理图像样本x进行第一预处理,得到第一图像样本x1;将待处理图像样本x进行第二预处理,得到第二图像样本x2。即第一图像样本x1是第一编码器的输入,第二图像样本x2是第二编码器的输入。
96.如此,通过差异化处理待处理图像样本,得到第一图像样本和第二图像样本,使得第一图像样本和第二图像样本不完全相同。由于第一图像样本和第二图像样本均源于同一待处理图像样本,从而使得第一图像样本和第二图像样本具有一定的相似度。从而使得第一图像样本和第二图像样本相似但不完全相同,便于后续进行图像特征提取网络的训练。
97.在一些实施例中,参见图3c,在上述步骤101中基于第一低维特征分别调用第一处
理网络和第三处理网络对应得到第一高维特征和第三高维特征,可以通过执行步骤1011至步骤1012实现。
98.在步骤1011中,基于第一低维特征调用第一处理网络中的第一映射器进行映射处理,得到第一映射处理结果;基于第一映射处理结果调用第一处理网络中的第一预测器进行预测处理,将得到的第一预测处理结果作为第一高维特征。
99.作为示例,参见图4d,基于第一图像样本x1调用第一编码器进行编码处理,得到第一图像样本x1的第一低维特征z1。基于第一低维特征z1调用第一处理网络中的第一映射器进行映射处理,得到第一映射处理结果;基于第一映射处理结果调用第一处理网络中的第一预测器进行预测处理,将得到的第一预测处理结果作为第一高维特征f1(x)。
100.在步骤1012中,基于第一低维特征调用第三处理网络中的第三编码器进行编码处理,得到第三编码结果;基于第三编码结果调用第三处理网络中的第三映射器进行映射处理,得到第三映射处理结果;基于第三映射处理结果调用第三处理网络中的第三预测器进行预测处理,将得到的第三预测处理结果作为第三高维特征。
101.作为示例,参见图4d,基于第一图像样本x1调用第一编码器进行编码处理,得到第一图像样本x1的第一低维特征z1。基于第一低维特征z1调用第三处理网络中的第三编码器进行编码处理,得到第三编码结果;基于第三编码结果调用第三处理网络中的第三映射器进行映射处理,得到第三映射处理结果;基于第三映射处理结果调用第三处理网络中的第三预测器进行预测处理,将得到的第三预测处理结果作为第三高维特征f3(x)。
102.在一些实施例中,上述步骤1012中基于第一低维特征调用第三处理网络中的第三编码器进行编码处理,得到第三编码结果可以通过以下方式实现:基于第一低维特征调用第一卷积层进行卷积处理,得到第一卷积处理结果;基于第一卷积处理结果调用自注意力层进行专注度处理,得到专注度处理结果;基于专注度处理结果调用第二卷积层进行卷积处理,得到第二卷积处理结果;将第二卷积处理结果和第一低维特征进行加和处理,得到第三编码结果。
103.作为示例,参见图4f,图4f是本技术实施例提供的图像特征提取网络的训练方法的原理示意图,图4f中标号41所示出的是本技术实施例所提供的第三编码器的结构示意图,其中,第三编码器包括多个结构相同的串行子编码器,每一串行子编码器包括第一卷积层、第二卷积层和自注意力层,图4f中标号41所示出的是本技术实施例所提供的一个子编码器的结构示意图,第三编码器包括多个结构相同的串行子编码器。
104.作为示例,参见图4f中标号41,以一个串行子编码器的处理过程为例,基于第一低维特征调用第一卷积层进行卷积处理,得到第一卷积处理结果r1,基于第一卷积处理结果r1调用自注意力层进行专注度处理,得到专注度处理结果r2,基于专注度处理结果r2调用第二卷积层进行卷积处理,得到第二卷积处理结果r3;将第二卷积处理结果r3和第一低维特征进行加和处理,得到第三编码结果r4。
105.在一些实施例中,上述基于第一卷积处理结果调用自注意力层进行专注度处理,得到专注度处理结果,可以通过以下方式实现:将第一卷积处理结果分别进行第一线性处理、第二线性处理和第三线性处理,对应得到第一线性处理结果、第二线性处理结果和第三线性处理结果;将第一线性处理结果和第二线性处理结果分别与对应的权重进行相乘处理,得到与第一线性处理结果对应的第一相乘处理结果和与第二线性处理结果对应的第二
相乘处理结果;将第一相乘处理结果和第二相乘处理结果进行相乘处理,得到第三相乘处理结果;将第一线性处理结果和时序信息分别与对应的权重进行相乘处理,得到与第一线性处理结果对应的第四相乘处理结果和与时序信息对应的第五相乘处理结果;将第四相乘处理结果和第五相乘处理结果进行相乘处理,得到第六相乘处理结果;将第三相乘处理结果和第六相乘处理结果进行求和处理,对得到的求和处理结果进行归一化处理,得到归一化处理结果;将归一化处理结果和第三线性处理结果进行相乘处理,得到专注度处理结果。
106.在一些实施例中,参见图4f中标号42,图4f中标号42是本技术实施例提供的自注意力层的结构示意图,可以通过如图4f中标号42所示出的自注意力层的结构对第一卷积处理结果进行专注度处理,得到专注度处理结果。
107.作为示例,参见图4f,将第一卷积处理结果r1分别进行第一线性处理、第二线性处理和第三线性处理,对应得到第一线性处理结果、第二线性处理结果和第三线性处理结果,将第一线性处理结果和第二线性处理结果分别与对应的权重进行相乘处理,即第一线性处理结果和第一线性处理结果对应的权重值q进行相乘处理,第二线性处理结果和第二线性处理结果对应的权重值k进行相乘处理,分别得到与第一线性处理结果对应的第一相乘处理结果w1和与第二线性处理结果对应的第二相乘处理结果w2;将第一相乘处理结果w1和第二相乘处理结果w2进行相乘处理,得到第三相乘处理结果w3;将第一线性处理结果和时序信息分别与对应的权重进行相乘处理,即第一线性处理结果与对应的权重q进行相乘处理、时序信息与对应的权重p进行相乘处理,分别得到与第一线性处理结果对应的第四相乘处理结果w4和与时序信息对应的第五相乘处理结果w5;将第四相乘处理结果w4和第五相乘处理结果w5进行相乘处理,得到第六相乘处理结果w6;将第三相乘处理结果w3和第六相乘处理结果w6进行求和处理,对得到的求和处理结果进行归一化处理,得到归一化处理结果w7;将归一化处理结果w7和第三线性处理结果w8进行相乘处理(即第三线性处理结果与对应的权重v进行相乘处理,得到与归一化处理结果w7进行相乘处理的第三线性处理结果w8),得到专注度处理结果r2。
108.在步骤102中,基于第二图像样本调用第二编码器进行编码处理,得到第二图像样本的第二低维特征,并基于第二低维特征分别调用第二处理网络和第四处理网络,对应得到第二高维特征和第四高维特征。
109.作为示例,参见图4b,基于第二图像样本x2调用第二编码器进行编码处理,得到第二图像样本的第二低维特征z2,并基于第二低维特征z2分别调用第二处理网络和第四处理网络,对应得到第二高维特征f2(x)和第四高维特征f4(x)。
110.在一些实施例中,第二处理网络包括第二映射器,第四处理网络包括具有空间专注度特性的第四编码器和第四映射器。其中,第二映射器和第四映射器的结构可以相同,第二映射器和第四映射器的主要结构可以由多层感知器(multilayer perceptron,mlp)构成,第二映射器和第四映射器的主要结构可以包括全线性连接层(fully connected layers,fc)、激活层,以及标准化层(batch normalization,bn)。即上述第二映射器和第四映射器可以是结构相同,参数不同的映射器。
111.在一些实施例中,参见图3c,在上述步骤102中基于第二低维特征分别调用第二处理网络和第四处理网络,对应得到第二高维特征和第四高维特征,可以通过执行步骤1021至步骤1022实现。
112.在步骤1021中,基于第二低维特征调用第二处理网络中的第二映射器进行映射处理,将得到的第二映射处理结果作为第二高维特征。
113.作为示例,参见图4d,基于第二图像样本x2调用第二编码器进行编码处理,得到第二图像样本x2的第二低维特征z2,基于第二低维特征z2调用第二处理网络中的第二映射器进行映射处理,将得到的第二映射处理结果作为第二高维特征f2(x)。
114.在步骤1022中,基于第二低维特征调用第四处理网络中的第四编码器进行编码处理,得到第四编码结果;基于第四编码结果调用第四处理网络中的第四映射器进行映射处理,将得到的第四映射处理结果作为第四高维特征。
115.作为示例,参见图4d,基于第二图像样本x2调用第二编码器进行编码处理,得到第二图像样本x2的第二低维特征z2,基于第二低维特征z2调用第四处理网络中的第四编码器进行编码处理,得到第四编码结果;基于第四编码结果调用第四处理网络中的第四映射器进行映射处理,将得到的第四映射处理结果作为第四高维特征f4(x)。
116.在一些实施例中,上述第四编码器包括多个结构相同的串行子编码器,每一串行子编码器包括第一卷积层、第二卷积层和自注意力层。即上文所描述的第三编码器和第四编码器可以是相同结构的编码器。
117.作为示例,参见图4f,图4f中标号41所示出的是本技术实施例所提供的第四编码器的结构示意图,其中,第四编码器包括多个结构相同的串行子编码器,每一串行子编码器包括第一卷积层、第二卷积层和自注意力层。本技术实施例中所提供的第三编码器和第四编码器可以是结构相同,参数不同的两个编码器。
118.在一些实施例中,上述步骤1022中基于第二低维特征调用第四处理网络中的第四编码器进行编码处理,得到第四编码结果可以通过以下方式实现:基于第二低维特征调用第一卷积层进行卷积处理,得到第一卷积处理结果;基于第一卷积处理结果调用自注意力层进行专注度处理,得到专注度处理结果;基于专注度处理结果调用第二卷积层进行卷积处理,得到第二卷积处理结果;将第二卷积处理结果和第二低维特征进行加和处理,得到第四编码结果。
119.作为示例,参见图4f中标号42,以一个串行子编码器的处理过程为例,基于第二低维特征调用第一卷积层进行卷积处理,得到第一卷积处理结果r1;基于第一卷积处理结果r1调用自注意力层进行专注度处理,得到专注度处理结果r2;基于专注度处理结果r2调用第二卷积层进行卷积处理,得到第二卷积处理结果r3;将第二卷积处理结果r3和第二低维特征进行加和处理,得到第四编码结果r4。
120.在一些实施例中,上述专注度处理包括线性处理、相乘处理、求和处理和归一化处理。即专注度处理的过程可以通过线性处理、相乘处理、求和处理和归一化处理实现。其中,线性处理可以是线性矩阵变换的过程,相乘处理可以是进行乘法运算的过程,求和处理可以是进行求和运算的处理过程,归一化处理是提升专注度的处理过程,归一化处理后的处理结果较之于归一化处理之前的待处理数据,能够显著提高待处理数据的专注度。
121.在一些实施例中,上述基于第一卷积处理结果调用自注意力层进行专注度处理,得到专注度处理结果,可以通过以下方式实现:将第一卷积处理结果分别进行第一线性处理、第二线性处理和第三线性处理,对应得到第一线性处理结果、第二线性处理结果和第三线性处理结果;将第一线性处理结果和第二线性处理结果分别与对应的权重进行相乘处
理,得到与第一线性处理结果对应的第一相乘处理结果和与第二线性处理结果对应的第二相乘处理结果;将第一相乘处理结果和第二相乘处理结果进行相乘处理,得到第三相乘处理结果;将第一线性处理结果和时序信息分别与对应的权重进行相乘处理,得到与第一线性处理结果对应的第四相乘处理结果和与时序信息对应的第五相乘处理结果;将第四相乘处理结果和第五相乘处理结果进行相乘处理,得到第六相乘处理结果;将第三相乘处理结果和第六相乘处理结果进行求和处理,对得到的求和处理结果进行归一化处理,得到归一化处理结果;将归一化处理结果和第三线性处理结果进行相乘处理,得到专注度处理结果。
122.作为示例,参见图4f中标号42,将第一卷积处理结果r1分别进行第一线性处理、第二线性处理和第三线性处理,对应得到第一线性处理结果、第二线性处理结果和第三线性处理结果,将第一线性处理结果和第二线性处理结果分别与对应的权重进行相乘处理,即第一线性处理结果和第一线性处理结果对应的权重值q进行相乘处理,第二线性处理结果和第二线性处理结果对应的权重值k进行相乘处理,分别得到与第一线性处理结果对应的第一相乘处理结果w1和与第二线性处理结果对应的第二相乘处理结果w2;将第一相乘处理结果w1和第二相乘处理结果w2进行相乘处理,得到第三相乘处理结果w3;将第一线性处理结果和时序信息分别与对应的权重进行相乘处理,即第一线性处理结果与对应的权重q进行相乘处理、时序信息与对应的权重p进行相乘处理,分别得到与第一线性处理结果对应的第四相乘处理结果w4和与时序信息对应的第五相乘处理结果w5;将第四相乘处理结果w4和第五相乘处理结果w5进行相乘处理,得到第六相乘处理结果w6;将第三相乘处理结果w3和第六相乘处理结果w6进行求和处理,对得到的求和处理结果进行归一化处理,得到归一化处理结果w7;将归一化处理结果w7和第三线性处理结果w8进行相乘处理(即第三线性处理结果与对应的权重v进行相乘处理,得到与归一化处理结果w7进行相乘处理的第三线性处理结果w8),得到专注度处理结果。
123.在步骤103中,根据第一高维特征和第三高维特征确定第一编码器和第二编码器之间的第一交叉损失值,并根据第二高维特征和第四高维特征确定第一编码器和第二编码器之间的第二交叉损失值,基于第一交叉损失值和第二交叉损失值对第一编码器的参数进行梯度更新。
124.在一些实施例中,梯度更新的方式可以是通过批量梯度更新、随机梯度更新等方式实现。其中,批量梯度更新的实现方式是在更新每一参数时都使用所有的参数来进行更新,即按照每个参数的梯度负方向来更新每个参数。随机梯度更新的实现方式是利用每个参数的损失函数的偏导数来得到对应的梯度,利用得到的梯度来进行更新。
125.作为示例,参见图4b,根据第一高维特征f1(x)和第三高维特征f3(x)确定第一编码器和第二编码器之间的第一交叉损失值l
att1
,并根据第二高维特征f2(x)和第四高维特征f4(x)确定第一编码器和第二编码器之间的第二交叉损失值l
att2
,基于第一交叉损失值l
att1
和第二交叉损失值l
att2
对第一编码器的参数进行梯度更新。
126.作为示例,第一交叉损失值l
att1
和第二交叉损失值l
att2
的表达式可以为:
127.l
att1
=f3(x)-f1(x)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
128.l
att2
=f4(x)-f2(x)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
129.在一些实施例中,在上述步骤103中基于第一交叉损失值和第二交叉损失值对第一编码器的参数进行梯度更新之前,还可以通过以下方式对第一处理网络和第三处理网络
的参数进行梯度更新:基于第一交叉损失值和第二交叉损失值,对第一处理网络和第三处理网络的参数以并行的方式进行梯度更新。
130.作为示例,参见图4b,基于第一交叉损失值l
att1
和第二交叉损失值l
att2
,对第一处理网络和第三处理网络的参数以并行的方式进行梯度更新。
131.作为示例,参见图4c,基于第一交叉损失值l
att1
和第二交叉损失值l
att2
,对第一处理网络中的第一预测器,以及第三处理网络中的第三编码器和第三预测器的参数以并行的方式进行梯度更新。
132.作为示例,参见图4d,基于第一交叉损失值l
att1
和第二交叉损失值l
att2
,对第一处理网络中的第一映射器和第一预测器,以及第三处理网络中的第三编码器、第三映射器和第三预测器的参数以并行的方式进行梯度更新。
133.在一些实施例中,参见图3b,图3b是本技术实施例提供的图像特征提取网络的训练方法的流程示意图,在上述步骤103中确定第一编码器和第二编码器之间的第二交叉损失值之前,通过执行步骤105至步骤106实现对第一编码器的更新。
134.在步骤105中,根据第一高维特征和第二高维特征之间的差值,确定第一编码器的第一损失值,并根据第三高维特征和第四高维特征之间的差值,确定第一编码器的第二损失值。
135.作为示例,参见图4b,根据第一高维特征f1(x)和第二高维特征f2(x)之间的差值,确定第一编码器的第一损失值lc,并根据第三高维特征f3(x)和第四高维特征f4(x)之间的差值,确定第一编码器的第二损失值l
t
。其中,第一损失值lc和第二损失值l
t
的表达式可以为:
136.l
t
=f4(x)-f3(x)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
137.lc=f4(x)-f3(x)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
138.在步骤106中,基于第一损失值和第二损失值对第一编码器的参数进行梯度更新。
139.作为示例,参见图4b,基于第一损失值lc和第二损失值l
t
对第一编码器的参数进行梯度更新。
140.在一些实施例中,在上述步骤106中基于第一损失值和第二损失值对第一编码器的参数进行梯度更新之前,还可以通过以下方式对第一处理网络和第三处理网络的参数进行更新:基于第一损失值和第二损失值,对第一处理网络和第三处理网络的参数以并行的方式进行梯度更新。
141.在步骤104中,根据梯度更新后的第一编码器的参数,对第二编码器的参数进行动量更新。
142.作为示例,参见图4b,根据梯度更新后的第一编码器的参数,对第二编码器的参数进行动量更新。
143.在一些实施例中,动量更新的过程是梯度更新的一种扩展,动量更新的方式比梯度更新的方式更高效。动量更新又被称作基于动量的梯度更新,是一种使梯度向量向相关方向加速变化、最终实现加速收敛的更新方式。
144.在一些实施例中,参见图3b,在上述步骤104中对第二编码器的参数进行动量更新,可以通过执行步骤1041至步骤1043实现。
145.在步骤1041中,将梯度更新后的第一编码器的参数与第一编码器对应的权重值进
行相乘处理,得到第一动量更新参数。
146.作为示例,当梯度更新前的第一编码器的参数为时,梯度更新后的第一编码器的参数为第一编码器对应的权重值为α,第一动量更新参数为则第一动量更新参数为的表达式可以为:
[0147][0148]
在步骤1042中,将动量更新前的第二编码器的参数与第二编码器对应的权重值进行相乘处理,得到第二动量更新参数。
[0149]
作为示例,当动量更新前的第二编码器的参数为第二编码器对应的权重值为β,第二动量更新参数ε,则第二动量更新参数ε的表达式可以为:
[0150][0151]
其中,第一编码器对应的权重值与第二编码器对应的权重值之和为1,即α+β=1。
[0152]
在步骤1043中,将第一动量更新参数和第二动量更新参数进行求和处理,并将求和处理结果确定为动量更新后的第二编码器的参数。
[0153]
作为示例,当动量更新后的第二编码器的参数为时,动量更新后的第二编码器的参数为的表达式可以为:
[0154][0155]
在一些实施例中,在上述步骤104中对第二编码器的参数进行动量更新之前,通过执行以下操作对第二处理网络和第四处理网络进行更新:根据更新后的第一处理网络的参数,对第二处理网络的参数进行动量更新;根据更新后的第三处理网络的参数,对第四处理网络的参数进行动量更新。
[0156]
作为示例,参见图4b,根据梯度更新后的第一处理网络的参数,对第二处理网络的参数进行动量更新,根据梯度更新后的第三处理网络的参数,对第四处理网络的参数进行动量更新。
[0157]
作为示例,参见图4c,由于第二处理网络为空网络,则无需根据梯度更新后的第一处理网络的参数,对第二处理网络的参数进行动量更新。而第四处理网络中包括第四编码器,那么可以根据梯度更新后的第三处理网络中的第三编码器的参数,对第四处理网络中的第四编码器的参数进行动量更新。
[0158]
作为示例,参见图4d,根据梯度更新后的第一处理网络中第一映射器的参数,对第二处理网络中的第二映射器的参数进行动量更新,根据梯度更新后的第三处理网络中的第三编码器的参数,对第四处理网络中的第四编码器的参数进行动量更新,并根据梯度更新后的第三处理网络中的第三映射器的参数,对第四处理网络中的第四映射器的参数进行动量更新。
[0159]
如此,由于动量更新的效率显著高于梯度更新,通过对第二处理网络和第四处理网络的参数进行动量更新,从而显著提高了更新效率。
[0160]
在一些实施例中,由于第一处理网络和第三处理网络的输入均为第一低维特征,第二处理网络和第四处理网络的输入均为第二低维特征,因此第一处理网络和第三处理网
络需要采用不同的结构完成低维特征至高维特征的转换,第二处理网络和第四处理网络需要采用不同的结构完成低维特征至高维特征的转换,从而保证得到的第一高维特征和第三高维特征之间保持一定的差异度,第二高维特征和第四高维特征之间保持一定的差异度,确保后续计算得到的第一交叉损失值和第二交叉损失值为非零数值,因为当第一交叉损失值和第二交叉损失值为零值时,将导致第一编码器和第二编码器不进行更新,从而影响更新效果。
[0161]
作为示例,参见图4d,图4d是本技术实施例提供的图像特征提取网络的训练方法的原理示意图。当第三处理网络中包括第三编码器时,即第三处理网络包括第三编码器、第三映射器和第三预测器,此时,由于第三处理网络较之于第一处理网络而言,增设有第三编码器,从而保证得到的第一高维特征和第三高维特征之间保持一定的差异度。此时,第一映射器和第三映射器可以是相同结构的映射器,同时第一映射器和第三映射器的层数可以相同。第一预测器和第三预测器可以是相同结构的预测器,同时第一预测器和第三预测器的层数可以相同。
[0162]
作为示例,参见图4e,图4e是本技术实施例提供的图像特征提取网络的训练方法的原理示意图。当第三处理网络中不包括第三编码器时,即第三处理网络包括第三映射器和第三预测器,此时,为了保证得到的第一高维特征和第三高维特征之间保持一定的差异度,第一映射器和第三映射器可以是相同结构的映射器,但是需要保证第一映射器和第三映射器的层数不同,从而使得第一映射器和第三映射器在处理结果上保持一定的差异度。同样,第一预测器和第三预测器可以是相同结构的预测器,但是需要保证第一预测器和第三预测器的层数不同,从而使得第一预测器和第三预测器在处理结果上保持一定的差异度,从而使得对应的第一交叉损失值有足够的多样性,保证图像特征提取网络的更新效果。
[0163]
将结合本技术实施例提供的服务器的示例性应用和实施,说明本技术实施例提供的基于图像特征提取网络的特征提取方法。
[0164]
下面,参见图3d,图3d是本技术实施例提供的基于图像特征提取网络的特征提取方法的流程示意图,将结合图3d示出的步骤201至步骤203进行说明。
[0165]
在步骤201中,基于与待处理图像对应的第一预处理图像调用训练后的第一编码器进行编码处理,得到第一预处理图像的编码特征。
[0166]
作为示例,参见图4g,图4g是本技术实施例提供的基于图像特征提取网络的特征提取方法的原理示意图,基于与待处理图像x对应的第一预处理图像x1调用训练后的第一编码器进行编码处理,得到第一预处理图像的编码特征y1。
[0167]
在步骤202中,基于与待处理图像对应的第二预处理图像调用训练后的第二编码器进行编码处理,得到第二预处理图像的编码特征。
[0168]
作为示例,参见图4g,基于与待处理图像x对应的第二预处理图像x2调用训练后的第二编码器进行编码处理,得到第二预处理图像的编码特征y2。
[0169]
在步骤203中,将第一预处理图像的编码特征和第二预处理图像的编码特征进行融合处理,得到待处理图像的特征。
[0170]
作为示例,参见图4g,将第一预处理图像的编码特征y1和第二预处理图像的编码特征y2进行融合处理,得到待处理图像的特征y。其中,融合处理的过程可以是第一预处理图像的编码特征y1和第二预处理图像的编码特征y2中对应的每一特征进行加和的过程。
[0171]
如此,通过对第一编码器和第二编码器进行训练,分别得到训练后的第一编码器和训练后的第二编码器,通过训练后的第一编码器和训练后的第二编码器提取图像特征,使得得到的编码特征在下游的图像分类、图像检测以及图像分割等处理过程中取得更加完美的性能表现。
[0172]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0173]
本技术实施例可以具有如下应用场景,例如,人工智能在医疗健康领域(即医疗ai(artificial intelligence))中的应用,已经非常广泛,从应用场景上来看主要由医学影像、药物挖掘、健康管理、可穿戴设备等主要场景。例如,在医学影像应用场景中,通常较难以获取到具有标注信息的训练样本(即医学影像样本),使得图像特征提取网络无法得到有效训练,从而使得医学影像的特征提取效果并不理想。本技术实施例提供的图像特征提取网络的训练方法可以被广泛应用于训练样本缺乏标注信息的应用场景中,或者训练样本的标注信息较难以获取的场景中,有效提高图像特征提取网络的训练效果。
[0174]
本技术实施例提供的图像特征提取网络的训练方法通过并行的cnn编码器(即上文的第一编码器和第二编码器)以及transformer编码器(即上文的第三编码器和第四编码器),并引入图像特征提取网络的训练策略,能够让cnn编码器能够在下游任务(例如图像分类、物体检测、语义分割等)中获得更好的性能表现,使得cnn编码器能够更加有效地学习到更高质量的、更具空间专注度的高维特征。
[0175]
本技术实施例提供的图像特征提取网络的训练方法在设计上引入transformer编码器(即上文的第三编码器和第四编码器)进行辅助训练。本技术实施例利用transformer编码器(即上文的第三编码器和第四编码器)在训练过程中对cnn编码器(即上文的第一编码器和第二编码器)的特征进行针对性地指导与监督,从而使得cnn编码器(即上文的第一编码器和第二编码器)能够更有效地学习到更高质量、更具有空间专注度的高维特征。本技术实施例提供的图像特征提取网络引入了4路前项分支(即上文的第一处理网络、第二处理网络、第三处理网络和第四处理网络),主要包括2路cnn分支(即上文的第一处理网络和第二处理网络)以及两路transformer分支(即上文的第三处理网络和第四处理网络)。参见图5a,图5a是本技术实施例提供的图像特征提取网络的训练方法的原理示意图,其中cnn分支包括两个cnn编码器,两个映射器(projector)和一个预测器(predictor),transformer分支包括两个transformer编码器,两个映射器(projector)和一个预测器(predictor)。本技术实施例在具体实现上,首先将图片x进行两种不同的预处理,后续将两种不同预处理后的图片(x1和x2)分别送入cnn分支的两路得到两类高维特征f1(x)和f2(x),同时还需要将这两种不同预处理的图片输入transformer分支的两路分别得到另外两类高维特征f3(x)和f4(x)。在一次训练中,本技术实施例通过最小化f1(x)与f2(x)的距离来初步训练cnn分支,最小化f3(x)与f4(x)的距离来初步训练transformer分支,同时本技术实施例通过最小化f1(x)与f3(x),以及最小化f2(x)与f4(x)让cnn分支和transformer分支产生交互,即让transformer分支输出的更具空间专注度的特征来监督cnn分支的输出特征,从而在训练过程中逐渐强化cnn编码器的有效特征提取能力。本技术实施例同时提出3个损失函数,从而能够帮助cnn编码器进行更有效的表征学习。
[0176]
本技术实施例通过引入两路transformer编码器(即上文的第三编码器和第四编码器),以此帮助cnn编码器(即上文的第一编码器和第二编码器)进行更有效的学习。通过
transformer编码器对cnn编码器在高层特征上的监督,cnn编码器能够在不同输入图像上都能够更有效地提取更高质量同时更具空间专注度的特征。通过本技术实施例训练得到的cnn编码器(即上文的第一编码器和第二编码器),可以在下游的图像分类,图像检测以及图像分割任务上均得到更好的性能。
[0177]
本技术实施例通过基于正负样本(即上文的第一图像样本和第二图像样本)进行对比的方式,以减小额外的计算开销与内存开销。同时本技术实施例结合transformer编码器(即上文的第三编码器和第四编码器)特有的空间专注度较高,以及兼顾全局特征的优点,提出并行cnn编码器(即上文的第一编码器和第二编码器)及transformer编码器(即上文的第三编码器和第四编码器)的自监督学习框架。通过损失函数的针对性设计,本技术实施例训练得到的图像特征提取网络能够更有效地学习到更高质量的,更具空间关注度的cnn编码器(即上文的第一编码器和第二编码器)。
[0178]
在本技术实施例中,参见图5a,首先将输入图片x(即image x)进行两次不同的预处理得到两个正样本x1和x2,分别用两路cnn分支的两个cnn编码器分别提取x1和x2的两组特征,其中,一路cnn分支的cnn编码器将提取的特征分别输入映射器(projector1)和预测器(predictor1)得到高维特征f1(x),同时将另一路cnn提取的特征仅输入动量更新的映射器(momentum projector1)得到高维特征f2(x)。此外,两路cnn分支提取的两组特征也会被同时输入到transformer分支,其中,一路transformer1分支提取更具空间专注度的特征,并将此特征依次输入到映射器(projector1)和预测器(predictor1)得到高维特征f3(x),另一路transformer分支(momentum transformer1)同样提取相应特征并输入到动量更新的映射器(momentum projector1)得到高维特征f4(x)。从而完成了前向传播的过程,后续通过对f1(x)、f2(x)、f3(x)、f4(x)进行针对性的损失函数(lc、l
att
、l
t
)的设计进行反向传播学习,在反向传播学习的过程中,仅更新cnn分支以及transformer分支中的一路cnn编码器和transformer编码器(即cnn encoder1和transformer1),而cnn分支以及transformer分支中的另外一路cnn编码器和transformer编码器(即momentum cnn encoder1和momentum transformer1)将利用动量更新的手段进行。
[0179]
本技术实施例训练得到的能够有效提取图像特征的cnn编码器。本技术实施例提供的cnn编码器(即上文的第一编码器和第二编码器)具有一定的适用性,因此,在cnn编码器的选取上有着很好的灵活性,例如,resnet50编码器,resnet101编码器以及resnet152编码器等等皆可以作为本技术实施例提供的cnn编码器(即上文的第一编码器和第二编码器)。
[0180]
本技术实施例提供的transformer编码器(即上文的第三编码器和第四编码器)以cnn编码器(即上文的第一编码器和第二编码器)的输出为输入,并输出更具空间专注度性质的特征。本技术实施例所提供的transformer主要包括4个串行的模块,其中单个模块参见图5b,图5b是本技术实施例提供的图像特征提取网络的训练方法的原理示意图。单个模块主要包含由一个1x1的卷积层(即conv layer(1
×
1)),一个多头自注意力层(multi-head self-attention,mhsa)以及额外的一个1x1卷积层(即conv layer(1
×
1))组成。其中多头自注意力层可以很好地学习到具有空间专注度性质的特征,多头自注意力层的结构可以包括第一线性处理结构(wq)、第二线性处理结构(wk)、第三线性处理结构(wv)、失序信息(pos)、归一化处理结构(softmax)、乘积结构(即上文所述的相乘处理)和求和结构(即上文
所描述的求和处理)。
[0181]
本技术实施例提供的映射器(projector)和预测器(predictor)主要结构为多层感知器(multilayer perceptron,mlp)。映射器(projector)和预测器(predictor)皆包含两个全线性连接层(fully connected layers,fc),一个激活层,以及一个标准化层(batch normalization,bn)。
[0182]
本技术实施例提供的图像特征提取网络的训练方法包含3类损失函数。其一,通过比较f1(x)和f2(x)的距离,通过第一类损失函数拉近f1(x)和f2(x)在高层空间的距离从而更好地训练cnn分支。其二,本技术实施例通过比较f3(x)和f4(x)的距离,通过设计transformer分支的损失函数拉近f3(x)和f4(x)在高层空间的距离从而更好地训练transformer分支。其三,本技术实施例通过交互损失函数的设计,比较f1(x)和f3(x)以及f2(x)和f4(x)的距离,通过f3(x)监督f1(x),同时通过f4(x)监督f2(x)。以上的三部分损失函数主要用来更新cnn分支和transformer分支。
[0183]
在本技术实施例中,在cnn分支和transformer分支的上路分支得到更新之后,其下路分支主要通过动量更新的方式来更新参数。所谓动量更新指的主要是利用当前cnn分支和transformer分支的上路分支的参数,以及其之前时刻的参数信息,来动量更新其下路分支的网络参数。
[0184]
本技术实施例通过创造性地引入了transformer分支。利用transformer编码器特有的空间专注度特性,以此来指导监督cnn编码器的训练,从而使得训练得到的cnn编码器能够更有效地提取更高质量的、更具有空间专注度的特征。通过下游任务的实际测试表明,通过本技术实施例训练得到的cnn编码器有着更高的性能。同时本技术实施例对于不同的cnn编码器均能起到正面的性能提升作用,所以本技术实施例提供的图像特征提取网络的训练方法具有一定的普适性。
[0185]
下面继续说明本技术实施例提供的图像特征提取网络的训练装置455a的实施为软件模块的示例性结构,在一些实施例中,如图2a所示,存储在存储器450的图像特征提取网络的训练装置455a中的软件模块可以包括:第一处理模块4551a,用于基于第一图像样本调用第一编码器进行编码处理,得到第一图像样本的第一低维特征,并基于第一低维特征分别调用第一处理网络和第三处理网络,对应得到第一高维特征和第三高维特征;第二处理模块4552a,用于基于第二图像样本调用第二编码器进行编码处理,得到第二图像样本的第二低维特征,并基于第二低维特征分别调用第二处理网络和第四处理网络,对应得到第二高维特征和第四高维特征;第一更新模块4553a,用于根据第一高维特征和第三高维特征确定第一编码器和第二编码器之间的第一交叉损失值,并根据第二高维特征和第四高维特征确定第一编码器和第二编码器之间的第二交叉损失值,基于第一交叉损失值和第二交叉损失值对第一编码器的参数进行梯度更新;第二更新模块4554a,用于根据更新后的第一编码器的参数,对第二编码器的参数进行动量更新。
[0186]
在一些实施例中,上述图像特征提取网络的训练装置455a还包括:第一确定模块,用于根据第一高维特征和第二高维特征之间的差值,确定第一编码器的第一损失值,并根据第三高维特征和第四高维特征之间的差值,确定第一编码器的第二损失值;第三更新模块,用于基于第一损失值和第二损失值对第一编码器的参数进行梯度更新。
[0187]
在一些实施例中,上述第二更新模块4554a,还用于将梯度更新后的第一编码器的
参数与第一编码器对应的权重值进行相乘处理,得到第一动量更新参数;将动量更新前的第二编码器的参数与第二编码器对应的权重值进行相乘处理,得到第二动量更新参数;其中,第一编码器对应的权重值与第二编码器对应的权重值之和为1;将第一动量更新参数和第二动量更新参数进行求和处理,并将求和处理结果确定为动量更新后的第二编码器的参数。
[0188]
在一些实施例中,上述第一处理模块4551a,还用于基于第一低维特征调用第一处理网络中的第一映射器进行映射处理,得到第一映射处理结果;基于第一映射处理结果调用第一处理网络中的第一预测器进行预测处理,将得到的第一预测处理结果作为第一高维特征;基于第一低维特征调用第三处理网络中的第三编码器进行编码处理,得到第三编码结果;基于第三编码结果调用第三处理网络中的第三映射器进行映射处理,得到第三映射处理结果;基于第三映射处理结果调用第三处理网络中的第三预测器进行预测处理,将得到的第三预测处理结果作为第三高维特征。
[0189]
在一些实施例中,上述图像特征提取网络的训练装置455a还包括:第四更新模块,用于基于第一交叉损失值和第二交叉损失值,对第一处理网络和第三处理网络的参数以并行的方式进行梯度更新。
[0190]
在一些实施例中,上述第一处理模块4551a,还用于基于第一低维特征调用第一卷积层进行卷积处理,得到第一卷积处理结果;基于第一卷积处理结果调用自注意力层进行专注度处理,得到专注度处理结果;基于专注度处理结果调用第二卷积层进行卷积处理,得到第二卷积处理结果;将第二卷积处理结果和第一低维特征进行加和处理,得到第三编码结果。
[0191]
在一些实施例中,上述第二处理模块4552a,还用于基于第二低维特征调用第二处理网络中的第二映射器进行映射处理,将得到的第二映射处理结果作为第二高维特征;基于第二低维特征调用第四处理网络中的第四编码器进行编码处理,得到第四编码结果;基于第四编码结果调用第四处理网络中的第四映射器进行映射处理,将得到的第四映射处理结果作为第四高维特征。
[0192]
在一些实施例中,上述图像特征提取网络的训练装置455a还包括:第五更新模块,用于根据更新后的第一处理网络的参数,对第二处理网络的参数进行动量更新;根据更新后的第三处理网络的参数,对第四处理网络的参数进行动量更新。
[0193]
在一些实施例中,上述第二处理模块4552a,还用于基于第二低维特征调用第一卷积层进行卷积处理,得到第一卷积处理结果;基于第一卷积处理结果调用自注意力层进行专注度处理,得到专注度处理结果;基于专注度处理结果调用第二卷积层进行卷积处理,得到第二卷积处理结果;将第二卷积处理结果和第二低维特征进行加和处理,得到第四编码结果。
[0194]
在一些实施例中,上述第二处理模块4552a,还用于将第一卷积处理结果分别进行第一线性处理、第二线性处理和第三线性处理,对应得到第一线性处理结果、第二线性处理结果和第三线性处理结果;将第一线性处理结果和第二线性处理结果分别与对应的权重进行相乘处理,得到与第一线性处理结果对应的第一相乘处理结果和与第二线性处理结果对应的第二相乘处理结果;将第一相乘处理结果和第二相乘处理结果进行相乘处理,得到第三相乘处理结果;将第一线性处理结果和时序信息分别与对应的权重进行相乘处理,得到
与第一线性处理结果对应的第四相乘处理结果和与时序信息对应的第五相乘处理结果;将第四相乘处理结果和第五相乘处理结果进行相乘处理,得到第六相乘处理结果;将第三相乘处理结果和第六相乘处理结果进行求和处理,对得到的求和处理结果进行归一化处理,得到归一化处理结果;将归一化处理结果和第三线性处理结果进行相乘处理,得到专注度处理结果。
[0195]
在一些实施例中,上述图像特征提取网络的训练装置455a还包括:第一预处理模块,用于将待处理图像样本进行第一预处理,得到第一图像样本;第二预处理模块,用于将待处理图像样本进行第二预处理,得到第二图像样本;其中,第一预处理和第二预处理互为逆向处理过程。
[0196]
在一些实施例中,如图2b所示,存储在存储器650的图像特征提取网络的特征提取装置655b中的软件模块可以包括:第一编码模块6551b,用于基于与待处理图像对应的第一预处理图像调用训练后的第一编码器进行编码处理,得到第一预处理图像的编码特征;第二编码模块6552b,用于基于与待处理图像对应的第二预处理图像调用训练后的第二编码器进行编码处理,得到第二预处理图像的编码特征;融合模块6553b,用于将第一预处理图像的编码特征和第二预处理图像的编码特征进行融合处理,得到待处理图像的特征。
[0197]
本技术实施例提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行存储器中存储的可执行指令时,实现本技术实施例提供的图像特征提取网络的训练方法。
[0198]
本技术实施例提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行存储器中存储的可执行指令时,实现本技术实施例提供的基于图像特征提取网络的特征提取方法。
[0199]
本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的图像特征提取网络的训练方法。
[0200]
本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的基于图像特征提取网络的特征提取方法。
[0201]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本技术实施例上述的图像特征提取网络的训练方法。
[0202]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本技术实施例上述的基于图像特征提取网络的特征提取方法。
[0203]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0204]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在
计算环境中使用的其它单元。
[0205]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0206]
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
[0207]
综上,通过本技术实施例具有以下有益效果:
[0208]
(1)通过在第一处理网络和第三处理网络中设置不同数量的映射器和预测器,可以保证了第一处理网络和第三处理网络的差异化处理,使得第一处理网络和第三处理网络所处理得到的高维特征保持一定的差异性,从而使得对应的损失值有足够的多样性,便于后续进行图像特征提取网络的训练。
[0209]
(2)通过差异化处理待处理图像样本,得到第一图像样本和第二图像样本,使得第一图像样本和第二图像样本不完全相同。由于第一图像样本和第二图像样本均源于同一待处理图像样本,从而使得第一图像样本和第二图像样本具有一定的相似度。从而使得第一图像样本和第二图像样本相似但不完全相同,如此,便于后续进行图像特征提取网络的训练。
[0210]
(3)通过对第一编码器和第二编码器进行训练,分别得到训练后的第一编码器和训练后的第二编码器,通过训练后的第一编码器和训练后的第二编码器提取图像特征,使得得到的编码特征在下游的图像分类、图像检测以及图像分割等处理过程中取得更加完美的性能表现。
[0211]
(4)通过基于第一图像样本和第二图像样本分别调用第一编码器和第二编码器进行编码处理,对得到的低维特征分别调用不同的处理网络进行处理,得到对应的高维特征,通过得到的高维特征确定交叉损失值,从而利用交叉损失值对第一编码器进行梯度更新,并根据梯度更新后的第一编码器对第二编码器进行动量更新。由于对于不同的编码器采取完全不同的更新方式进行训练,从而有效提高了图像特征提取网络的训练效率和训练效果。
[0212]
(5)由于动量更新的效率显著高于梯度更新,通过对第二处理网络和第四处理网络的参数进行动量更新,从而显著提高了更新效率。
[0213]
(6)由于第一预测器和第三预测器可以是相同结构的预测器,但是需要保证第一预测器和第三预测器的层数不同,从而使得第一预测器和第三预测器在处理结果上保持一定的差异度,从而使得对应的第一交叉损失值有足够的多样性,保证图像特征提取网络的更新效果。
[0214]
(7)通过让第一编码器与第二编码器在训练的过程中产生交互,从而能够在训练过程中对于不同的编码器采取完全不同的更新方式进行训练,进而能够让图像特征提取网络进行更有效的图像特征的表征学习。
[0215]
(8)归一化处理是提升专注度的处理过程,归一化处理后的处理结果较之于归一化处理之前的待处理数据,能够显著提高待处理数据的专注度。
[0216]
以上,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1