CN109145129B - 基于层次三元组损失函数的深度度量学习方法及其装置 - Google Patents

基于层次三元组损失函数的深度度量学习方法及其装置 Download PDF

Info

Publication number
CN109145129B
CN109145129B CN201811044820.5A CN201811044820A CN109145129B CN 109145129 B CN109145129 B CN 109145129B CN 201811044820 A CN201811044820 A CN 201811044820A CN 109145129 B CN109145129 B CN 109145129B
Authority
CN
China
Prior art keywords
hierarchical
loss function
category
triple
inter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201811044820.5A
Other languages
English (en)
Other versions
CN109145129A (zh
Inventor
黄伟林
戈维峰
董登科
马修·罗伯特·斯科特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yuepu Investment Center LP
Original Assignee
Shenzhen Malong Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Malong Technologies Co Ltd filed Critical Shenzhen Malong Technologies Co Ltd
Priority to CN201811044820.5A priority Critical patent/CN109145129B/zh
Priority to PCT/CN2018/108405 priority patent/WO2020047921A1/zh
Publication of CN109145129A publication Critical patent/CN109145129A/zh
Application granted granted Critical
Publication of CN109145129B publication Critical patent/CN109145129B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种基于层次三元组损失函数的深度度量学习方法及其装置,其中所述方法包括:基于三元组损失函数构建层次类别树;对三元组损失函数进行层次化,得到层次三元组损失函数;使用层次三元组损失函数训练深度神经网络;提取得到目标图像抽取特征,并进行图像搜索,以便于得到目标搜索图像。本发明通过预先构建层次类别树,并基于层次类别树得到层次三元组损失函数,进而通过该层次三元组损失函数对进行对神经网络训练,已提取特征并进行图像搜索,克服了现有的三元组损失函数算法中的样本过于随机的缺点,进行学习、搜索和识别任务的速度快、效率高,并且大大提高了准确度。

Description

基于层次三元组损失函数的深度度量学习方法及其装置
技术领域
本发明涉及图像识别技术领域,更具体地说,涉及一种基于层次三元组损失函数的深度度量学习方法及其装置。
背景技术
在统计学,统计决策理论和经济学中,损失函数是指一种将一个事件(在一个样本空间中的一个元素)映射到一个表达与其事件相关的经济成本或机会成本的实数上的一种函数。更通俗地说,在统计学中损失函数是一种衡量损失和错误(这种损失与“错误地”估计有关,如费用或者设备的损失)程度的函数。在深度卷积神经网络训练中,一般采用三元组损失的方法,去掉卷积神经网络最终的分类层,直接利用三元组损失函数归一化的特征编码。
现有的应用于卷积神经网络学习的三元组损失函数的深度学习方法,在应用于图像搜索任务和人脸识别任务的过程中,存在样本过于随机,导致速度慢、效率低、准确性差的缺点。
发明内容
有鉴于此,本发明提供一种基于层次三元组损失函数的深度度量学习方法及其装置以解决现有技术的不足。
为解决上述问题,本发明提供一种基于层次三元组损失函数的深度度量学习方法,包括:
基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树;
基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数;
基于所述层次三元组损失函数对神经网络进行训练,提取得到目标图像抽取特征,并根据所述目标图像抽取特征进行图像搜索,以便于得到目标搜索图像。
优选地,所述“基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树”包括:
利用标准的三元组损失函数训练得到三元组神经网络模型;
根据所述三元组神经网络模型,得到数据层次化结构;
通过所述数据层次化结构进行计算,得到任意两类之间的类间距离,并通过所述类间距离构建层次类别树。
优选地,所述“通过所述数据层次化结构进行计算,得到任意两类之间的类间距离”包括:
定义任意两个类别,即为第p个和第q个类别,其间的类间距离通过如下公式计算:
Figure BDA0001793023480000021
其中,该公式表征了第p个和第q个类别之间的平均距离,即为类间距离;
优选地,所述类间距离的取值范围为0-4。
优选地,所述层次类别树包括多个层级;其中,平均类内距离作为第0层级的合并阈值;所述层次类别树还包括多个叶子节点;每个所述叶子节点为对应层级的图像类别;
所述“并通过所述类间距离构建层次类别树”,包括:
根据所述类间距离对所述叶子节点进行合并;其中,叶子节点的合并的通过设置所述合并阈值进行合并,构建所述层次类别树;
所述合并阈值,被设定为如下公式:
Figure BDA0001793023480000031
其中,dl为任意两进行合并的阈值,在所述层次类别树中,如果第l层级中任意两类的距离小于dl,即将该两类进行合并。其中d0为类内的平均距离,
Figure BDA0001793023480000032
优选地,所述“基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数”包括:
提取所述层次类别树中第0层级的叶子节点作为目标叶子节点;
基于所述类间距离,对所述目标叶子节点选择与其对应的近邻类别作为锚点类别;
在每个所述锚点类别中随机提取图片,组成训练图片;
搜索所述训练图片组成的三元组对应的动态损失边界,构成与所述动态损失边界对应的所述层次三元组损失函数。
优选地,所述“搜索所述训练图片组成的三元组对应的动态损失边界,构成所述层次三元组损失函数”包括:
对于每一个所述训练图片组成的三元组,通过所述层次类别树计算所述锚点类别和负样本类别之间的类别关系,得到所述动态损失边界,成与所述动态损失边界对应的所述层次三元组损失函数。
此外,为解决上述问题,本发明还提供一种基于层次三元组损失函数的深度度量学习装置,包括:构建模块、层次模块和训练模块;
所述构建模块,用于基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树;
所述层次模块,用于基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数;
所述训练模块,用于基于所述层次三元组损失函数对神经网络进行训练,提取得到目标图像抽取特征,并根据所述目标图像抽取特征进行图像搜索,以便于得到目标搜索图像。
此外,为解决上述问题,本发明还提供一种用户终端,包括存储器以及处理器,所述存储器用于存储基于层次三元组损失函数的深度度量学习程序,所述处理器运行所述基于层次三元组损失函数的深度度量学习程序以使所述用户终端执行如上述所述基于层次三元组损失函数的深度度量学习方法。
此外,为解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于层次三元组损失函数的深度度量学习程序,所述基于层次三元组损失函数的深度度量学习程序被处理器执行时实现如上述所述基于层次三元组损失函数的深度度量学习方法。
本发明提供的一种基于层次三元组损失函数的深度度量学习方法及其装置。其中,本发明所提供的方法包括:基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树;基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数;基于所述层次三元组损失函数对神经网络进行训练,提取得到目标图像抽取特征,并根据所述目标图像抽取特征进行图像搜索,以便于得到目标搜索图像。本发明通过预先构建层次类别树,并基于层次类别树得到层次三元组损失函数,进而通过该层次三元组损失函数对进行对神经网络训练,已提取特征并进行图像搜索,克服了现有的三元组损失函数算法中的样本过于随机的缺点,进行学习、搜索和识别任务的速度快、效率高,并且大大提高了准确度。
附图说明
图1为本发明基于层次三元组损失函数的深度度量学习方法实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明基于层次三元组损失函数的深度度量学习方法第一实施例的流程示意图;
图3为本发明基于层次三元组损失函数的深度度量学习方法第二实施例的流程示意图;
图4为本发明基于层次三元组损失函数的深度度量学习方法第二实施例的步骤S130的细化流程示意图;
图5为本发明基于层次三元组损失函数的深度度量学习方法第三实施例的流程示意图;
图6为本发明基于层次三元组损失函数的深度度量学习方法第三实施例种的步骤S240细化的流程示意图;
图7为本发明基于层次三元组损失函数的深度度量学习装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面详细描述本发明的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的终端的硬件运行环境的结构示意图。
本发明实施例终端可以是的PC,也可以是智能手机、平板电脑、便携计算机等具有一定运算能力的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏、输入单元比如键盘、遥控器,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。可选地,终端还可以包括RF(Radio Frequency,射频)电路、音频电路、WiFi模块等等。此外,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、数据接口控制程序、网络连接程序以及基于层次三元组损失函数的深度度量学习程序。
此外,本发明所提供的基于层次三元组损失函数的深度度量学习方法的运行环境,也可以为如下环境:
应用深度学习软件Caffe,并且运行在NVIDIA TITAN X GPU上;GPU显存为12GB;使用的深度神经网络结构为GoogleNet V2;该神经网络首先被用在ImageNet训练集上进行预训练。
本发明提供的一种基于层次三元组损失函数的深度度量学习方法及其装置。其中,所述方法通过预先构建层次类别树,并基于层次类别树得到层次三元组损失函数,进而通过该层次三元组损失函数对进行对神经网络训练,已提取特征并进行图像搜索,克服了现有的三元组损失函数算法中的样本过于随机的缺点,进行学习、搜索和识别任务的速度快、效率高,并且大大提高了准确度。
实施例1:
参照图2,本发明第一实施例提供一种基于层次三元组损失函数的深度度量学习方法,包括:
步骤S100,基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树;
上述,本发明中,所提供的基于层次三元组损失函数的深度度量学习方法,应用于进行图像搜索任务或者人脸识别任务的深度学习。该算法,可以通过预先定义的层次树来将全局上下文信息进行编码,并收集代表性的训练样本(三元组),从而克服了三元组损失函数的主要缺陷,即训练样本的选择过于随机。
上述,三元组损失函数,即为标准的三元组损失函数。其中,损失函数,是指一种将一个事件(在一个样本空间中的一个元素)映射到一个表达与其事件相关的经济成本或机会成本的实数上的一种函数。
上述,进行深度学习的对应的库,可以为图片库,在本实施例中,图片库中可以包含有不同的类别集合,每个类别中包含有不同的图片。
上述,通过三元组损失函数,进行对所有类别数据进行层次化,进而得到每两个类之间的距离,即为类间距离,进而构建层次类别树。
步骤S200,基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数;
上述,根据类间距离,在层次类别树中对三元组损失函数进行层次化,进而得到层次三元组损失函数,该损失函数可用于进一步的对于神经网络的训练。
步骤S300,基于所述层次三元组损失函数对神经网络进行训练,提取得到目标图像抽取特征,并根据所述目标图像抽取特征进行图像搜索,以便于得到目标搜索图像。
通过利用层次三元组损失函数对神经网络进行训练,从而得到图像库中的图像的目标图像抽取特征,进而可进行根据该特征的图像搜索,以便于得到目标搜索图像。
具体的,在得到目标图像抽取特征后,将目标图像抽取特征与图像库中的图像的图像特征进行比较,得到图像库中的图像对应的相似度值,进而依照相似度值,对图像库中所有图片进行排序,从而根据排序情况找出图像搜索任务或图像识别任务中的需要查找的目标结果,即目标搜索图像。
本实施例中通过预先构建层次类别树,并基于层次类别树得到层次三元组损失函数,进而通过该层次三元组损失函数对进行对神经网络训练,已提取特征并进行图像搜索,克服了现有的三元组损失函数算法中的样本过于随机的缺点,进行学习、搜索和识别任务的速度快、效率高,并且大大提高了准确度。
实施例2:
参照图3-4,本发明第二实施例提供一种基于层次三元组损失函数的深度度量学习方法,基于上述图2所示的第一实施例,所述步骤S100,“基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树”包括:
步骤S110,利用标准的三元组损失函数训练得到三元组神经网络模型;
步骤S120,根据所述三元组神经网络模型,得到数据层次化结构;
上述,在本实施例中,构建一个在类别层面的全局化的层次结构;给定一个预先用标准的三元组损失函数训练好的神经网络模型
Figure BDA0001793023480000091
Figure BDA0001793023480000092
然后通过该神经网络模型(特定的规则,即指任意两个类别通过设定的阈值不断地递归地合并的规则)得到数据的层次化结构。
步骤S130,通过所述数据层次化结构进行计算,得到任意两类之间的类间距离,并通过所述类间距离构建层次类别树。
所述步骤S130,“通过所述数据层次化结构进行计算,得到任意两类之间的类间距离”包括:
步骤S131,定义任意两个类别,即为第p个和第q个类别,其间的类间距离通过如下公式计算:
Figure BDA0001793023480000101
,该公式表征了第p个和第q个类别的平均距离,即为类间距离;
进一步的,所述类间距离的取值范围为0-4。
上述,定义,第p个类别和第q个类别,其间的距离,通过上述公式计算;其中,该公式表征了p类和q类样本之前的训练样本的平均距离。因为深度特征(深度神经网络的特征,即为深度特征,在本实施例中为所述目标图像抽取特征)已经被归一化到单位长度,任意两类之间的距离聚类的取值范围是0-4。通过前述步骤得到的类间距离从而构成层次类别树。
所述层次类别树包括多个层级;其中,平均类内距离作为第0层级(层次类别树的初始层级为0)的合并阈值;所述层次类别树还包括多个叶子节点;每个所述叶子节点为对应层级的图像类别;
所述步骤S130,“并通过所述类间距离构建层次类别树”,还包括:
步骤S132,根据所述类间距离对所述叶子节点进行合并;其中,叶子节点的合并的通过设置所述合并阈值进行合并,构建所述层次类别树;
所述合并阈值,被设定为如下公式:
Figure BDA0001793023480000102
其中,dl为任意两类的距离,在所述层次类别树中,如果第l层级中任意两类的距离小于dl,即将该两类进行合并。
上述,层次类别树中包括多个叶子节点,每个叶子节点为对应的最初的图像类别,其中,每个图像类别代表了第0层级的一个叶子节点;进而将所有叶子节点,利用前述步骤得到的类间距离,不断进行递归合并,从而构建层次类别树。
上述,层次类别树可分为L层级,并且,平均类内距离为d0被用作在0层级进行合并的合并阈值。具体的,通过公式:
Figure BDA0001793023480000111
计算类内的平均距离,用以计算递归合并的公式内计算合并阈值;
进而,这些叶子节点不断通过合并阈值进行合并,其中,在层次类别树中的第l层级,合并阈值设定为
Figure BDA0001793023480000112
其中,如果任意两个类的距离小于dl,则这两个类将进一步被合并。
l层的节点数目为Nl。节点从第0级到第L级被不断的合并。最终,构建生成了层次类别树。这颗构建的层次类别树获取了整个数据集中不同物体类别之间的关系,并且在适当的迭代次数之后被更新。
本实施例中,通过数据层次化结构进行计算,得到任意两类之间的类间距离,并通过类间距离构建层次类别树。其中,构建层次树可以提供训练数据的全局分布,引导训练样本的选择和训练规则,大幅提升收敛速度和精度
实施例4:
参照图5-6,本发明第四实施例提供一种基于层次三元组损失函数的深度度量学习方法,基于上述图4所示的第三实施例,所述步骤S200,“基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数”包括:
步骤S210,提取所述层次类别树中第0层级的叶子节点作为目标叶子节点;
在本实施例中,通过将三元组函数的搜集,转换为层次三元组损失函数。需进行锚点-近邻采样,在构建层次数的第0层级随机选取l′个目标叶子节点。其中,每个目标叶子节点代表了一个初始的类别。在层次类别树的第0级选取,是为了保持每个小批次中图像的多样性,这样的话批量归一化将会更加的稳定和准确。
步骤S220,基于所述类间距离,对所述目标叶子节点选择与其对应的近邻类别作为锚点类别;
上述,基于类间距离,对前述步骤中被选择的锚点类别,再选择m-1个最近的近邻类别,这样就可以保证相似的类别也被放在同一个小批次中,以此来增强神经网络的判别能力。
步骤S230,在每个所述锚点类别中随机提取图片,组成训练图片;
上述,对于每个锚点类别,随机选取其中的t张图片,最终形成n=l′mt张训练图片。
步骤S240,搜索所述训练图片组成的三元组对应的动态损失边界,构成与所述动态损失边界对应的所述层次三元组损失函数。
进一步的,所述步骤S240,“搜索所述训练图片组成的三元组对应的动态损失边界,构成所述层次三元组损失函数”包括:
步骤S241,对于每一个所述训练图片组成的三元组,通过所述层次类别树计算所述锚点类别和负样本类别之间的类别关系,得到所述动态损失边界,成与所述动态损失边界对应的所述层次三元组损失函数。
上述,本实施例中,引入一种动态损失边界,该动态损失边界是本算法与现有的固定边界算法的区别。
其中,作为三元组产生于的动态损失边界中,层次三元组损失函数可以为如下形式
Figure BDA0001793023480000121
其中,公式中az是动态损失边界,与现有的传统三元组损失函数中的固定损失边界具有实质上的区别。其为通过在构建的层次类别树上计算锚点类别ya和负样本类别yn之间的类别关系来得到的。尤其的,对于一个三元组Tz,损失边界az计算方式如下,
Figure BDA0001793023480000131
这里β(=0.1)是一种固定参数来鼓励图像类别在当前迭代中比上一次迭代分离得更加明显。
Figure BDA0001793023480000132
是这颗树的层级高度值。
Figure BDA0001793023480000133
是用来合并两个类别的合并阈值。而公式:
Figure BDA0001793023480000134
则是第ya类样本内的平均距离。在本实施例中的层次三元组损失函数中,从距离上考虑,为一个样本被鼓励去推开附近不同类别的样本,而拉近不同类别的样本。
在本实施例中,通过锚点近邻采样后,得到训练图片,进而对训练图片的三元组进行动态损失边界的获取,从而得到每个三元组对应的层次三元组损失函数,通过本实施例中的动态损失边界的算法,从而使得到的层次三元组损失函数更加准确,计算效率更高。
此外,参考图7,本发明还提供一种基于层次三元组损失函数的深度度量学习装置,包括:构建模块10、层次模块20和训练模块30;
所述构建模块10,用于基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树;
所述层次模块20,用于基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数;
所述训练模块30,用于基于所述层次三元组损失函数对神经网络进行训练,提取得到目标图像抽取特征,并根据所述目标图像抽取特征进行图像搜索,以便于得到目标搜索图像。
此外,本发明还提供一种用户终端,包括存储器以及处理器,所述存储器用于存储基于层次三元组损失函数的深度度量学习程序,所述处理器运行所述基于层次三元组损失函数的深度度量学习程序以使所述用户终端执行如上述所述基于层次三元组损失函数的深度度量学习方法。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于层次三元组损失函数的深度度量学习程序,所述基于层次三元组损失函数的深度度量学习程序被处理器执行时实现如上述所述基于层次三元组损失函数的深度度量学习方法。
横向比较测试实验:
基于本发明中所提供的基于层次三元组损失函数的深度度量学习方法,利用服饰图像检索库和细粒度分类测试库进行横向比较测试试验。
实验对象:
1、作为比较的现有算法:FashionNet+Joints、FashionNet+Poselets、FashionNet、HDC、BIER、LiftedStruct、Binomial Deviance、FashionNet;
2、本发明所提供算法的基准算法:Ours Baseline(Semi Hard NegativeMining);
3、本发明所提供算法中部分算法-锚点近邻采样算法:A-N Sampling;
4、本发明中所提供的基于层次三元组损失函数的深度度量学习方法:HTL。
实验方法:
基于上述实验对象中所包含的作为比较的现有算法、基准算法、锚点紧邻采样算法和基于层次三元组损失函数的深度度量学习方法,通过不同的包含测试图像图片库的数据集进行搜索,进而通过比较目标图像的排名在所得到的搜索结果中是否靠前,使用召回率R@#(#代表制定的排名名次数字,即包含排名名次数字及其之前的数据,如R@10,代表排名前10的召回率;如R@30代表排名前30的召回率等)来衡量目标搜索图像在搜索结果中排名前1、10、20、30、40、和50(售卖服饰检索数据集的最新算法准确率比较),或者排名前1、2、4、8、16和32(在鸟类细分类数据集CUB-200-2011上的图像检索准确率比较)的准确率。
结果与讨论
1、参考下表1,对作为比较的现有算法、基准算法、锚点紧邻采样算法和基于层次三元组损失函数的深度度量学习方法,进行基于售卖服饰检索数据集的最新算法结果的准确率比较;其中,表格中的R@列,为不同参比的算法;行,为搜索结果中的目标图像排名在搜索结果的名次。
其中,HTL比作为比较的现有算法性能在Recall@1上高出18.6%。这证明了三元组损失函数可以极大地提升深度特征的判别能力。不同于当前的最新算法HDL和BIER通过特征集成来提升性能,HTL通过引入全局数据分布来提升性能。HTL在Recall@1指标上高出HDC达18.8%,并且比BIER高出4%。
2、参考下表2,对作为比较的现有算法、基准算法、锚点紧邻采样算法和基于层次三元组损失函数的深度度量学习方法,进行基于在鸟类细分类数据集CUB-200-2011上的图像检索结果准确率的比较;其中,表格中的R@列,为不同参比的算法;行,为搜索结果中的目标图像排名在搜索结果的名次。
其中,在Caltech-UCSD Birds 200-2011鸟类细分类数据集上,本文自行实现的Semi Hard Negative Mining三元组损失函数获得了当前最好的结果。如果采用HTL算法结果可以达到57.1%Recall@1,高出HDC达3.5%,高出BIER达1.8%。
综上,本发明所提供的基于层次三元组损失函数的深度度量学习方法(算法),克服了现有的三元组损失函数算法中的样本过于随机的缺点,进行学习、搜索和识别任务的速度快、效率高,并且大大提高了准确度。
表1、基于售卖服饰检索数据集的算法结果准确率比较
R@ 1 10 20 30 40 50
FashionNet+Joints 41.0 64.0 68.0 71.0 73.0 73.5
FashionNet+Poselets 42.0 65.0 70.0 72.0 72.0 75.0
FashionNet 53.0 73.0 76.0 77.0 79.0 80.0
HDC 62.1 84.9 89.0 91.2 92.3 93.1
BIER 76.9 92.8 95.2 96.2 96.7 97.1
Ours Baseline 62.3 85.1 89.0 91.1 92.4 93.4
A-N Sampling 75.3 91.8 94.3 96.2 96.7 97.5
HTL 80.9 94.3 95.8 97.2 97.4 97.8
表2、基于鸟类细分类数据集(CUB-200-2011)的图像检索结果准确率比较
Figure BDA0001793023480000161
Figure BDA0001793023480000171
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.一种基于层次三元组损失函数的深度度量学习方法,其特征在于,包括:
基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树;
基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数;
基于所述层次三元组损失函数对神经网络进行训练,提取得到目标图像抽取特征,并根据所述目标图像抽取特征进行图像搜索,以便于得到目标搜索图像;
所述“基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数”包括:
提取所述层次类别树中第0层级的叶子节点作为目标叶子节点;
基于所述类间距离,对所述目标叶子节点选择与其对应的近邻类别作为锚点类别;
在每个所述锚点类别中随机提取图片,组成训练图片;
搜索所述训练图片组成的三元组对应的动态损失边界,构成与所述动态损失边界对应的所述层次三元组损失函数;
所述“基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树”包括:
利用标准的三元组损失函数训练得到三元组神经网络模型;
根据所述三元组神经网络模型,得到数据层次化结构;
通过所述数据层次化结构进行计算,得到任意两类之间的类间距离,并通过所述类间距离构建层次类别树;
所述“通过所述数据层次化结构进行计算,得到任意两类之间的类间距离”包括:
定义任意两个类别,即为第p个和第q个类别,其间的类间距离通过如下公式计算:
Figure FDA0002315680340000021
其中,该公式表征了第p个和第q个类别的平均距离,即为类间距离,其中,np为第p类训练样本的个数,nq为第q训练样本的个数,ri为第i个训练样本的深度学习特征,rj为第j个训练样本的深度学习特征;所述类间距离的取值范围为0-4;
所述层次类别树包括多个层级;其中,平均类内距离作为第0层级的合并阈值;所述层次类别树还包括多个叶子节点;每个所述叶子节点为对应层级的图像类别;
所述“并通过所述类间距离构建层次类别树”,包括:
根据所述类间距离对所述叶子节点进行合并;其中,叶子节点的合并的通过设置所述合并阈值进行合并,构建所述层次类别树;
所述合并阈值,被设定为如下公式:
Figure FDA0002315680340000022
其中,dl为任意两类的距离,在所述层次类别树中,如果第一层级中任意两类的距离小于dl,即将该两类进行合并,d0为类内的平均距离。
2.如权利要求1所述基于层次三元组损失函数的深度度量学习方法,其特征在于,所述“搜索所述训练图片组成的三元组对应的动态损失边界,构成所述层次三元组损失函数”包括:
对于每一个所述训练图片组成的三元组,通过所述层次类别树计算所述锚点类别和负样本类别之间的类别关系,得到所述动态损失边界,成与所述动态损失边界对应的所述层次三元组损失函数。
3.一种基于层次三元组损失函数的深度度量学习装置,其特征在于,包括:构建模块、层次模块和训练模块;
所述构建模块,用于基于三元组损失函数得到任意两类之间的类间距离,构建层次类别树;
所述层次模块,用于基于所述层次类别树,通过所述类间距离,对三元组损失函数进行层次化,得到层次三元组损失函数;
所述训练模块,用于基于所述层次三元组损失函数对神经网络进行训练,提取得到目标图像抽取特征,并根据所述目标图像抽取特征进行图像搜索,以便于得到目标搜索图像;
所述层次模块包括用于提取所述层次类别树中第0层级的叶子节点作为目标叶子节点;基于所述类间距离,对所述目标叶子节点选择与其对应的近邻类别作为锚点类别;在每个所述锚点类别中随机提取图片,组成训练图片;搜索所述训练图片组成的三元组对应的动态损失边界,构成与所述动态损失边界对应的所述层次三元组损失函数。
4.一种用户终端,其特征在于,包括存储器以及处理器,所述存储器用于存储基于层次三元组损失函数的深度度量学习程序,所述处理器运行所述基于层次三元组损失函数的深度度量学习程序以使所述用户终端执行如权利要求1-2中任一项所述基于层次三元组损失函数的深度度量学习方法。
5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于层次三元组损失函数的深度度量学习程序,所述基于层次三元组损失函数的深度度量学习程序被处理器执行时实现如权利要求1-2中任一项所述基于层次三元组损失函数的深度度量学习方法。
CN201811044820.5A 2018-09-07 2018-09-07 基于层次三元组损失函数的深度度量学习方法及其装置 Expired - Fee Related CN109145129B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811044820.5A CN109145129B (zh) 2018-09-07 2018-09-07 基于层次三元组损失函数的深度度量学习方法及其装置
PCT/CN2018/108405 WO2020047921A1 (zh) 2018-09-07 2018-09-28 基于层次三元组损失函数的深度度量学习方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811044820.5A CN109145129B (zh) 2018-09-07 2018-09-07 基于层次三元组损失函数的深度度量学习方法及其装置

Publications (2)

Publication Number Publication Date
CN109145129A CN109145129A (zh) 2019-01-04
CN109145129B true CN109145129B (zh) 2020-03-31

Family

ID=64823882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811044820.5A Expired - Fee Related CN109145129B (zh) 2018-09-07 2018-09-07 基于层次三元组损失函数的深度度量学习方法及其装置

Country Status (2)

Country Link
CN (1) CN109145129B (zh)
WO (1) WO2020047921A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009013B (zh) * 2019-03-21 2021-04-27 腾讯科技(深圳)有限公司 编码器训练及表征信息提取方法和装置
CN110059604B (zh) * 2019-04-10 2021-04-27 清华大学 深度均匀人脸特征提取的网络训练方法及装置
CN110889348A (zh) * 2019-11-15 2020-03-17 亚信科技(中国)有限公司 一种提升复杂光线下人脸识别成功率的方法及装置
CN111310054B (zh) * 2020-03-06 2022-05-31 中国科学院信息工程研究所 一种基于自适应Margin对称度量学习的推荐方法和装置
CN111667050B (zh) * 2020-04-21 2021-11-30 佳都科技集团股份有限公司 度量学习方法、装置、设备及存储介质
CN111861909B (zh) * 2020-06-29 2023-06-16 南京理工大学 一种网络细粒度图像分类方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678504A (zh) * 2013-11-19 2014-03-26 西安华海盈泰医疗信息技术有限公司 基于相似度的乳腺图像的匹配图像检索方法及检索系统
CN103902689A (zh) * 2014-03-26 2014-07-02 小米科技有限责任公司 聚类方法、增量聚类方法及相关装置
CN107480785A (zh) * 2017-07-04 2017-12-15 北京小米移动软件有限公司 卷积神经网络的训练方法及装置
CN108399428A (zh) * 2018-02-09 2018-08-14 哈尔滨工业大学深圳研究生院 一种基于迹比准则的三元组损失函数设计方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016100717A1 (en) * 2014-12-17 2016-06-23 Google Inc. Generating numeric embeddings of images
CN108197538B (zh) * 2017-12-21 2020-10-16 浙江银江研究院有限公司 一种基于局部特征和深度学习的卡口车辆检索系统及方法
CN108009531B (zh) * 2017-12-28 2022-01-07 北京工业大学 一种多策略防欺诈的人脸识别方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678504A (zh) * 2013-11-19 2014-03-26 西安华海盈泰医疗信息技术有限公司 基于相似度的乳腺图像的匹配图像检索方法及检索系统
CN103902689A (zh) * 2014-03-26 2014-07-02 小米科技有限责任公司 聚类方法、增量聚类方法及相关装置
CN107480785A (zh) * 2017-07-04 2017-12-15 北京小米移动软件有限公司 卷积神经网络的训练方法及装置
CN108399428A (zh) * 2018-02-09 2018-08-14 哈尔滨工业大学深圳研究生院 一种基于迹比准则的三元组损失函数设计方法

Also Published As

Publication number Publication date
CN109145129A (zh) 2019-01-04
WO2020047921A1 (zh) 2020-03-12

Similar Documents

Publication Publication Date Title
CN109145129B (zh) 基于层次三元组损失函数的深度度量学习方法及其装置
CN109190023B (zh) 协同推荐的方法、装置及终端设备
CN111860872B (zh) 用于异常检测的系统和方法
US9256693B2 (en) Recommendation system with metric transformation
US10713229B2 (en) Index generating device and method, and search device and search method
CN110162665B (zh) 视频搜索方法、计算机设备及存储介质
US20190205331A1 (en) Image search system, image search method, and program
CN108427756B (zh) 基于同类用户模型的个性化查询词补全推荐方法和装置
CN113821657A (zh) 基于人工智能的图像处理模型训练方法及图像处理方法
JP4937395B2 (ja) 特徴ベクトル生成装置、特徴ベクトル生成方法及びプログラム
CN111340213B (zh) 神经网络的训练方法、电子设备、存储介质
US20180032579A1 (en) Non-transitory computer-readable recording medium, data search method, and data search device
CN112528022A (zh) 主题类别对应的特征词提取和文本主题类别识别方法
CN112765362A (zh) 基于改进自编码器的知识图谱实体对齐方法及相关设备
CN115116539A (zh) 对象确定方法、装置、计算机设备和存储介质
CN110968802A (zh) 一种用户特征的分析方法、分析装置及可读存储介质
CN111709473A (zh) 对象特征的聚类方法及装置
CN113782092B (zh) 一种生存期预测模型的生成方法及装置、存储介质
CN115578411A (zh) 抠图模型的样本数据确定方法、装置、设备和存储介质
CN112597363B (zh) 一种用户处理方法、装置、电子设备及存储介质
CN113205124B (zh) 一种基于密度峰值的高维真实场景下的聚类方法、系统及存储介质
CN115082999A (zh) 合影图像人物分析方法、装置、计算机设备和存储介质
CN114913330A (zh) 点云部件分割方法、装置、电子设备与存储介质
CN108170664A (zh) 基于重点关键词的关键词拓展方法和装置
CN114511715A (zh) 一种驾驶场景数据挖掘方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PP01 Preservation of patent right

Effective date of registration: 20211123

Granted publication date: 20200331

PP01 Preservation of patent right
PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20220415

Granted publication date: 20200331

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220706

Address after: Room 368, 302, 211 Fute North Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Yuepu Investment Center (L.P.)

Address before: 518000 floor 33, Yantian modern industry service center, 3018 Shayan Road, Shatoujiao street, Yantian District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN MALONG TECHNOLOGY Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200331